- Pantalla de set segments:
- Components necessaris:
- Circuit i explicació de treball:
- Explicació de la programació:
Raspberry Pi és una placa basada en processadors d'arquitectura ARM dissenyada per a enginyers electrònics i aficionats. El PI és ara una de les plataformes de desenvolupament de projectes amb més confiança. Amb una velocitat de processador superior i 1 GB de RAM, el PI es pot utilitzar per a molts projectes de gran perfil com el processament d’imatges i l’IoT.
Per fer qualsevol projecte de gran perfil, cal entendre les funcions bàsiques de PI. Cobrirem totes les funcionalitats bàsiques de Raspberry Pi en aquests tutorials. A cada tutorial parlarem d'una de les funcions de PI. Al final d'aquesta sèrie de tutorials de Raspberry Pi, podreu aprendre Raspberry Pi i fer bons projectes vosaltres mateixos. Consulteu els tutorials següents:
- Introducció a Raspberry Pi
- Configuració de Raspberry Pi
- LED intermitent
- Interfície de botons
- Generació Raspberry Pi PWM
- Interfície LCD amb Raspberry Pi
- Control del motor de CC
- Control del motor pas a pas
- Registre de torns d'interfície
- Tutorial ADC de Raspberry Pi
- Control Servomotor
- Teclat capacitiu
En aquest tutorial, farem interfícies de pantalla de segment Raspberry Pi 7. Les pantalles de set segments són les més econòmiques per a una unitat de visualització. Un parell d'aquests segments apilats es podrien utilitzar per mostrar la temperatura, el valor del comptador, etc. Connectarem la unitat de visualització de 7 segments a GPIO de PI i els controlarem per mostrar els dígits en conseqüència. Després d’això, escriurem un programa en PYTHON per a la visualització de set segments a comptes de 0-9 i es restablirà a zero.
Pantalla de set segments:
Hi ha diferents tipus i mides de pantalles de 7 segments. Hem tractat detalladament Seven Segment. Bàsicament hi ha dos tipus de 7 segments, tipus d'ànode comú (Common Positive o Common VCC) i tipus de càtode comú (Common Negative o Common Ground).

Ànode comú (CA): en això es connecten tots els terminals negatius (càtode) de tots els 8 LED (vegeu el diagrama següent), anomenats COM. I tots els terminals positius es queden sols.
Càtode comú (CC): en això es connecten tots els terminals positius (ànodes) de tots els 8 LED, anomenats COM. I totes les tèrmiques negatives es queden soles.

Aquestes pantalles de set segments CC i CA són molt útils mentre multiplexen diverses cel·les juntes. Al nostre tutorial utilitzarem la visualització CC de set segments de CC o Common Cathode.
Ja tenim Interfaced 7 segment amb 8051, amb Arduino i amb AVR. També hem utilitzat la visualització de 7 segments en molts dels nostres projectes.
Anem a parlar una mica sobre Raspberry Pi GPIO abans d’anar més enllà, Hi ha 40 pins de sortida GPIO al Raspberry Pi 2. Però de 40, només es poden programar 26 pins GPIO (GPIO2 a GPIO27), vegeu la figura següent. Alguns d’aquests pins realitzen algunes funcions especials. Amb GPIO especial deixat de banda, ens queden 17 GPIO.

El senyal GPIO (pin 1 o 17) + 3,3 V és suficient per conduir la pantalla de 7 segments. Per proporcionar el límit de corrent, utilitzarem una resistència de 1 KΩ per a cada segment tal com es mostra al diagrama del circuit.
Per obtenir més informació sobre els pins GPIO i les seves sortides actuals, consulteu: LED parpellejant amb Raspberry Pi
Components necessaris:
Aquí fem servir Raspberry Pi 2 Model B amb Raspbian Jessie OS. Tots els requisits bàsics de maquinari i programari s’han comentat prèviament. Podeu consultar-los a la introducció de Raspberry Pi, a part d’això que necessitem:
- Pins de connexió
- Visualització del segment de càtode comú de 7 (LT543)
- Resistència 1KΩ (8 peces)
- Taula de pa
Circuit i explicació de treball:

