Taula de continguts:

Utilització d’una pantalla de 4 dígits i 7 segments, amb Arduino: 7 passos
Utilització d’una pantalla de 4 dígits i 7 segments, amb Arduino: 7 passos

Vídeo: Utilització d’una pantalla de 4 dígits i 7 segments, amb Arduino: 7 passos

Vídeo: Utilització d’una pantalla de 4 dígits i 7 segments, amb Arduino: 7 passos
Vídeo: Section 1: More Comfortable 2024, De novembre
Anonim
Utilització d’una pantalla de 4 dígits i 7 segments, amb Arduino
Utilització d’una pantalla de 4 dígits i 7 segments, amb Arduino

En aquest tutorial us mostraré com utilitzar una pantalla de 7 segments amb 4 dígits mitjançant arduino. Algunes coses bàsiques que voldria assenyalar és que això ocupa gairebé tots els pins digitals de l’arduino uno, Leonardo, les taules amb 13 pins digitals. La majoria de pantalles tenen 12 pins de connexió que es connecten directament a l’arduino o mitjançant una resistència. A més, voldria assenyalar que aquestes pantalles no necessiten connectar terra, 5V o 3,3V. Comencem, doncs, …

Pas 1: materials

Materials
Materials
Materials
Materials
Materials
Materials
Materials
Materials

L’ús d’una pantalla d’aquest tipus gairebé no necessita materials.

- Resistències de 4 x 330Ω

- 12 x cables de pont masculí a masculí

- 1 x Arduino

- 1 x tauleta de suport de qualsevol mida (no necessiten rails)

No es requereixen eines per fer un prototip d’aquest disseny. No obstant això, caldria un soldador i una placa de PCB per a un ús més permanent.

Pas 2: disseny del tauler de pa

Disseny de taulers de pa
Disseny de taulers de pa

Només per donar-vos un context, explicaré l’ús de cada pin. 8 dels 12 pins de la pantalla s’utilitzen per als 8 segments. S’utilitzen 7 segments per formar qualsevol dígit mentre un controla el punt decimal. Els altres 4 dels 12 pins controlen cadascun dels 4 dígits de la pantalla. Qualsevol pin que tingui una resistència és un dels pins de 4 dígits, en cas contrari són els pins del segment.

El disseny anterior l’he creat a partir de fritzing per tal de mostrar la connexió entre la pantalla i l’arduino. Tingueu en compte la ubicació de les resistències, ja que si connecteu la resistència al pin incorrecte de la pantalla, aquest dígit no funcionarà o el segment no funcionarà, PER SEMPRE …

*** NOTA IMPORTANT ***

En configurar el circuit, canvieu els cables groc i morat (he desordenat el diagrama del meu circuit).

Pas 3: Instal·lació de la biblioteca

La biblioteca enllaçada a continuació prové del lloc web arduino per controlar fàcilment una pantalla. L’enllaç va a github. Si no heu estat mai a github, escolteu atentament si heu llegit el paràgraf següent. Quan accediu al lloc web, mireu a la part dreta de la finestra i mireu cap avall fins que vegeu "Descarregar zip". Feu clic a aquest botó i observeu-lo com apareix a les baixades.

Ara heu de carregar la biblioteca instal·lada prèviament a la carpeta de biblioteques. Si ara ho feu, aneu al pas següent; en cas contrari, seguiu llegint. Primer aneu al cercador i localitzeu la carpeta "documents" i obriu-la. A continuació, localitzeu la carpeta "arduino" i obriu-la. A continuació, localitzeu la carpeta de biblioteques i obriu-la. Finalment, arrossegueu i deixeu anar la biblioteca instal·lada a la carpeta de biblioteques acabada d’obrir.

IMPORTANT. Si l'aplicació arduino s'ha obert i s'executa mentre col·loqueu la biblioteca a la carpeta de biblioteques, l'arduino no reconeixerà la biblioteca. Només heu de sortir de l'aplicació i obrir-la de nou.

github.com/DeanIsMe/SevSeg

Pas 4: el codi

El codi
El codi

A continuació es mostra el codi per mostrar realment alguna cosa.

#include "SevSeg.h"

SevSeg sevseg; // Inicieu un controlador de set segments object void setup () {byte numDigits = 4; byte digitPins = {2, 3, 4, 5}; byte segmentPins = {6, 7, 8, 9, 10, 11, 12, 13}; bool resistorsOnSegments = 0; // La variable anterior indica que es van col·locar 4 resistències als pins dels dígits. // estableix la variable a 1 si voleu utilitzar 8 resistències als pins del segment. sevseg.begin (COMMON_CATHODE, numDigits, digitPins, segmentPins, resistorsOnSegments); sevseg.setBrightness (90); } bucle buit () {sevseg.setNumber (3141, 3); sevseg.refreshDisplay (); // S'ha d'executar repetidament

Pas 5: el resultat

Si heu connectat la pantalla correctament, heu penjat el codi correctament i heu copiat el codi codificat correctament, la pantalla hauria de mostrar pi (només 3.141).

En cas contrari, llegiu el pas sisè per saber què passa malament.

Si ho heu encertat, us suggereixo que aneu més enllà al pas set.

Pas 6: resolució de problemes

Aquí he enumerat dues coses possibles que podrien haver succeït a la vostra pantalla i que podrien haver-ho desordenat. Malauradament, només un dels dos es pot solucionar.

- La pantalla mostra 8888

No us preocupeu, aquest és el problema que es pot solucionar, només cal que seguiu aquests passos

1. Localitzeu al codi "sevseg.begin (COMMON_CATHODE, numDigits, digitPins, segmentPins);"

2. Canvieu "CATHODE COMUN" a "ANODE COMUN"

3. Torneu a penjar el codi

- La pantalla mostra 3. 41 o.141 o 3.1 1 o 3.14 sense l’altra 1

Malauradament, aquest problema es pot solucionar o no:. (… (aquesta és la meva cara plorant)

1. Comproveu les connexions i assegureu-vos que tot estigui endollat i que no estigui penjat

2. Torneu a comprovar l'esquema perquè és probable que l'heu endollat malament

3. Localitzeu la línia al bucle buit on diu que es mostra (3.141, 3) i canvieu 3.141 a 8888 i comproveu si falten un dels 8

4. Si fos així, un dels cables no hauria tingut resistència quan hauria d'haver tingut un significat que s'havia cremat un dels dígits. Podeu comprovar-ho mirant la part posterior de la pantalla. Si veieu algun negre a prop d'un dels pins, heu superat un dels dígits. Malauradament, això NO es pot solucionar i voldríeu comprar una altra pantalla.

5. Si no veieu cap marca negra en cap lloc que hagueu canviat els cables que no poden superar-se, comproveu l'esquema i connecteu-lo correctament i torneu a canviar el codi de 8888 a 3.141.

Pas 7: anar més enllà

Un mètode d’utilitzar uns quants pins a l’arduino per controlar diversos LEDs que d’una altra manera requeririen molts pins és un registre de desplaçament de 8 pins de tres estats. Per tant, en lloc de connectar directament els pins de 8 segments a arduino, podeu connectar-los al registre de desplaçament i esbrinar com fer-ho.

És només una idea que se m’ha acudit, però no sé com fer-ho o si fins i tot és possible amb l’arduino i la biblioteca de la pantalla, però vaja, pensament per als curiosos.

Diverteix-te amb la teva pantalla i espero que t'hagi agradat aquesta instrucció perquè és la primera que realment he acabat de les moltes que tinc als meus esborranys.

Recomanat: