Guida 7 segmenti utilizzando Arduino Shift e registra Top 10HCOP 105

Guida 7 segmenti utilizzando Arduino Shift e registra Top 10HCOP 105
L'uso dei display per la mostrare gli ingressi e le uscite di un progetto Arduino può variare in base al tipo di dati. Per visualizzare la quantità limitata di dati, è possibile utilizzare il display a 7 segmenti, ma questi display hanno un gran numero di pin che possono richiedere molti pin digitali della scheda Arduino non lasciando spazio per altri dispositivi.

Per soddisfare tali problemi, è possibile utilizzare i registri del turno che possono salvare i pin di Arduino Board per altri dispositivi. Abbiamo discusso di come interfacciamo il 7-segmento con Arduino usando il registro a turni.

7 segmenti con Arduino utilizzando il registro a turni

Come spiegato i registri di spostamento precedenti sono utili quando il numero di dispositivi che devono essere interfacciati con il microcontrollore è grande. Per interfacciarsi il 7 segmento con Arduino utilizzando i registri del cambio, si richiederanno i seguenti componenti:

  • Display a 7 segmenti
  • Breadboard
  • Arduino Uno
  • Collegamento dei fili
  • 74HC595 Shift Register
  • 7 resistori da 220 ohm

Per utilizzare il registro di cambio per l'interfaccia del 7 segmento con Arduino Uno abbiamo progettato un circuito il cui schema è riportato di seguito che sta usando l'elenco dei componenti indicati sopra.

Assemblaggio hardware per l'utilizzo del registro di cambio con Arduino per il display a 7 segmenti

Prima di implementare il circuito sull'hardware reale, abbiamo creato il gruppo hardware che aiuterà a stabilire connessioni dei componenti sull'hardware reale. Sotto l'immagine indicata mostra il gruppo hardware per l'utilizzo del registro di cambio con Arduino per interfacciarsi il 7 segmento con esso.

Le connessioni per i 7 segmenti con il registro Shift sono abbastanza semplici se si seguono i numeri del PIN del registro Shift. Abbiamo spiegato le connessioni del circuito nei seguenti punti:

  • Per collegare il 7 segmento con il registro Shift abbiamo collegato il pin "A" di 7 segmenti con Pin 15 e continuare a collegare i pin nell'ordine alfabetico fino a "G" usando il filo grigio.
  • Per collegare il pin di dati del registro di cambio con Arduino Uno abbiamo usato il filo viola che si collega al pin 4 dell'Arduino.
  • Abbiamo usato il filo bianco per collegare il perno del chiavistello del registro di cambio con Arduino Uno usando il suo pin 5.
  • Il filo marrone viene utilizzato per collegare il perno del chiavistello del registro di cambio con Arduino Uno usando il suo pin 6.
  • Per alimentare il circuito, abbiamo usato la fornitura a 5 volti da Arduino Uno e le connessioni sono rappresentate dai fili rossi e neri.

Programma Arduino per l'utilizzo del registro Maiusc per interfaccia 7 segmenti con Arduino Uno

Per interfacciarsi il 7-segmento con Arduino usando il registro a turni dobbiamo programmare il microcontrollore che viene indicato di seguito:

const int data = 4; // Pin Arduino per il pin di dati del registro di cambio
const int latch = 5; // Pin Arduino per il pin di chiusura del registro
const int clock = 6; // Pin Arduino per il perno dell'orologio del registro di cambio
const char comune = 'c'; // 7-segmento con catodo comune
void setup ()
// Assegnazione delle modalità di lavoro ai pin del registro
pinMode (dati, output);
pinMode (latch, output);
pinMode (clock, output);

void loop ()
per (int i = 0; i <= 9; i++) // for loop to generate number from 0 to 9
byte bit = binary (i); / * Rileva il binario dato per il rispettivo numero dai casi indicati di seguito */
display (bit); // Visualizzazione dei numeri su 7 segmenti
ritardo (500);


void display (byte ottobits)
if (comune == 'c') // se la configurazione è comune catodo
ottobit = ottobit ^ B11111111; // quindi cambia i bit da 0 a 1

DigitalWrite (latch, basso); // Preparazione del registro a turni per i dati
shiftut (dati, orologio, lsbfirst, ottabit); /* Invio dei dati a 7Segmnet a partire dal bit meno significativo*/
DigitalWrite (fermo, alto); / * Visualizzazione dei dati sul segmento 7 */

/ *casi per rilevare il binario dei numeri generati da 0 a 9 */
byte binary (int numero)
switch (numero)
Caso 0:
restituire B11111100; // Se 0 viene generato, quindi binario per zero
rottura;
caso 1:
restituire b01100000; // se 1 viene generato, dando binario per uno
rottura;
Caso 2:
restituire B11011010; // Se 2 viene generato, dando binario per due
rottura;
Caso 3:
restituire B11110010; // Se 3 viene generato, dando binario per tre
rottura;
Caso 4:
restituire b01100110; // se 4 viene generato, dando binario per quattro
rottura;
Caso 5:
restituire B10110110; // Se 5 viene generato, dando binario per cinque
rottura;
Caso 6:
restituire B10111110; // Se 6 viene generato, dando binario per sei
rottura;
Caso 7:
restituire B11100000; // Se 7 viene generato, dando binario per sette
rottura;
Caso 8:
restituire B11111110; // Se 8 viene generato, dando binario per otto
rottura;
Caso 9:
restituire B11110110; // se 9 viene generato, dando binario per nove

Controllando il pin di chiavistello del registro Shift possiamo inviare i dati da Arduino al 7 segmento. Quindi, quando il pin di chiusura è a basso stato, riceve i dati e poi quando il pin va in alto stato invia ulteriormente i dati.

Per generare i numeri, abbiamo usato il loop e ad ogni iterazione del loop lo stato del pin di chiavistello viene modificato usando la funzione digitalewrite () e per ogni numero che abbiamo dato il binario per esso che accenderà il LED del 7 -Segmenti di conseguenza.

Dimostrazione hardware per l'utilizzo del registro a turni con Arduino per interfacciarsi il 7 segmento

Abbiamo implementato il circuito sulla breadboard per interfaccia 7 segmenti utilizzando un registro a turni con Arduino Uno secondo l'assemblaggio hardware che abbiamo descritto in precedenza. Per dimostrare che abbiamo dato la GIF animata di seguito:

Conclusione

I registri del turno sono di grande importanza nei progetti in cui ci sono un gran numero di dispositivi da utilizzare con Arduino. Abbiamo interfacciato il display a 7 segmenti con Arduino usando un registro a turni che riduce l'uso di pin Arduino da 6 a 3. Abbiamo anche fornito lo schema del circuito, l'assemblaggio hardware e il codice Arduino che ti aiuteranno a comprendere il concetto di utilizzo del registro a turni.