Les connexions, que es fan per a la visualització del segment Interfacing 7 amb Raspberry Pi, es donen a continuació. Hem utilitzat el segment Common Cathode 7 aquí:
PIN1 o e ------------------ GPIO21
PIN2 o d ------------------ GPIO20
PIN4 o c ------------------ GPIO16
PIN5 o h o DP ---------- GPIO 12 // no és obligatori ja que no estem fent servir el punt decimal
PIN6 o b ------------------ GPIO6
PIN7 o un ------------------ GPIO13
PIN9 o f ------------------ GPIO19
PIN10 o g ---------------- GPIO26
PIN3 o PIN8 ------------- connectat a terra
Per tant, farem servir 8 pins GPIO de PI com a PORT de 8 bits. Aquí GPIO13 està sent LSB (bit menys significatiu) i GPIO 12 és MSB (bit més significatiu).
Ara, si volem visualitzar el número "1", necessitem segments B i C d'energia. Per alimentar els segments B i C, hem d’alimentar GPIO6 i GPIO16. Per tant, el byte de la funció "PORT" serà 0b00000110 i el valor hexadecimal de "PORT" serà 0x06. Amb els dos pins elevats, apareix el "1" a la pantalla.

Hem escrit els valors de cada dígit que es mostrarà i emmagatzemarem en una cadena de caràcters anomenada "DISPLAY" (consulteu la secció Codi següent). A continuació, hem cridat aquests valors un per un per mostrar el dígit corresponent a la pantalla, mitjançant la funció "PORT".
Explicació de la programació:
Un cop tot estigui connectat segons el diagrama del circuit, podem activar el PI per escriure el programa en PYHTON.
Parlarem de poques ordres que farem servir al programa PYHTON, Importarem un fitxer GPIO de la biblioteca, la funció següent ens permet programar pins GPIO de PI. També estem canviant el nom de "GPIO" per "IO", de manera que al programa sempre que vulguem referir-nos als pins GPIO utilitzarem la paraula "IO".
importar RPi.GPIO com a IO
De vegades, quan els pins GPIO, que estem intentant utilitzar, poden estar fent algunes altres funcions. En aquest cas, rebrem avisos mentre executem el programa. L'ordre següent indica al PI que ignori les advertències i que continuï amb el programa.
IO.setwarnings (fals)
Podem referir els pins GPIO de PI, ja sigui pel número de pin a bord o pel seu número de funció. Igual que el "PIN 29" al tauler és "GPIO5". Així doncs, aquí expliquem que aquí representarem el passador per "29" o "5".
IO.setmode (IO.BCM)
Estem configurant 8 pins GPIO com a pins de sortida per als pins de dades i control de 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)
En cas que la condició dels claudàtors sigui certa, les sentències dins del bucle s'executaran una vegada. Per tant, si el bit0 del 'pin' de 8 bits és cert, el PIN13 serà ALT, en cas contrari el PIN13 serà BAIX. Tenim vuit condicions "if else" per bit0 a bit7, de manera que es pot fer que el LED adequat, dins de la pantalla de 7 segments, sigui alt o baix, per mostrar el número corresponent.
if (pin & 0x01 == 0x01): IO.output (13,1) else: IO.output (13,0)
Aquesta ordre executa el bucle 10 vegades, x s'incrementa de 0 a 9.
per a x en l'interval (10):
L'ordre de sota s'utilitza com a bucle per sempre, amb aquesta ordre les instruccions dins d'aquest bucle s'executaran contínuament.
Mentre que 1:
Totes les altres funcions i ordres s'han explicat a la secció "Codi" següent amb l'ajut de "Comentaris".
Després d’escriure el programa i executar-lo, el Raspberry Pi activa els GPIO corresponents per mostrar el dígit a la pantalla de 7 segments. El programa està escrit perquè la pantalla compti de 0 a 9 contínuament.
