I have a common anode bi-color led matrix with 24 pins and want to drive two of these using one microcontroller . So I decided to try Max7219 driver for that. But being a novice I'm having a hard time figuring out what to do and the online resources seem to be centered around arduino. I did find a library developed by Davide Gironi. But it seems to be working with a common cathode matrix. So I changed the rows to columns to adapt with the common anode structure but with no luck. Can you please give me some clues to where to look for the solution?
Driving a bi-color 8*8 led matri with Max7219 and Atmega 16 or similar microcontroller
541 views Asked by Shahad Ishraq At
1
There are 1 answers
Related Questions in MICROCONTROLLER
- ESP32 Consequtive Interrupt WDT Timeout Exception
- STM32G030 refuses write to flash
- can't configurate VL53l0x api
- STM32L011K4Tx Compare toggle not working as expected
- How to get PC of first instruction of inline asm block (C)?
- ESP-32 (FreeRTOS): The serial monitor prints unknown symbols (???) instead of a string
- SWO on a Blackpill board
- I2C LCD1602 interfacing with PIC16F877A
- J-Link script to flash program in S32K144 (allow security)
- Design of a function that modifies from 1-4 values of a register
- Is it possible to change values of the zephyr-rtos configuration file prj.conf using CMake arguments?
- Memory Aliasing to a specific Flash Sector
- How to make a proper delay in a microcontroller?
- USART to serial monitor/pc STM32
- How to use a c++ class as wrapper for timer-interrupts on RP2040 (RPPico)
Related Questions in AVR
- AVR Assembly Clock Cycle
- LED matrix incorrectly displays data from structures
- 8-bit AVR: single instruction to put a value of 1, ~1(-2/0xfe) or 4 into one of the registers not eligible for immediate operands (r0...r15)?
- Ultrasonic range finder HC-SR04 using one timer
- C++ optimization comparing inline classes and functions doesn't seem good enough
- Global variable value doesn't change in ISR in C
- ATTiny1606 Timer TCA0 interrupt not triggering
- AVR-GCC (Arduino) - IEEE 754/IEC 559 compliance
- non-restoring division: how to avoid code bloat for divisor MSB set?
- Problems setting up an AVR MCU programmer in Eclipse 2024-03
- "avr/io.h" not found when compiling assembly for ATmega128
- Ugly Triple Indirection: Extensible Buffer Management Struct
- I didn't receive what I'm expecting via UART communication
- drive ws2812b using avr timer, fast pwm and interrupts
- Might there be a bug at the EEPROM write simulator in ATMEL/Microchip Studio?
Related Questions in ATMEGA16
- How to define variables that share the same ram area in avr studio 7?
- ATMEGA16U2 Serial Communication
- How to convert binary decimal into binary hex?
- Implementing Admin menu in Codevision project with RFID-RC522 reader and ATMEGA164a, trouble in enrollment of key tags
- LCD displays garbage before restarting the power
- Rust: build for atmega16
- ATmega16A SMD Package Stop Working after afew hours
- AVR-GCC Overwrites Interrupt Vector Table with Main
- Why doesn't my LED turn on when a certain distance is measured? Atmega328p and ultrasonic HC-SR04 sensor
- Can not decode data from serial port arduino send to mqtt server mosquitto
- Avra .db directive doesn't seem to be working properly
- How Arduino tone() was created?
- ATMEGA16L Pull-up isn't active
- what is the best way to synchronize the serial communication between two microcontrollers using UART?
- Is that the right way to check if an existing password is stored?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
I'd try to light up a single led first, then a row and column without the library. Once you have a good understanding how it works you can either write a library yourself or adapt the low level driver firmware in the library you're using. Once you've got working code, you can debug the library until it works.
Here's some pseudo code. I'm not very familiar with the exact functions of Atmega 16 but I'm sure you're able to to replace the delay and port configuration with the proper code.