Cómo usar el registro de turno Top 10HCTOP 105 con Arduino

Cómo usar el registro de turno Top 10HCTOP 105 con Arduino

Todos los tableros Arduino vienen con un número especificado de pines de E/S y si hay una gran cantidad de dispositivos que se conectarán con la placa Arduino, podría surgir el problema de la escasez de pines. Para atender este problema, hay registros de turno a través de los cuales podemos aumentar el número de pines de E/S del Arduino. Cómo funcionan estos cambios de cambio y cómo podemos usarlos con Arduino, descubramos:

Cómo funcionan los registros de turno

Como se describió anteriormente, el registro de cambio se usa principalmente para resolver la escasez de PIN del microcontrolador en caso de que una gran cantidad de dispositivos se interactúe con el microcontrolador. El registro de cambio cambia los datos de un bit a otro con respecto a los pulsos del reloj del registro y los datos que cambia se almacenan en él. Hay tres pines principales del registro de cambio: uno es el pin del reloj, el segundo es el pin de pestillo y el tercero es el pin de datos.

La configuración PIN de un solo registro de cambio (74HC595) se proporciona a continuación en la tabla:

Categoría PIN (desde el lado izquierdo de Grove) Números de pines Representación Descripción
Pasadores de salida 1-7 y 15 Q1 a Q7, Q0 Pines en los que el dispositivo debe estar interactuado con el controlador
Alfileres de potencia 8 y 16 GND, VCC Pins que encenderán el registro de turno
Entrada en serie 14 (Ds) serina PIN que recibe los datos del controlador a través de la comunicación en serie
Activación de salida 13 OE Este pasador es bajo cuando el voltaje es alto y viceversa
Alfiler 12 (ST_CP) RCLK Cuando este pin es alto, los datos se envían a los pines de salida y también se almacenan en la memoria
pasador de reloj 11 (Sh_cp) Pin de reloj para el registro de cambio
Reinicio 10 (Sh_cp) srclr Pin se usa para restablecer el registro dándole un estado bajo
Interfaz de otros registros 9 Q7S (QH ') Cuando se utilizarán más de un registro, se usa este pin

Usando el registro de turno con Arduino

Para explicar cómo podemos usar el registro de turno con Arduino, hemos demostrado un ejemplo de conectar múltiples LED con Arduino UNO a través de un registro de turno. Aquí está la lista de componentes que hemos usado en este ejemplo:

  • Tablero de circuitos
  • Conectando cables
  • 8 LED
  • Arduino Uno
  • Registro de turno 74HC595

Hemos diseñado el circuito utilizando los componentes enumerados anteriormente y su esquema se proporciona a continuación:

Ensamblaje de hardware para usar el registro de turno con Arduino Uno

Para ver cómo se verá el circuito en la placa, primero hemos hecho el conjunto de hardware como en la imagen a continuación:

Para su comprensión, hemos explicado las conexiones de los componentes utilizados en los circuitos:

  • El cable púrpura muestra la conexión de pin de datos del registro de cambio con Arduino usando su pin 4.
  • El cable blanco representa la conexión para el pin de pestillo con Arduino Uno que está conectado a su pin 5, mientras que el cable marrón se usa para conectar el reloj del registro de cambio con Arduino usando su pin 6.
  • Para conectar los LED con el registro de cambio, hemos usado los cables grises y la conexión a tierra de los LED se realiza utilizando los cables negros.
  • Para conectar el registro de cambio con el suministro hemos utilizado la opción de 5 voltios del Arduino desde sus pasadores de fuente de alimentación.

Código Arduino para usar el registro de turno con Arduino Uno

Para usar el registro de turnos con Arduino, tenemos que configurarlo programando el microcontrolador, por lo que a continuación hemos proporcionado el código:

int Latch = 5; // pines 5 de Arduino para el pin del Pin del Latch del registro de turno
int clock = 6; // pines 6 de Arduino para el pin del reloj del registro de turno
int data = 4; // pines 4 de Arduino para el pin de datos del registro de turno
byte led = 0; // variable que guardará el valor de los LED
Configuración vacía ()

// Asignación de los modos de trabajo a los pines del registro de turno
PinMode (pestillo, salida);
PinMode (datos, salida);
PinMode (reloj, salida);

bucle vacío ()

LED = 0; // Al comienzo, todos los LED permanecerán dentro del estado
ShiftreGister (); // enciende el siguiente LED
retraso (500);
para (int i = 0; i < 8; i++) // loop that will turn the LED one by one

bitset (led, i); // Asignación del LED respectivo los valores altos
ShiftreGister (); // Apague el LED anterior
retraso (500);


// función que actualizará el registro después de cada iteración de For Loop
vacío ShiftreGister ()

DigitalWrite (Latch, Low);
ShiftOut (datos, reloj, LSBFirst, LED);
DigitalWrite (Latch, High);

Demostración de hardware

Hemos implementado el circuito diseñado para interactuar el registro de turnos 74HC595 con Arduino Uno de acuerdo con el ensamblaje de hardware que hemos descrito anteriormente. Para demostrar cómo hemos vuelto los LED en un patrón, hemos dado el GIF animado a continuación:

Conclusión

Los registros de turno se usan principalmente cuando tenemos que aumentar los pines de E/S de los microcontroladores para que podamos interactuar más dispositivos con él. Para demostrar cómo podemos usar el registro de cambio, interfaz 8 LED con el microcontrolador Arduino solo usando sus 3 pines. Para una mayor aclaración, hemos dado un esquema de circuito y su implementación de hardware junto con el boceto de Arduino utilizado para programar el controlador.