- Display a sette segmenti:
- Componenti richiesti:
- Circuito e spiegazione di lavoro:
- Spiegazione della programmazione:
Raspberry Pi è una scheda basata su processore con architettura ARM progettata per ingegneri elettronici e hobbisti. Il PI è una delle piattaforme di sviluppo di progetti più affidabili attualmente disponibili. Con una maggiore velocità del processore e 1 GB di RAM, il PI può essere utilizzato per molti progetti di alto profilo come l'elaborazione delle immagini e l'IoT.
Per fare uno qualsiasi dei progetti di alto profilo, è necessario comprendere le funzioni di base di PI. Tratteremo tutte le funzionalità di base di Raspberry Pi in questi tutorial. In ogni tutorial discuteremo una delle funzioni di PI. Alla fine di questa serie di tutorial su Raspberry Pi, sarai in grado di imparare Raspberry Pi e realizzare buoni progetti da solo. Segui i tutorial seguenti:
- Guida introduttiva a Raspberry Pi
- Configurazione Raspberry Pi
- LED lampeggiante
- Interfacciamento dei pulsanti
- Generazione PWM Raspberry Pi
- Interfacciamento LCD con Raspberry Pi
- Controllo del motore CC
- Controllo motore passo-passo
- Registro a scorrimento interfacciato
- Tutorial ADC Raspberry Pi
- Controllo servomotore
- Touch pad capacitivo
In questo tutorial, eseguiremo l' interfacciamento del display a 7 segmenti Raspberry Pi. I display a sette segmenti sono i più economici per un'unità display. Un paio di questi segmenti impilati insieme potrebbero essere usati per visualizzare la temperatura, il valore del contatore, ecc. Collegheremo l'unità di visualizzazione a 7 segmenti al GPIO di PI e li controlleremo per visualizzare le cifre di conseguenza. Dopodiché scriveremo un programma in PYTHON per il display a sette segmenti che conti da 0 a 9 e si resetti a zero.
Display a sette segmenti:
Esistono diversi tipi e dimensioni di display a 7 segmenti. Abbiamo coperto Seven Segment lavorando in dettaglio qui. Fondamentalmente ci sono due tipi di 7 segmenti, tipo di anodo comune (comune positivo o VCC comune) e tipo di catodo comune (comune negativo o terra comune).
Anodo comune (CA): In questo sono collegati tutti i terminali negativi (catodo) di tutti gli 8 LED (vedi diagramma sotto), denominati COM. E tutti i terminali positivi vengono lasciati soli.
Common Cathode (CC): In questo sono collegati tutti i terminali positivi (anodi) di tutti gli 8 LED, denominati COM. E tutte le termiche negative sono lasciate sole.
Questi display CC e CA a sette segmenti sono molto utili durante il multiplexing di più celle insieme. Nel nostro tutorial useremo CC o Common Cathode Seven Segment Display.
Abbiamo già interfacciato 7 segmenti con 8051, con Arduino e con AVR. Abbiamo anche utilizzato il display a 7 segmenti in molti dei nostri progetti.
Discuteremo un po 'del GPIO Raspberry Pi prima di andare oltre, Ci sono 40 pin di uscita GPIO in Raspberry Pi 2. Ma su 40, è possibile programmare solo 26 pin GPIO (da GPIO2 a GPIO27), vedere la figura sotto. Alcuni di questi pin svolgono alcune funzioni speciali. Con GPIO speciale messo da parte, abbiamo 17 GPIO rimanenti.
Il segnale + 3,3V del GPIO (pin 1 o 17) è sufficiente per pilotare il display a 7 segmenti. Per fornire il limite di corrente, useremo una resistenza da 1KΩ per ogni segmento come mostrato nello schema del circuito.
Per saperne di più sui pin GPIO e sulle loro uscite correnti, passare a: LED lampeggiante con Raspberry Pi
Componenti richiesti:
Qui stiamo usando Raspberry Pi 2 Model B con Raspbian Jessie OS. Tutti i requisiti hardware e software di base sono stati discussi in precedenza, puoi cercarli nell'introduzione di Raspberry Pi, oltre a quello di cui abbiamo bisogno:
- Perni di collegamento
- Display a 7 segmenti del catodo comune (LT543)
- Resistenza da 1KΩ (8 pezzi)
- Breadboard
Circuito e spiegazione di lavoro:
Le connessioni, che vengono eseguite per l' interfacciamento del display a 7 segmenti con Raspberry Pi, sono riportate di seguito. Abbiamo usato il segmento del catodo comune 7 qui:
PIN1 o e ------------------ GPIO21
PIN2 o d ------------------ GPIO20
PIN4 o c ------------------ GPIO16
PIN5 o ho DP ---------- GPIO 12 // non obbligatorio in quanto non stiamo utilizzando il punto decimale
PIN6 o b ------------------ GPIO6
PIN7 o un ------------------ GPIO13
PIN9 of ------------------ GPIO19
PIN10 o g ---------------- GPIO26
PIN3 o PIN8 ------------- collegato a massa
Quindi useremo 8 pin GPIO di PI come una PORTA a 8 bit. Qui GPIO13 è LSB (Least Significant Bit) e GPIO 12 è MSB (Most Significant Bit).
Ora, se vogliamo visualizzare il numero di “1”, abbiamo bisogno di segmenti di potenza B e C. Per alimentare i segmenti B e C, dobbiamo alimentare GPIO6 e GPIO16. Quindi il byte per la funzione "PORT" sarà 0b00000110 e il valore esadecimale di "PORT" sarà 0x06. Con entrambi i pin alti si ottiene "1" sul display.
Abbiamo scritto i valori per ciascuna cifra da visualizzare e memorizzati tali valori in una stringa di caratteri denominata "DISPLAY" (controllare la sezione Codice di seguito). Quindi abbiamo chiamato questi valori uno per uno per mostrare la cifra corrispondente sul display, utilizzando la funzione 'PORT'.
Spiegazione della programmazione:
Una volta che tutto è collegato come da schema elettrico, possiamo accendere il PI per scrivere il programma in PYHTON.
Parleremo di alcuni comandi che useremo nel programma PYHTON, Stiamo per importare il file GPIO dalla libreria, la funzione sottostante ci consente di programmare i pin GPIO di PI. Stiamo anche rinominando "GPIO" in "IO", quindi nel programma ogni volta che vogliamo fare riferimento ai pin GPIO useremo la parola "IO".
importa RPi.GPIO come IO
A volte, quando i pin GPIO, che stiamo cercando di utilizzare, potrebbero svolgere altre funzioni. In tal caso, riceveremo avvisi durante l'esecuzione del programma. Il comando seguente indica al PI di ignorare gli avvisi e procedere con il programma.
IO.setwarnings (False)
Possiamo fare riferimento ai pin GPIO di PI, sia per numero di pin a bordo che per numero di funzione. Come il "PIN 29" sulla scheda è "GPIO5". Quindi diciamo qui o rappresenteremo il pin qui con "29" o "5".
IO.setmode (IO.BCM)
Stiamo impostando 8 pin GPIO come pin di uscita, per i pin dati e di controllo dell'LCD.
IO.setup (13, IO.OUT) IO.setup (6, IO.OUT) IO.setup (16, IO.OUT) IO.setup (20, IO.OUT) IO.setup (21, IO.OUT) IO.setup (19, IO.OUT) IO.setup (26, IO.OUT) IO.setup (12, IO.OUT)
Nel caso in cui la condizione tra parentesi graffe sia vera, le istruzioni all'interno del ciclo verranno eseguite una volta. Quindi, se il bit0 del 'pin' a 8 bit è vero, PIN13 sarà ALTO, altrimenti PIN13 sarà BASSO. Abbiamo otto condizioni 'if else' per bit0 a bit7, in modo che il LED appropriato, all'interno del display a 7 segmenti, possa essere impostato su Alto o Basso, per visualizzare il numero corrispondente.
if (pin & 0x01 == 0x01): IO.output (13,1) altrimenti: IO.output (13,0)
Questo comando esegue il ciclo 10 volte, x essendo incrementato da 0 a 9.
per x nell'intervallo (10):
Il comando seguente viene utilizzato come ciclo per sempre, con questo comando le istruzioni all'interno di questo ciclo verranno eseguite continuamente.
Mentre 1:
Tutte le altre funzioni e comandi sono stati spiegati nella sezione "Codice" di seguito con l'aiuto di "Commenti".
Dopo aver scritto il programma e averlo eseguito, il Raspberry Pi attiva i GPIO corrispondenti per mostrare la cifra sul display a 7 segmenti. Il programma viene scritto in modo che il display conti continuamente da 0 a 9.