Estoy tratando de obtener una matriz de 3x3 con multiplexación en funcionamiento. He aquí mi arreglo:
He conectado los cátodos de cada fila y los ánodos de cada columna y los he conectado a los pines 0,1,2 resp. 8,9,10
lo único que puedo iluminar es la fila más baja, pero si quiero iluminar la fila del medio, 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.
¿Mi configuración de cableado es incorrecta, tal vez?
Aquí hay un bosquejo de lo que ha descrito para mayor claridad y beneficio para los demás:
Cosas buenas que hacer en este punto:
* Debo corregirme, aquí. Esta es la restricción real:
27.1 Valores nominales máximos absolutos
AVISO: Las tensiones más allá de las enumeradas en "Valores nominales máximos absolutos" pueden causar daños permanentes al dispositivo. Esta es solo una clasificación de estrés y no implica la operación funcional del dispositivo en estas u otras condiciones más allá de las indicadas en las secciones operativas de esta especificación. La exposición a condiciones de clasificació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 hundirse más que las condiciones de prueba (20 mA a VCC = 5 V, 10 mA a VCC = 3 V) en condiciones de estado estable (no transitorio), se debe observar lo siguiente: TQFP y QFN /Paquete MLF: 1] La suma de todas las LIO, para todos los puertos, no debe exceder los 400 mA. 2] La suma de todas las LIO, para los puertos A0 - A7, G2, C3 - C7 no debe exceder los 100 mA. 3] La suma de todas las LIO, para los puertos C0 - C2, G0 - G1, D0 - D7, XTAL2 no debe exceder los 100 mA. 4] La suma de todas las LIO, para los puertos B0 - B7, G3 - G4, E0 - E7 no debe exceder los 100 mA. 5] La suma de todas las LIO, para los puertos F0 - F7, no debe exceder los 100 mA. Si la LIO supera la condición de prueba, el VOL puede superar la especificación relacionada. No se garantiza que los pines absorban una corriente mayor que la condición de prueba indicada.
Sin limitación de corriente, cuenta con el micro para limitar la corriente. Al encender varias salidas a la vez, se consume mucha corriente. 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 LED encendidos a la vez, puede sincronizar las salidas más rápido en sucesión.
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 sea de +5 voltios. Para usar dos salidas juntas, necesita algún tipo de interruptor (por ejemplo, una puerta AND o alguna configuración de transistores). Diría que sería mejor usar un registro de desplazamiento (3 entradas a 8) o simplemente usar 9 líneas de salida de la placa, una para cada LED, luego escribir el código para controlar la matriz.
Espero que esto ayude :)
Su configuración parece correcta. Sin embargo, los pines digitales 0 y 1 de Aruino también son entrada/salida en serie. Si también está utilizando comunicación en serie, no puede usarlos como entrada digital. Intenta usar otros pines.
vicatcu
vicatcu
tiblu
davidcary