He seguido el tutorial aquí MAX7219
Ahora, cuando lo conecto a una pantalla de 4 dígitos y 7 segmentos, y ejecuto cualquier código que cambie la pantalla, se iluminan todos los segmentos en todos los dígitos.
#include "LedControl.h" // need the library
LedControl lc=LedControl(12,11,10,1); // lc is our object
// pin 12 is connected to the MAX7219 pin 1
// pin 11 is connected to the CLK pin 13
// pin 10 is connected to LOAD pin 12
// 1 as we are only using 1 MAX7219
void setup()
{
// the zero refers to the MAX7219 number, it is zero for 1 chip
lc.shutdown(0,false);// turn off power saving, enables display
lc.setIntensity(0,8);// sets brightness (0~15 possible values)
lc.clearDisplay(0);// clear screen
}
void loop()
{
lc.setDigit(0,0,'0',false);
delay(1000);
lc.setDigit(0,0,'7',false);
delay(1000);
}
El código anterior debería borrar la pantalla para que todos los segmentos estén apagados y cambiar el primer dígito a '0', luego a '7' y repetir.
No importa cómo cambie el código, esto no sucede, simplemente permanecen encendidos, incluso he vuelto a cablear varias veces y probé un IC diferente.
¿Alguien ha tenido alguna experiencia con esta configuración o estos chips? He leído que 2 condensadores entre + 5v y GND ayudan, así que los agregué 10uF (Electrolítico) y 100nF. No, todavía no hay cambios.
Cualquier ayuda o idea sería genial, no tengo un analizador lógico para depurar (¡Obtendré uno en Navidad!).
Gracias, Hughesy
+1: necesita una pantalla de cátodo común; y no necesita los apóstrofes alrededor del 7 o el 0, por ejemplo, solo usa:
lc.setDigit(0,0,0,false);
He escrito bastante sobre el MAX7219 aquí .
Jim