Cuprins:

Utilizarea unui afișaj cu 4 cifre și 7 segmente, cu Arduino: 7 pași
Utilizarea unui afișaj cu 4 cifre și 7 segmente, cu Arduino: 7 pași

Video: Utilizarea unui afișaj cu 4 cifre și 7 segmente, cu Arduino: 7 pași

Video: Utilizarea unui afișaj cu 4 cifre și 7 segmente, cu Arduino: 7 pași
Video: Introduction to HT16K33 4 Digit LED Seven Segment Display with Arduino 2024, Iulie
Anonim
Folosind un afișaj cu 4 cifre și 7 segmente, cu Arduino
Folosind un afișaj cu 4 cifre și 7 segmente, cu Arduino

Î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

Materiale
Materiale
Materiale
Materiale
Materiale
Materiale
Materiale
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

Aspectul panoului de calcul
Aspectul panoului de calcul

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
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: