Para atender a tais problemas, pode -se usar registros de mudança de troca que podem salvar os pinos da placa Arduino para outros dispositivos. Discutimos como interagem o 7-segmento com Arduino usando o registro de turno.
7 segmentos com Arduino usando o registro de turno
Conforme explicado, os registros de turnos anteriores são úteis quando o número de dispositivos que devem ser interfigurados no microcontrolador é grande. Para interagir o 7-segmento com o Arduino usando os registros de turno, você exigirá os seguintes componentes:
Para usar o registro de turno para interface o segmento de 7 com Arduino Uno, projetamos um circuito cujo esquema é dado abaixo que está usando a lista de componentes dados acima.
Conjunto de hardware para usar o registro de turno com Arduino para exibição de 7 segmentos
Antes de implementar o circuito no hardware real, criamos o conjunto de hardware que ajudará a fazer conexões dos componentes no hardware real. Abaixo da imagem dada, mostra o conjunto de hardware para usar o registro de turno com Arduino para interagir o 7-segmento com ele.
As conexões para os 7 segmentos com registro de turno são bastante simples se você seguir os números de pinos do registro de turno. Explicamos conexões do circuito nos seguintes pontos:
Programa Arduino para usar o Shift Register para interface o 7-segmento com Arduino Uno
Para interagir o 7-segmento com o Arduino usando o registro de turno, temos para programar o microcontrolador que é dado abaixo:
const int dados = 4; // pino Arduino para pino de dados do registro de turno
const int latch = 5; // pino Arduino para pino de trava do registro de turno
const int clock = 6; // pino Arduino para o pino do relógio do registro de turno
const char comum = 'c'; // 7-segmento com cátodo comum
Void Setup ()
// atribuindo os modos de trabalho aos pinos de mudança de turno
pinmode (dados, saída);
pinmode (trava, saída);
pinmode (relógio, saída);
Void Loop ()
para (int i = 0; i <= 9; i++) // for loop to generate number from 0 to 9
bits bits = binário (i); / * Detecte o binário dado para o respectivo número dos casos fornecidos abaixo */
exibição (bits); // exibindo os números no 7-segmento
atraso (500);
Void Display (byte oitobits)
if (comum == 'c') // se a configuração for cátodo comum
oitobits = oitobits ^ b11111111; // então altere os bits de 0 para 1
DigitalWrite (trava, baixo); // Preparando o registro de turno para dados
shiftout (dados, relógio, lsbfirst, oitobits); /* Enviando os dados para 7SEGMNET a partir de bit menos significativo*/
DigitalWrite (trava, alta); / * Exibindo os dados no segmento 7 */
/ *Casos para detectar o binário dos números gerados de 0 a 9 */
byte binário (número int)
Switch (número)
Caso 0:
Retornar B1111111100; // se 0 for gerado, então binário para zero
quebrar;
caso 1:
Retornar B01100000; // se 1 for gerado, então dando binário para um
quebrar;
Caso 2:
Retorno B11011010; // se 2 for gerado, então dando binário para dois
quebrar;
Caso 3:
Retornar B1111110010; // se 3 for gerado, então dando binário para três
quebrar;
Caso 4:
Retornar B01100110; // se 4 for gerado, então dando binário para quatro
quebrar;
Caso 5:
Retorno B10110110; // Se 5 for gerado, então dando binário para cinco
quebrar;
Caso 6:
Retorno B10111110; // Se 6 for gerado, então dando binário para seis
quebrar;
Caso 7:
Retorno B11100000; // Se 7 for gerado, então dando binário para sete
quebrar;
Caso 8:
Retornar B11111110; // se 8 for gerado, então dando binário para oito
quebrar;
Caso 9:
retornar B11110110; // se 9 for gerado, então dando binário para nove
Ao controlar o pino de trava do registro de turno, podemos enviar os dados de Arduino para o 7-segmento. Portanto, quando o pino de trava está em baixo estado, ele recebe os dados e, quando o pino entra em alto estado, ele envia mais os dados.
Para gerar os números, usamos o loop for e a cada iteração do loop, o estado do pino de trava é alterado usando a função digitalWrite () e, para cada número, damos o binário para ele que ligará o LED dos 7 -segmentos de acordo.
Demonstração de hardware para usar o Shift Register com Arduino para interface o 7-segmento
Implementamos o circuito na placa de ensaio para interface 7-segmentos usando um registro de turno com Arduino Uno de acordo com a montagem de hardware que descrevemos anteriormente. Para demonstrar que demos o GIF animado abaixo:
Conclusão
Os registros de turno são de grande importância nos projetos em que há um grande número de dispositivos para serem usados com Arduino. Nós interfiguramos a tela de 7 segmentos com o Arduino usando um registro de turno que reduz o uso de pinos Arduino de 6 a 3. Também fornecemos o esquema de circuito, a montagem de hardware e o código Arduino que o ajudarão a entender o conceito de usar o registro de turno.