Como usar o registro de turno 10HCTOP 105 Top 105 com Arduino

Como usar o registro de turno 10HCTOP 105 Top 105 com Arduino

Todas as placas Arduino vêm com um número especificado de pinos de E/S e se houver um grande número de dispositivos que devem ser conectados com a placa Arduino, o problema da escassez de pinos pode surgir. Para atender a esse problema, existem registros de turno através dos quais podemos aumentar o número de pinos de E/S do Arduino. Como esses registros de turno funcionam e como podemos usá -los com Arduino, vamos descobrir:

Como os registros de turno funcionam

Conforme descrito acima, o registro de mudança é usado principalmente para resolver a escassez de microcontrolador de pinos, caso um grande número de dispositivos seja interfocado com o microcontrolador. O registro de turno muda os dados de um pouco para outro em relação aos pulsos do relógio do registro e os dados que ele muda são armazenados nele. Existem três pinos principais do registro de turno: um é o pino do relógio, o segundo é o pino de trava e o terceiro é o pino de dados.

A configuração do pino de um único registro de turno (74HC595) é apresentado abaixo na tabela:

Categoria de pinos (do lado esquerdo de Grove) Números de pinos Representação Descrição
Pinos de saída 1-7 e 15 Q1 a Q7, Q0 Pinos nos quais o dispositivo deve ser interfocado com o controlador
Pinos de potência 8 e 16 GND, VCC Pinos que ligam o registro do turno
Entrada serial 14 (Ds) serin PIN que recebe os dados do controlador através da comunicação serial
Saída Ativar 13 OE Este pino é baixo quando a tensão é alta e vice -versa
Pino de trava 12 (St_cp) rclk Quando este pino é alto, os dados são enviados para os pinos de saída e também são armazenados na memória
Pino do relógio 11 (Sh_cp) Pino do relógio para o registro de turno
Redefinir pino 10 (Sh_cp) srclr PIN Use para redefinir o registro, dando -lhe baixo estado
Interface de outros registros 9 Q7S (QH ') Quando mais de um registro devem ser usados, este pino é usado

Usando o Shift Register com Arduino

Para explicar como podemos usar o Shift Register com Arduino, demonstramos um exemplo de conexão de vários LEDs com Arduino Uno através de um registro de turno. Aqui está a lista de componentes que usamos neste exemplo:

  • Pão de pão
  • Conectando fios
  • 8 LEDs
  • Arduino Uno
  • 74HC595 Registro de turno

Projetamos o circuito usando os componentes listados acima e seu esquema é apresentado abaixo:

Conjunto de hardware para usar o Shift Register com Arduino UNO

Para ver como será o circuito na placa de ensaio, fizemos o conjunto de hardware como na imagem abaixo:

Para o seu entendimento, explicamos as conexões dos componentes usados ​​nos circuitos:

  • O fio roxo mostra a conexão do pino de dados do registro de mudança com o Arduino usando seu pino 4.
  • O fio branco representa a conexão para o pino de trava com Arduino Uno que está conectado ao seu pino 5, enquanto o fio marrom é usado para conectar o relógio do registro de mudança com o Arduino usando seu pino 6.
  • Para conectar os LEDs com o registro de turno, usamos os fios cinza e o aterramento dos LEDs é feito usando os fios pretos.
  • Para conectar o registro de turno com o suprimento, usamos a opção de 5 volts do Arduino de seus pinos de fonte de alimentação.

Código Arduino para usar o Shift Register com Arduino Uno

Para usar o Shift Register com o Arduino, temos que configurá -lo programando o microcontrolador, portanto, abaixo, fornecemos o código:

Int trave
int relógio = 6; // pinos 6 de Arduino para o pino do relógio do registro de turno
int dados = 4; // pinos 4 de Arduino para obter dados de dados do registro de turno
byte LED = 0; // variável que economizará o valor dos LEDs
configuração void ()

// atribuindo os modos de trabalho aos pinos do registro de turno
pinmode (trava, saída);
pinmode (dados, saída);
pinmode (relógio, saída);

Void Loop ()

LED = 0; // No início, todos os LEDs permanecerão no estado off
Registro de deslocamento(); // Ligue o próximo LED
atraso (500);
para (int i = 0; i < 8; i++) // loop that will turn the LED one by one

Bitset (LED, I); // atribuindo os respectivos valores altos
Shiftregister (); // Desligue o LED anterior
atraso (500);


// função que atualizará o registro após cada iteração de loop
Void Shiftregister ()

DigitalWrite (trava, baixo);
shiftout (dados, relógio, lsbfirst, LED);
DigitalWrite (trava, alta);

Demonstração de hardware

Implementamos o circuito projetado para interface o registro de mudança de 74hc595 com Arduino Uno de acordo com a montagem de hardware que descrevemos anteriormente. Para demonstrar como transformamos os LEDs em um padrão, damos o GIF animado abaixo:

Conclusão

Os registros de turno são usados ​​principalmente quando precisamos aumentar os pinos de E/S dos microcontroladores para que possamos interagir com mais dispositivos com ele. Para demonstrar como podemos usar o registro de turno, interface 8 LEDs com o microcontrolador Arduino usando apenas seus 3 pinos. Para esclarecimentos adicionais, damos o esquema de circuito e sua implementação de hardware junto com o esboço Arduino usado para programar o controlador.