matriz de 3x3 LED arduino

5

estoy intentando obtener una matriz de 3x3 con multiplexación en funcionamiento. Aquí está mi configuración:

He conectado los cátodos de cada fila y los ánodos de cada columna y lo he conectado a los pines 0,1,2 resp. 8,9,10

lo único que puedo sacar a la luz es la fila más baja, pero si quiero iluminar la fila central, por ejemplo, con esto:

digitalWrite(8, HIGH);     
digitalWrite(9, HIGH);     
digitalWrite(10, HIGH);     

digitalWrite(0, HIGH);
digitalWrite(1, LOW);
digitalWrite(2, HIGH);

no pasa nada.

¿es incorrecta mi configuración de cableado?

    
pregunta clamp

4 respuestas

5

Aquí hay un bosquejo de lo que ha descrito para mayor claridad y beneficio para otros:

Cosasbuenasquehacerenestepunto:

  • AsegúresedetenerresistenciaslimitadorasactualesenserieconcadaLED.560Ωselimitaráa~6mA.Siestosnoestánactualmenteensulugar,algunosLEDpuedenquemarse,asíqueverifíquelos.ElATmega128/328(elqueestéensuplaca)estálimitadoa*20mAporpin**.
  • Verifiquequelospinesrealmenteesténenaltoobajocuandolosprogrameparahacerlo,conunvoltímetroosondalógica.

*Debocorregirme,aquí.Estaeslarestricciónreal:

  

27.1Calificacionesmáximasabsolutas
AVISO:lastensionesmásalládelasenumeradasen"Calificaciones máximas absolutas" pueden causar daños permanentes al dispositivo. Esta es solo una clasificación de tensión y el funcionamiento funcional del dispositivo en estas u otras condiciones más allá de las indicadas en las secciones operativas de esta especificación no está implícito. La exposición a las condiciones de calificación máxima absoluta durante períodos prolongados puede afectar la confiabilidad del dispositivo.   ...

DC Current per I/O Pin             40.0 mA  
DC Current V and GND Pins       200.0 - 400.0 mA 
     

...
  Aunque cada puerto de E / S puede hundir más que las condiciones de prueba (20 mA a VCC = 5V, 10 mA a VCC = 3V) en estado estable   En condiciones (no transitorias), se debe observar lo siguiente:   Paquete TQFP y QFN / MLF:   1] La suma de todas las LIO, para todos los puertos, no debe exceder los 400 mA.   2] La suma de todas las IOL, para los puertos A0 - A7, G2, C3 - C7 no debe exceder de 100 mA.   3] La suma de todas las IOL, para los puertos C0 - C2, G0 - G1, D0 - D7, XTAL2 no debe exceder de 100 mA.   4] La suma de todas las IOL, para los puertos B0 - B7, G3 - G4, E0 - E7 no debe exceder de 100 mA.   5] La suma de todas las IOL, para los puertos F0 - F7, no debe exceder de 100 mA.   Si la IOL excede la condición de prueba, VOL puede exceder la especificación relacionada. No se garantiza que los pernos hundan la corriente   que la condición de prueba enumerada.

    
respondido por el tyblu
2

Sin limitación de corriente, está contando con el micro para limitar la corriente. Al encender varias salidas a la vez está consumiendo mucha corriente. Yo agregaría 3 resistencias al bus alto, 330-560 ohmios a las salidas en 8, 9, 10. Encienda solo un led a la vez. Si necesita la aparición de varios LEDs encendidos en una instancia, puede sincronizar las salidas más rápido en sucesión.

    
respondido por el SteveR
1

No creo que puedas multiplexar así. Está utilizando todos esos pines como salidas, es decir, digitalWrite (X, HIGH) hace que la salida del pin X +5 voltios. Para usar dos salidas juntas, necesita algún tipo de interruptor (por ejemplo, una puerta AND o alguna configuración de transistores). Yo diría que sería mejor usar un registro de desplazamiento (3 entradas a 8) o simplemente usar 9 líneas de salida desde la placa, una para cada LED, luego escribir el código para controlar la matriz.

Espero que esto ayude :)

    
respondido por el user3694
1

Su configuración se ve correcta. Sin embargo, los pines digitales 0 y 1 de Aruino también son de entrada / salida en serie. Si también está utilizando la comunicación en serie, no puede utilizarlos como entrada digital. Trate de usar otros pines.

    
respondido por el tuupola

Lea otras preguntas en las etiquetas