I use Arduino Uno and IC Max7219 to control led matrix 8x8. My led display normally until i turn on 4 leds in 1 column, it turn off imediately. I don't know why. I still can turn on 8 leds in 1 row. Can some one help me?
We can't help you from the tiny amount of information you gave. Please read the forum guide in the sticky post to find out what you need to post and how to post it. Perhaps then we will be able to help.
Quick guess - you are not attempting to power the MAX7219 module from the 5 V terminal on the UNO when powering it from the "Barrel jack" or the "Vin" terminal, are you?
You can only do that for a couple of modules if you are powering it through USB. The regulator in the UNO cannot supply other devices.
PaulRB:
We can't help you from the tiny amount of information you gave. Please read the forum guide in the sticky post to find out what you need to post and how to post it. Perhaps then we will be able to help.
oh. Im so sorry. Im a fresh man. I will post more information.
Paul__B:
Quick guess - you are not attempting to power the MAX7219 module from the 5 V terminal on the UNO when powering it from the "Barrel jack" or the "Vin" terminal, are you?You can only do that for a couple of modules if you are powering it through USB. The regulator in the UNO cannot supply other devices.
I use 5v terminal to power IC and led matrix. The problem is when the 4th Led of one Column it will be off all of them. Example:
m.setDot(6,0,true);
delay(1000);
m.setDot(6,1,true);
delay(1000);
m.setDot(6,2,true);
delay(1000);
m.setDot(6,3,true);
It will turn on led 6,0 then 6,1 then 6,2 then turn off all.
The rule is: don't post useless snippets. Is this in the loop and happens repeatedly, or what?
Post your whole code. Read the instructions and use the "code" tags.
yashatan:
I use 5v terminal to power IC and led matrix.
Possibly so, but what does that mean? How are you using the 5V terminal? How are you powering your UNO?
Here is my code bro.
#include <MaxMatrix.h>
int DIN = 7; // DIN pin of MAX7219 module
int CLK = 6; // CLK pin of MAX7219 module
int CS = 5; // CS pin of MAX7219 module
int maxInUse = 1;
MaxMatrix m(DIN, CS, CLK, maxInUse);
void setup() {
m.init(); // MAX7219 initialization
m.setIntensity(5); // initial led matrix intensity, 0-15
}
void chua(){
m.setColumn(0, B00111100);
delay(1000);
m.setColumn(1, B01000010);
m.setColumn(2, B10000001);
m.setColumn(3, B11111111);
m.setColumn(4, B10000001);
m.setColumn(5, B10000001);
m.setColumn(6, B10000001);
m.setColumn(7, B10000001);
delay(1000);
}
void loop() {
// Seting the LEDs On or Off at x,y or row,column position
m.setDot(6,0,true);
delay(1000);
m.setDot(6,1,true);
delay(1000);
m.setDot(6,2,true);
delay(1000);
m.setDot(6,3,true);
}
I power my UNO by USB port and use 5v terminal of UNO to power IC Max7219.
I can't see a problem with your sketch. Does the same fault happen if you choose any other column?
You say you can light 8 LEDs on a row. Is that true for every row?
It is time you posted the other things suggested in the forum guide.
@OP
Your program is slightly enlarged, and now it brings all LEDs of Col-6 one after another at 1-sec interval.
#include <MaxMatrix.h>
int DIN = 7; // DIN pin of MAX7219 module
int CLK = 6; // CLK pin of MAX7219 module
int CS = 5; // CS pin of MAX7219 module
int maxInUse = 1;
MaxMatrix m(DIN, CS, CLK, maxInUse);
void setup() {
m.init(); // MAX7219 initialization
m.setIntensity(5); // initial led matrix intensity, 0-15
}
void chua() {
m.setColumn(0, B00111100);
delay(1000);
m.setColumn(1, B01000010);
m.setColumn(2, B10000001);
m.setColumn(3, B11111111);
m.setColumn(4, B10000001);
m.setColumn(5, B10000001);
m.setColumn(6, B10000001);
m.setColumn(7, B10000001);
delay(1000);
}
void loop()
{
// Seting the LEDs On or Off at x,y or row,column position
m.setDot(6, 0, true);
delay(1000);
m.setDot(6, 1, true);
delay(1000);
m.setDot(6, 2, true);
delay(1000);
m.setDot(6, 3, true);
delay(1000);
m.setDot(6, 4, true);
delay(1000);
m.setDot(6, 5, true);
delay(1000);
m.setDot(6, 6, true);
delay(1000);
m.setDot(6, 7, true);
}
Short version of your program:
#include <MaxMatrix.h>
int DIN = 7; // DIN pin of MAX7219 module
int CLK = 6; // CLK pin of MAX7219 module
int CS = 5; // CS pin of MAX7219 module
int maxInUse = 1;
MaxMatrix m(DIN, CS, CLK, maxInUse);
void setup()
{
m.init(); // MAX7219 initialization
m.setIntensity(5); // initial led matrix intensity, 0-15
}
void loop()
{
// Seting the LEDs On or Off at x,y or row,column position
for(int i=0; i<8; i++)
{
m.setDot(6, i, true);
delay(1000);
}
}
i have this problem and i change this:
LedControl lc=LedControl(DIN,CLK,CS,1);
to
LedControl lc=LedControl(DIN,CLK,CS,0);
and it fixed and work well.
yashatan:
I use Arduino Uno and IC Max7219 to control led matrix 8x8. My led display normally until i turn on 4 leds in 1 column, it turn off imediately. I don't know why. I still can turn on 8 leds in 1 row. Can some one help me?
Please go through the data sheet of 7219 and strictly calculate the value of your segment current of the led and select Rset to the higher side that has solved my problem which took 2 whole days for me to troubleshoot.