Cuprins:
- Pasul 1: Materiale
- Pasul 2: Aspectul Breadboard-ului
- Pasul 3: Instalarea bibliotecii
- Pasul 4: Codul
- Pasul 5: Rezultatul
- Pasul 6: Depanare
- Pasul 7: Mergeți mai departe
Video: Utilizarea unui afișaj cu 4 cifre și 7 segmente, cu Arduino: 7 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
În acest tutorial vă voi arăta cum să utilizați un afișaj pe 7 segmente cu 4 cifre folosind arduino. Unele lucruri de bază pe care aș dori să le subliniez este că acest lucru ocupă aproape toți pinii digitali de pe arduino uno, leonardo, plăcile cu 13 pini digitali. Majoritatea afișajelor au 12 pini care se conectează fie direct la arduino, fie printr-un rezistor. De asemenea, aș dori să subliniez că aceste afișaje nu au nevoie de conectare la masă, 5V sau 3,3V. Deci sa începem…
Pasul 1: Materiale
Folosirea unui afișaj de acest fel nu necesită aproape niciun material.
- 4 x rezistențe de 330Ω
- 12 x fire jumper de la mascul la mascul
- 1 x Arduino
- 1 x panou de orice dimensiune (nu au nevoie de șine de alimentare)
Nu sunt necesare instrumente pentru a face un prototip al acestui design. Cu toate acestea, pentru o utilizare mai permanentă ar fi necesare un fier de lipit și o placă PCB.
Pasul 2: Aspectul Breadboard-ului
Doar pentru a vă oferi un anumit context, vă voi explica utilizarea fiecărui pin. 8 din cei 12 pini de pe afișaj sunt utilizați pentru cele 8 segmente. Există 7 segmente folosite pentru a forma orice cifră, în timp ce unul controlează punctul zecimal. Ceilalți 4 din cei 12 pini controlează fiecare dintre cele 4 cifre de pe afișaj. Orice pin care are un rezistor pe acesta este unul dintre pinii de 4 cifre, altfel sunt pinii de segment.
Designul de mai sus l-am creat din fritzing pentru a arăta conexiunea dintre afișaj și arduino. Rețineți amplasarea unde se află rezistențele, deoarece dacă conectați rezistorul la pinul greșit de pe afișaj, fie cifra respectivă nu va funcționa, fie segmentul respectiv nu va funcționa, ÎNTOTDEAUNA …
***NOTĂ IMPORTANTĂ***
La configurarea circuitului comutați firele galbene și violete (mi-am încurcat schema de circuit).
Pasul 3: Instalarea bibliotecii
Biblioteca legată mai jos este de pe site-ul web arduino pentru a controla cu ușurință un ecran. Link-ul merge la github. Dacă nu ați fost niciodată pe github, ascultați cu atenție, dacă ați citit paragraful următor. Când accesați site-ul web, uitați-vă la partea dreaptă a ferestrei și priviți în jos până când vedeți „Descărcați Zip”. Faceți clic pe butonul respectiv și urmăriți-l cum apare în descărcările dvs.
Acum trebuie să încărcați biblioteca instalată anterior în folderul bibliotecilor. Dacă acum faceți acest lucru, treceți la pasul următor, altfel continuați să citiți. Mai întâi accesați Finder și găsiți folderul „documente” și deschideți-l. Apoi, găsiți folderul „arduino” și deschideți-l. Apoi, găsiți folderul biblioteci și deschideți-l. În cele din urmă, trageți și fixați biblioteca instalată în folderul de biblioteci deschis.
IMPORTANT. Dacă aplicația dvs. arduino a fost deschisă și rulată în timp ce puneți biblioteca în folderul biblioteci, arduino nu va recunoaște biblioteca. Trebuie doar să părăsiți aplicația și să o deschideți din nou.
github.com/DeanIsMe/SevSeg
Pasul 4: Codul
Codul pentru afișarea efectivă a ceva este listat mai jos.
#include "SevSeg.h"
SevSeg sevseg; // Inițiază un controler de șapte segmente obiect void setup () {octet numDigits = 4; octet digitPins = {2, 3, 4, 5}; octet segmentPins = {6, 7, 8, 9, 10, 11, 12, 13}; bool resistorsOnSegments = 0; // variabila de mai sus indică faptul că 4 rezistențe au fost plasate pe pinii cifrelor. // setați variabila la 1 dacă doriți să utilizați 8 rezistențe pe pinii segmentului. sevseg.begin (COMMON_CATHODE, numDigits, digitPins, segmentPins, resistorsOnSegments); sevseg.setBrightness (90); } void loop () {sevseg.setNumber (3141, 3); sevseg.refreshDisplay (); // Trebuie să ruleze în mod repetat
Pasul 5: Rezultatul
Dacă ați conectat corect afișajul, ați încărcat corect codul și ați copiat codul corect, atunci afișajul dvs. ar trebui să afișeze pi (doar 3.141).
Dacă nu, citiți pasul șase pentru orice se întâmplă greșit.
Dacă ați reușit, atunci vă sugerez să citiți mai departe în pasul șapte.
Pasul 6: Depanare
Aici am enumerat două lucruri posibile care s-ar fi putut întâmpla pe afișajul dvs. care ar fi putut-o deranja. Din păcate, doar unul dintre cele două este rezolvabil.
- Afișajul dvs. afișează 8888
Nu vă faceți griji, aceasta este problema care poate fi remediată, urmați acești pași
1. Găsiți în codul "sevseg.begin (COMMON_CATHODE, numDigits, digitPins, segmentPins);"
2. Schimbați „CATODA COMUNĂ” la „ANODUL COMUN”
3. Încărcați din nou codul
- Afișajul dvs. afișează 3. 41 sau.141 sau 3.1 1 sau 3.14 fără celălalt 1
Din păcate, această problemă poate fi rezolvată sau nu:. (… (asta este fața mea plângătoare)
1. Verificați conexiunile și asigurați-vă că totul ESTE conectat și nu suspendat
2. Verificați din nou schema, deoarece cel mai probabil ați conectat-o greșit
3. Găsiți linia în bucla nulă unde se afișează (3.141, 3) și schimbați 3.141 la 8888 și vedeți dacă una dintre cele 8 lipsește
4. Dacă da, unul dintre fire ar fi putut să nu aibă un rezistor atunci când ar fi trebuit să aibă unul care înseamnă că una dintre cifre arsese. Puteți verifica acest lucru uitându-vă la partea din spate a ecranului. Dacă vedeți vreun negru lângă unul dintre știfturi, ați depășit una dintre cifrele. Din păcate, acest lucru nu este reparabil și ați dori să cumpărați un alt ecran.
5. Dacă nu vedeți nicio semnă neagră nicăieri decât ați pornit fire care nu pot fi suprasolicitate, verificați schema și conectați-l corect și schimbați codul înapoi de la 8888 la 3.141.
Pasul 7: Mergeți mai departe
O metodă de utilizare a câtorva pini pe arduino pentru a controla mai multe LED-uri care altfel ar necesita o mulțime de pini este un registru de deplasare cu 8 pini în trei stări. Deci, în loc să conectați direct pinii de 8 segmente la arduino, îi puteți conecta la registrul de schimbare și puteți afla cum să faceți acest lucru.
Este doar o idee pe care am venit-o, dar nu știu cum să o fac sau dacă este posibilă chiar și cu arduino și biblioteca afișajului, dar hei, hrană de gândit pentru curioși.
Distrează-te cu afișajul tău și sper că ți-a plăcut acest lucru instructiv, deoarece este primul pe care l-am terminat efectiv din multe pe care le am în schițe.
Recomandat:
Afișaj cu 4 cifre, 7 segmente, 14 pini cu Arduino: 3 pași
Afișare pe 4 cifre, pe 7 segmente, 14 pini cu Arduino: este întotdeauna o idee bună să testați dacă un dispozitiv funcționează corect sau nu, dacă acea componentă are un număr foarte mare de pini. În acest proiect, mi-am testat afișajul cu 4 pini, cu 4 cifre și 7 segmente. Toate cele 7 segmente vor afișa de la 0 la 9 în același timp
Senzor de distanță + 4 cifre, afișaj de 7 segmente: 4 pași
Senzor de distanță + 4 cifre, afișaj de 7 segmente: utilizați un senzor de distanță și vedeți distanța obiectelor pe un afișaj cu șapte segmente. De asemenea, puteți vedea cum un servo se mișcă mai mult spre stânga pe măsură ce un obiect se apropie. Un LED roșu vă va spune dacă sunteți prea aproape și un LED verde vă va spune dacă sunteți prea
Afișaj LED cu 14 segmente pe 2 cifre: 5 pași
Afișaj LED cu 14 cifre din segmentul 2: poveste În ultimii câțiva ani am încercat să aflu cum funcționează dispozitivele electronice, prin aceasta vreau să spun cum să le fac să funcționeze cu un Arduino sau orice dispozitiv controler, aceasta include afișaje, senzori sau orice altceva care returnează o valoare de un fel
Cronometru cu afișaj pe 4 cifre, 7 segmente: 3 pași
Cronometru cu 4 cifre cu 7 segmente: acest instructiv vă va arăta cum să creați un cronometru în timp real complet funcțional dintr-un afișaj cu șapte segmente din 4 cifre
Blocare combinată wireless Arduino cu NRF24L01 și afișaj cu 4 cifre pe 7 segmente: 6 pași (cu imagini)
Blocare combinată wireless Arduino cu NRF24L01 și afișaj cu 4 cifre cu 7 segmente: acest proiect și-a început viața ca un exercițiu de a face ceva cu un afișaj cu 4 cifre din 7 segmente. a fost terminat, a fost destul de plictisitor. L-am construit folosind un Arduino UNO