Em ARDUINO temos 20 pinos de E / S, portanto podemos programar 20 pinos de UNO para serem usados como entrada ou saída. Embora haja mais pinos no controlador ATMEGA328P do que no UNO, isso ocorre porque, durante o projeto da placa, alguns pinos são padronizados.
Agora, para algumas aplicações, precisamos de mais de 30 pinos, digamos, se quisermos projetar um CUBO LED 5x5x5, para isso precisamos de 5x5 + 5 = 30 pinos. Para tais casos, usamos chips de conversor serial para paralelo ou registrador de deslocamento. Um chip de registro de deslocamento recebe dados da placa UNO em série e fornece saída em configuração paralela de 8 bits.
Componentes necessários
Hardware: placa Arduino uno, pinos de conexão, resistor 220Ω, LED (oito peças), 74HC595 IC, placa de pão.
Software: Arduino noturno
Diagrama de circuito e explicação de trabalho
Aqui, enviaremos dados em tamanho de oito bits por meio de um único canal para o registrador de deslocamento. O registrador de deslocamento pega os dados em série e os armazena em sua memória. Uma vez que os dados são enviados pelo controlador, vamos enviar um comando ao shift register para mostrar os dados na saída, com este comando o shift register coloca os dados em paralelo.
Esta saída é mostrada por oito LEDs conectados na saída.
Para conectar o registrador de deslocamento ao Arduino UNO, precisamos fazer duas coisas:
|
Primeiro, precisamos definir quaisquer três pinos de UNO como saída. Em seguida, precisamos conectar o pino digital, pino de clock e pino de trava a esses três pinos de saída. Depois disso, precisamos informar ao UNO qual pino do chip está conectado aos pinos da placa UNO. Isso é feito simplesmente escrevendo no comando “
shiftOut(dataPin, clockPin, data);
”. Os dados aqui podem ser binários, decimais ou hexadecimais. As informações de oito bits que precisam ser enviadas são gravadas no lugar de “dados”.
Os dados enviados são feitos como:
Desabilite a trava, isso diz ao chip para não mostrar a saída por enquanto.
Por oito vezes, enviaremos dados com o relógio em série, portanto, clock alto baixo-relógio baixo e assim por diante.
Habilite a trava, isso diz ao chip para mostrar dados de oito bits.
O trabalho de ARDUINO com SHIFT REGISTER é explicado passo a passo no código C fornecido abaixo: