Un prenote; No estoy seguro de si esto cae más en la electrónica o en Arduino, pero creo que los registros de cambios están más relacionados con la electrónica y los binarios.
Estoy usando un solo SN74HC595N registro conectado a mi Arduino Uno. Estoy usando la función shiftOut de Arduino, pero cuando envío un byte, por ejemplo, 11111111
, solo Output1 y Output7 están activos. También probé algunos diferentes, como 01010101
y aún así, la salida no se parecía en nada a lo que esperaría (Excepto 00000000
que hizo lo que esperaba y apagó todos los LED). Aquí hay un gráfico de las conexiones al Arduino:
~ las clavijas de salida están conectadas a LED de 3 mm a través de resistencias; Todo está cableado directamente, pero VCC se demodula con dos 0.1uF y un capacitor de 10uF, que se conecta a GND para filtrar las frecuencias altas y suavizar la entrada
Y mi código simple:
int latchPin = 12;
int clockPin = 11;
int dataPin = 13;
void setup(){
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
digitalWrite(latchPin, LOW);
digitalWrite(clockPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, 1111111);
digitalWrite(latchPin, HIGH);
digitalWrite(clockPin, HIGH);
}
void loop(){
}
Soy nuevo en los registros de cambio (y no estoy familiarizado con los bytes), por lo que me disculpo por cualquier incompetencia, ¡y gracias por la ayuda!
EDITAR: Ahora, cuando envío 11111111, recibo los pines 0, 1, 2, 3 y 7 para encender. Confirmé esto con mi multímetro, los pines activos leen 4,85 voltios, mientras que los pines desactivados leen 0 voltios.