Contacte

Indicator cu 7 segmente 4 cifre arduino. Arduino și indicator cu patru cifre și șapte segmente. Gestionarea indicatorilor cu șapte segmente


Schema de conectare pentru un indicator cu o singură cifră și șapte segmente
Schema de conectare pentru un indicator cu mai multe cifre și șapte segmente

Dispozitiv de afișare digitală a informațiilor. Aceasta este cea mai simplă implementare a unui indicator care poate afișa cifre arabe. Pentru afișarea literelor sunt utilizați indicatori multisegment și matrici mai complexi.

După cum spune și numele, este format din șapte elemente de afișare (segmente) care se pornesc și se opresc separat. Incluzându-le în diferite combinații, ele pot fi folosite pentru a crea imagini simplificate ale cifrelor arabe.
Segmentele sunt desemnate cu literele de la A la G; al optulea segment - virgulă zecimală (punct zecimal, DP), conceput pentru a afișa numere fracționale.
Ocazional, litere sunt afișate pe indicatorul cu șapte segmente.

Ele vin într-o varietate de culori, de obicei alb, roșu, verde, galben și albastru. În plus, pot fi de diferite dimensiuni.

De asemenea, indicatorul LED poate fi cu o singură cifră (ca în figura de mai sus) sau cu mai multe cifre. Practic, indicatoarele LED cu una, două, trei și patru cifre sunt utilizate în practică:

Pe lângă zece cifre, indicatorii cu șapte segmente sunt capabili să afișeze litere. Dar puține litere au o reprezentare intuitivă în șapte segmente.
În latină: majuscule A, B, C, E, F, G, H, I, J, L, N, O, P, S, U, Y, Z, litere mici a, b, c, d, e, g , h, i, n, o, q, r, t, u.
În chirilic: A, B, V, G, g, E, i, N, O, o, P, p, R, S, s, U, Ch, Y (două cifre), b, E/Z.
Prin urmare, indicatorii cu șapte segmente sunt utilizați doar pentru a afișa mesaje simple.

În total, indicatorul LED cu șapte segmente poate afișa 128 de caractere:

Un indicator LED tipic are nouă fire: unul merge la catozii tuturor segmentelor, iar celelalte opt merg la anodul fiecărui segment. Această schemă se numește "circuit catod comun", există și scheme cu anod comun(atunci este invers). Adesea, nu unul, ci două terminale comune sunt realizate la capete diferite ale bazei - acest lucru simplifică cablarea fără a crește dimensiunile. Există și așa-zise „universale”, dar eu personal nu am întâlnit așa ceva. În plus, există indicatori cu un registru de deplasare încorporat, care reduce foarte mult numărul de pini de port al microcontrolerului implicați, dar sunt mult mai scumpi și sunt rar utilizați în practică. Și întrucât imensitatea nu poate fi sesizată, nu vom lua în considerare deocamdată astfel de indicatori (dar există și indicatori cu un număr mult mai mare de segmente, matrici).

Indicatoare LED cu mai multe cifre funcționează adesea pe un principiu dinamic: ieșirile segmentelor cu același nume ale tuturor cifrelor sunt conectate împreună. Pentru a afișa informații despre un astfel de indicator, microcircuitul de control trebuie să furnizeze ciclic curent la bornele comune ale tuturor cifrelor, în timp ce curentul este furnizat la bornele segmentului în funcție de faptul că un anumit segment este aprins într-o anumită cifră.

Conectarea unui indicator cu o cifră și șapte segmente la un microcontroler

Diagrama de mai jos arată cum este conectat un indicator cu o singură cifră și șapte segmente la microcontroler.
Trebuie avut în vedere că dacă indicatorul cu CATOD COMUN, atunci ieșirea sa comună este conectată la "Pământ", iar segmentele sunt aprinse prin hrănire unitate logică la ieșirea portului.
Dacă indicatorul este ANOD COMUN, apoi este alimentat la firul său comun "la care se adauga" tensiune, iar segmentele sunt aprinse prin comutarea ieșirii portului la starea zero logic.

Indicarea într-un indicator LED cu o singură cifră se realizează prin aplicarea unui cod binar la pinii portului microcontrolerului cifrei corespunzătoare nivelului logic corespunzător (pentru indicatorii cu OK - cei logici, pentru indicatorii cu OA - zerouri logice).

Rezistoare limitatoare de curent pot fi prezente sau nu în diagramă. Totul depinde de tensiunea de alimentare furnizată indicatorului și de caracteristicile tehnice ale indicatoarelor. Dacă, de exemplu, tensiunea furnizată segmentelor este de 5 volți și acestea sunt proiectate pentru o tensiune de funcționare de 2 volți, atunci trebuie instalate rezistențe de limitare a curentului (pentru a limita curentul prin ele pentru o tensiune de alimentare crescută și pentru a nu arde nu numai indicatorul, ci și portul microcontrolerului).
Este foarte ușor de calculat valoarea rezistențelor de limitare a curentului, folosind formula bunicului Ohm.
De exemplu, caracteristicile indicatorului sunt următoarele (preluate din fișa de date):
— tensiune de funcționare — 2 volți
— curent de funcționare — 10 mA (=0,01 A)
— tensiune de alimentare 5 volți
Formula de calcul:
R= U/I (toate valorile din această formulă trebuie să fie în Ohmi, Volți și Amperi)
R= (tensiune de alimentare - tensiune de lucru)/curent de lucru
R= (5-2)/0,01 = 300 Ohm

Schema de conectare pentru un indicator LED cu șapte segmente cu mai multe cifre Practic, la fel ca atunci când conectați un indicator cu o singură cifră. Singurul lucru este că tranzistorii de control sunt adăugați în catozii (anozii) indicatorilor:

Nu este prezentat în diagramă, dar între bazele tranzistorilor și pinii portului microcontrolerului, este necesar să se includă rezistențe, a căror rezistență depinde de tipul de tranzistor (valorile rezistenței sunt calculate, dar de asemenea, puteți încerca să utilizați rezistențe cu o valoare nominală de 5-10 kOhm).

Indicarea prin descărcări se realizează dinamic:
— codul binar al cifrei corespunzătoare este setat la ieșirile portului PB pentru prima cifră, apoi nivelul logic este aplicat tranzistorului de control al primei cifre
— codul binar al cifrei corespunzătoare este setat la ieșirile portului PB pentru a 2-a cifră, apoi nivelul logic este aplicat tranzistorului de control al celei de-a doua cifre
— codul binar al cifrei corespunzătoare este setat la ieșirile portului PB pentru a treia cifră, apoi nivelul logic este aplicat tranzistorului de control al celei de-a treia cifre
- deci într-un cerc
În acest caz, este necesar să se ia în considerare:
— pentru indicatorii cu Bine se utilizează structura tranzistorului de control NPN(controlat de unitatea logică)
— pentru indicator cu OA- structura tranzistorului PNP(controlat de zero logic)

Acest articol continuă seria publicațiilor mele despre organizarea indicației dinamice pe microcontrolere PIC și indicatoare LED. Iată link-uri către postările anterioare:

Tabel de funcționare al algoritmului propus (se folosește un indicator cu catod comun, prima coloană prezintă ieșirile registrului combinate cu cifrele indicatorului) conform diagramei de conectare prezentată mai jos.

În fiecare dintre întreruperile cu un interval de 2 ms (în acest caz de la cronometrul TMR0), se pregătește o etapă de indicație dinamică (DI) conform unui algoritm care constă din cinci faze de control al registrului și al indicatorului.

A doua fază: Marginea pozitivă de la pinul 12 al registrului (ST_CP) scrie starea zero a registrului în zăvorul de ieșire. Aici și mai departe, înainte de începerea indicației, indicatorul este stins cu potențial zero pe segmente.

A 3-a fază: prin controlul pinii registrului 14 (DS - date) și 11 (SH_CP - ceas), codul pentru controlul segmentelor este scris în el.

A 4-a fază: cu o cădere pozitivă la pinul 12 al registrului, datele din registru sunt scrise în latch-ul de ieșire și, datorită nivelurilor pozitive de pe biți, indicatorul rămâne stins.

A 5-a fază: aici codul necesar este furnizat la ieșirile cifrelor indicatoare și apoi apare indicația reală.

Dacă circuitul folosește un indicator cu 4 cifre, atunci pentru o funcționare corectă trebuie setat la OK. Dacă trebuie să controlați 8 biți, atunci sunt utilizate 8 porturi ale MK, în timp ce celelalte 4 porturi controlează pur și simplu biții (în faza 4 ar trebui să aibă un nivel ridicat). Este de remarcat faptul că în acest caz este posibil să se utilizeze indicatori atât cu OK, cât și cu OA, conectând segmente sau cifre la registru, respectiv (din motivele expuse mai jos, în primul caz este de preferat să se organizeze DI segment cu- segment, iar în al doilea - bit cu bit).

Folosind această metodă, puteți conecta doi indicatori pe patru biți la MCU PIC16F676 folosind un registru de deplasare, lăsând în același timp până la patru porturi libere pentru utilizare. De exemplu, pentru o astfel de conexiune, oamenii au folosit combinația de funcții de intrare DI și analogică în unele porturi MK (în opinia mea, o decizie extrem de dubioasă), ceea ce a dus la o complicație semnificativă a circuitului și la unele limitări, pe care autorii avertiza despre. Folosind diagrama mea de conectare, totul ar fi rezolvat simplu și frumos - intrări separate, indicații separate, plus încă două porturi (inclusiv MCLR) pentru butoane.

Pentru a testa această metodă de control, următorul circuit simplu este propus pe MCU PIC12F629 și indicatorul FYQ3641A, care afișează alternativ cuvântul „test” și numărul 1234 pe indicator.

Aici s-a decis să se utilizeze un DI segment cu segment (un segment este pornit în fiecare moment și există un cod pe pinii de biți, unde în fiecare bit: 0 - dacă acest segment ar trebui aprins într-un bit dat și 1 - în caz contrar), în care curenții de vârf sunt transferați în registru. De ce? Există două motive pentru aceasta: în primul rând, capacitatea maximă de încărcare a ieșirilor 74HC595 este de 35 mA față de 25 mA pentru controlerele PIC; al doilea și principalul lucru este că un curent apropiat de limită prin portul de ieșire al MK își poate ridica teoretic potențialul de ieșire la nivelul comutării intrărilor registrului, ceea ce ar duce la erori în funcționare. Și astfel, curenți de 6-7 mA curg în porturile MK și potențialele de la ieșiri cu siguranță nu depășesc nivelurile TTL.

După cum am menționat mai sus, intervalul de întrerupere este de 2 ms, ceea ce corespunde ratei de reîmprospătare a indicatorului de 64 Hz și strălucirea sa este destul de confortabilă pentru ochi.

Această metodă DI, printre altele, a făcut posibilă reducerea la jumătate a numărului de rezistențe de limitare a curentului (R2-R5).

Dispozitivul este asamblat pe o așa-numită placă de breadboard „fără lipire”.

Indicatorul poate fi înlocuit cu oricare din seria 3641A.

Circuitul este alimentat de o sursă stabilizată de 5 V. Am folosit o placă de stabilizare specială concepută pentru a fi utilizată cu placa de breadboard menționată mai sus.

Programul de control MK este scris în limbaj C și tradus în mediu.

Cod în MikroC, proiect, fișier HEX în aplicație.

Pentru a utiliza această metodă de conectare în dezvoltări comerciale, vă rugăm să mă contactați.

Lista radioelementelor

Desemnare Tip Denumire Cantitate NotăMagazinBlocnotesul meu
DD1 MK PIC pe 8 biți

PIC12F629

1 La blocnotes
DD2 Inregistreaza-te74HC5951 La blocnotes
H.L. IndicatorFYQ36411 La blocnotes
R1 Rezistor

30 kOhm

1 La blocnotes
R2 Rezistor

430 ohmi

1 La blocnotes
R3 Rezistor

430 ohmi

1

Cu siguranță ați văzut deja cei „opt” indicatori. Acesta este un indicator LED cu șapte segmente, care servește la afișarea numerelor de la 0 la 9, precum și a punctului zecimal ( D.P.- Punct zecimal) sau virgulă.

Din punct de vedere structural, acest produs este un ansamblu de LED-uri. Fiecare LED din ansamblu luminează propriul său segment de semn.

În funcție de model, ansamblul poate consta din 1 - 4 grupuri cu șapte segmente. De exemplu, indicatorul ALS333B1 constă dintr-un grup de șapte segmente, care este capabil să afișeze doar o cifră de la 0 la 9.

Dar indicatorul LED KEM-5162AS are deja două grupuri de șapte segmente. Este format din două cifre. Următoarea fotografie prezintă diferiți indicatori LED cu șapte segmente.

Există, de asemenea, indicatori cu 4 grupuri de șapte segmente - patru cifre (foto - FYQ-5641BSR-11). Ele pot fi folosite în ceasurile electronice de casă.

Cum sunt indicați indicatorii cu șapte segmente pe diagrame?

Deoarece indicatorul cu șapte segmente este un dispozitiv electronic combinat, imaginea sa de pe diagrame diferă puțin de aspectul său.

Trebuie doar să acordați atenție faptului că fiecare pin corespunde unui anumit segment de semn la care este conectat. Există, de asemenea, unul sau mai multe terminale ale unui catod sau anod comun, în funcție de modelul dispozitivului.

Caracteristici ale indicatorilor cu șapte segmente.

În ciuda simplității aparente a acestei părți, are și propriile sale particularități.

În primul rând, indicatoarele LED cu șapte segmente vin cu un anod comun și un catod comun. Această caracteristică ar trebui să fie luată în considerare atunci când o achiziționați pentru un design sau dispozitiv de casă.

Iată, de exemplu, pinout-ul indicatorului cu 4 cifre deja familiar pentru noi FYQ-5641BSR-11.

După cum puteți vedea, anozii LED-urilor fiecărei cifre sunt combinați și scos la un pin separat. Catozii LED-urilor care aparțin segmentului semnului (de exemplu, G), conectate între ele. Multe depind de ce fel de diagramă de conectare are indicatorul (cu un anod sau catod comun). Dacă vă uitați la schemele de circuit ale dispozitivelor care folosesc indicatori cu șapte segmente, va deveni clar de ce acest lucru este atât de important.

Pe lângă indicatori mici, există și alții mari și chiar foarte mari. Ele pot fi văzute în locuri publice, de obicei sub formă de ceasuri de perete, termometre și informatori.

Pentru a crește dimensiunea numerelor de pe afișaj și, în același timp, a menține luminozitatea suficientă a fiecărui segment, se folosesc mai multe LED-uri, conectate în serie. Iată un exemplu de astfel de indicator - se potrivește în palma mâinii tale. Acest FYS-23011-BUB-21.

Un segment al acestuia este format din 4 LED-uri conectate în serie.

Pentru a ilumina unul dintre segmente (A, B, C, D, E, F sau G), trebuie să-i aplicați o tensiune de 11,2 volți (2,8 V pentru fiecare LED). Puteți face mai puțin, de exemplu, 10V, dar și luminozitatea va scădea. Excepția este punctul zecimal (DP), segmentul său este format din două LED-uri. Are nevoie doar de 5 - 5,6 volți.

Indicatorii cu două culori se găsesc și în natură. De exemplu, leduri roșii și verzi sunt încorporate în ele. Se pare că există, parcă, două indicatoare încorporate în carcasă, dar cu LED-uri de diferite culori. Dacă aplicați tensiune la ambele circuite LED, puteți obține o strălucire galbenă din segmente. Iată o diagramă de cablare pentru unul dintre acești indicatori cu două culori (SBA-15-11EGWA).

Dacă conectați pinii 1 ( ROȘU) și 5 ( VERDE) la alimentarea cu „+” prin tranzistoare cheie, puteți schimba culoarea numerelor afișate de la roșu la verde. Și dacă conectați pinii 1 și 5 în același timp, culoarea strălucitoare va fi portocalie. Acesta este modul în care vă puteți juca cu indicatorii.

Managementul indicatorilor cu șapte segmente.

Pentru a controla indicatorii cu șapte segmente în dispozitivele digitale, se folosesc registre de deplasare și decodoare. De exemplu, un decodor utilizat pe scară largă pentru controlul indicatorilor din seriile ALS333 și ALS324 este un microcircuit K514ID2 sau K176ID2. Iată un exemplu.

Și pentru a controla indicatorii moderni importați, se folosesc de obicei registrele de deplasare 74HC595. În teorie, segmentele de afișare pot fi controlate direct de la ieșirile microcontrolerului. Dar un astfel de circuit este rar folosit, deoarece acest lucru necesită folosirea unor pini ai microcontrolerului în sine. Prin urmare, registrele de deplasare sunt utilizate în acest scop. În plus, curentul consumat de LED-urile segmentului de semn poate fi mai mare decât curentul pe care îl poate furniza ieșirea obișnuită a microcontrolerului.

Pentru a controla indicatoare mari cu șapte segmente, cum ar fi FYS-23011-BUB-21, se folosesc drivere specializate, de exemplu, un microcircuit MBI5026.

Ce se află în interiorul indicatorului cu șapte segmente?

Ei bine, ceva gustos. Orice inginer electronic nu ar fi unul dacă nu ar fi interesat de „interiorul” componentelor radio. Acesta este ceea ce se află în interiorul indicatorului ALS324B1.

Patratele negre de pe baza sunt cristale LED. Aici puteți vedea și jumperii aurii care conectează cristalul la unul dintre pini. Din păcate, acest indicator nu va mai funcționa, deoarece aceleași jumperi au fost rupte. Dar putem vedea ce se ascunde în spatele panoului decorativ al tabloului de bord.

Conectarea unui afișaj cu 7 segmente la un Arduino este un proiect excelent pentru a vă cunoaște mai bine placa Arduino. Dar este destul de ușor de făcut. Prin urmare, vom complica oarecum sarcina și vom conecta un indicator cu patru cifre și șapte segmente.



În acest caz, vom folosi un modul indicator LED din patru cifre cu un catod comun.


Fiecare segment din modulul indicator este multiplexat, ceea ce înseamnă că împărtășește un punct de conectare anod cu alte segmente ale descărcării sale. Și fiecare dintre cei patru biți din modul are propriul punct de conectare cu un catod comun. Acest lucru permite ca fiecare cifră să fie activată sau oprită independent. În plus, această metodă de multiplexare permite microcontrolerului să folosească doar unsprezece sau doisprezece pini în loc de treizeci și doi.



Segmentele LED ale indicatorului necesită conectarea rezistențelor de limitare a curentului atunci când sunt alimentate de la 5 V pe pinul logic. Valoarea rezistenței este de obicei luată între 330 și 470 ohmi. De asemenea, se recomandă utilizarea tranzistoarelor pentru a furniza curent suplimentar, deoarece fiecare pin al microcontrolerului poate furniza maximum 40 mA. Dacă porniți toate segmentele de descărcare (numărul 8), consumul de curent va depăși această limită. Figura de mai jos arată o diagramă de conectare pentru un indicator cu patru cifre și șapte segmente care utilizează tranzistoare cu rezistență limitatoare de curent.



Următoarele sunt diagrame pentru conectarea indicatorului la pinii Arduino. Aici se folosesc tranzistori bipolari NPN BC547. Un potențiometru de 10 KOhm conectat la intrarea plăcii A0 vă permite să schimbați valoarea afișată pe indicator de la 0 la 1023.




Pe placa Arduino, ieșirile digitale D2-D8 în acest caz sunt folosite pentru a controla segmentele „a” la „g”, iar ieșirile digitale D9-D12 sunt folosite pentru a controla biții D0 la D3. Trebuie remarcat faptul că în acest exemplu punctul nu este folosit, dar în schița de mai jos este posibil să-l folosești. Pinul D13 al plăcii Arduino este rezervat pentru controlul segmentului de punct.



Mai jos este codul care vă permite să controlați un indicator de segment din patru cifre folosind o placă Arduino. În ea, matricea numerică specifică codurile numerelor de la 0 la 9 în formă binară. Această schiță acceptă atât indicatorii cu un catod comun (în mod implicit), cât și indicatorii cu un anod comun (pentru a face acest lucru, trebuie să decomentați o linie la sfârșitul schiței).


// biți reprezentând segmentele de la A la G (și puncte), pentru numerele 0-9 const int numeral = ( //ABCDEFG /dp B11111100, // 0 B01100000, // 1 B11011010, // 2 B11110010, // 0110, // 3 B011, // // 4 B10110110, // 5 B00111110, // 6 B11100000, // 7 B11111110, // 8 B11100110, // 9 ); // pini pentru punct și fiecare segment // DP,G,F,E,D,C,B,A const int segmentPins = ( 13,8,7,6,5,4,3,2 ); const int nbrDigits= 4; // numărul de cifre ale indicatorului LED // cifre 0 1 2 3 const int digitPins = ( 9,10,11,12 ); void setup() (for(int i=0; i< 8; i++) { pinMode(segmentPins[i], OUTPUT); // устанавливаем выводы для сегментов и точки на выход } for(int i=0; i < nbrDigits; i++) { pinMode(digitPins[i], OUTPUT); } } void loop() { int value = analogRead(0); showNumber(value); } void showNumber(int number) { if(number == 0) { showDigit(0, nbrDigits-1) ; // отображаем 0 в правом разряде } else { // отображаем значение, соответствующее каждой цифре // крайняя левая цифра 0, правая на единицу меньше, чем число позиций for(int digit = nbrDigits-1; digit >= 0; digit--) ( if(number > 0) ( showDigit(number % 10, digit) ; number = number / 10; ) ) ) ) // Afișează numărul specificat pe această cifră a indicatorului cu 7 segmente void showDigit(int număr, cifră int) ( digitalWrite(digitPins, HIGH); for(int segment = 1; segment< 8; segment++) { boolean isBitSet = bitRead(numeral, segment); // isBitSet будет истинным, если данный бит будет 1 // isBitSet = ! isBitSet; // опционально // раскомментируйте опциональную строчку выше для индикатора с общим анодом digitalWrite(segmentPins, isBitSet); } delay(5); digitalWrite(digitPins, LOW); }

Articole noi

● Proiectul 7: matrice de 4 cifre de indicatori de 7 segmente. Realizarea unui afișaj dinamic

În acest experiment ne vom uita la funcționarea Arduino cu o matrice de șapte segmente pe 4 biți. Să ne facem o idee despre afișajul dinamic, care vă permite să utilizați aceiași pini Arduino atunci când afișați informații pe mai mulți indicatori cu șapte segmente.

Componente necesare:

Matricea cu 4 cifre a indicatorilor cu șapte segmente este formată din patru indicatori cu șapte segmente și este proiectată pentru a afișa simultan 4 cifre pe matrice, de asemenea, este posibil să se afișeze un punct zecimal; Circuitul unei matrice de 4 biți pe indicatori cu 7 segmente este prezentat în Fig. 7.1.

Orez. 7.1. Schema unei matrice de 4 biți pe indicatori cu 7 segmente

Pentru a scoate un număr, trebuie să aprindeți LED-urile necesare pe pinii A-G și DP și să selectați matricea dorită aplicând LOW la pinul 6, 8, 9 sau 12.
Să conectăm contactele matricei la placa Arduino și să ieșim numerele la diverși biți ai matricei. Pentru a conecta avem nevoie de 12 pini Arduino. Schema de conectare pentru conectarea unei matrice de 4 biți la placa Arduino este prezentată în Fig. 7.2. La conectarea contactelor, se folosesc rezistențe de limitare de 510 ohmi.

Orez. 7.2. Diagrama de conectare pentru matricea pe 4 biți la Arduino

Să scriem o schiță de ieșire secvențială a numerelor (0-9) într-un registru arbitrar al matricei. Pentru a selecta o valoare aleatoare din interval, vom folosi funcția random(). Matricea de numere stochează valori corespunzătoare datelor pentru afișarea cifrelor 0-9 (cel mai semnificativ bit al octetului corespunde etichetei segmentului A al indicatorului, iar cel de ordin inferior segmentului G), matricea de pini conține valorile de contact pentru segmentele A-G și DP, matricea pindigits conține valorile de contact pentru selectarea unei cifre de matrice. Conținutul schiței este prezentat în Lista 7.1.

// variabilă pentru a stoca valoarea cifrei curente număr int=0; // indicator cu șapte segmente int digit=0 ; void setup()( pentru (int i=0 ;i<8 ;i++) pinMode(pins[i],OUTPUT); for (int i=0 ;i<4 ;i++) {pinMode(pindigits[i],OUTPUT); digitalWrite(pindigits[i],HIGH); } } buclă goală ()(număr=(număr+1)%10; showNumber(număr); // DS pentru (int i=0;i<4 ;i++) digitalWrite(pindigits[i],HIGH); digit=random(0 ,4 ); digitalWrite(pindigits,LOW); delay(3000 ); } void showNumber( int num)( pentru (int i=0 ;i<7 ;i++) { if (bitRead(numbers,7 -i)==HIGH) // aprinde segmentul // stinge segmentul digitalWrite(pini[i],LOW); ) )
Ordine de conectare:

1. Conectați un indicator cu șapte segmente conform diagramei din Fig. 7.3.
2. Încărcați schița din Lista 7.2 pe placa Arduino.

// listă de pini Arduino pentru conectarea la biții a-g // indicator cu șapte segmente int pini=(9 ,13 ,4 ,6 ,7 ,10 ,3 ,5 ); // valori pentru afișarea numerelor 0-9 numere de octeți = ( B11111100, B01100000, B11011010, B11110010, B01100110, B10110110, B10111110, B11100000, B1111111010, B1111111011); // variabilă pentru stocarea și procesarea valorii curente număr int=0; int număr1=0 ; int număr2=0 ; // indicator cu șapte segmente int pindigits=(2 ,8 ,11 ,12 ); // variabilă pentru a stoca cifra curentă int digit=0 ; // pentru a măsura 100 ms nesemnat lung milis1=0 ; // modul 1 - cronometrul rulează mod=0 ; const int BUTTON=14 ; // Pin 14(A0) pentru conectarea butonului int tekButton = LOW; // Variabilă pentru a salva starea curentă a butonului int prevButton = LOW; // Variabilă pentru a salva starea anterioară// la butoanele boolean ledOn = false ; // Starea curentă a LED-ului (pornit/oprit) void setup(){ // Configurați pinul butonului ca intrare pinMode(BUTON, INTRARE); // Configurați pinii ca ieșiri pentru (int i=0;i<8 ;i++) pinMode(pins[i],OUTPUT); for (int i=0 ;i<4 ;i++) {pinMode(pindigits[i],OUTPUT); digitalWrite(pindigits[i],HIGH); } } buclă goală ()( tekButton = debounce(prevButton); if (prevButton == LOW && tekButton == HIGH) // dacă este apăsat... ( mod=1 -mod; // schimba modul dacă (mod==1 ) număr=0 ; ) if (millis()-millis1>=100 && mode==1 ) (millis1=millis1+100 ; număr=număr+1 ; dacă (număr==10000 ) număr=0 ; ) număr1=număr; pentru (int i=0;i<4 ;i++) { number2=number1%10 ; number1=number1/10 ; showNumber(number2,i); for (int j=0 ;j<4 ;j++) digitalWrite(pindigits[j],HIGH); digitalWrite(pindigits[i],LOW); delay(1 ); } } // funcție pentru afișarea numerelor pe un indicator cu șapte segmente void showNumber( int num, int dig)( pentru (int i=0 ;i<8 ;i++) { if (bitRead(numbers,7 -i)==HIGH) // aprinde segmentul digitalWrite(pini[i],HIGH); altfel // stinge segmentul digitalWrite(pini[i],LOW); ) dacă (sapă==1 ) // punct zecimal pentru a doua cifră digitalWrite(pini,HIGH); ) // Funcția de netezire a sărituri. Acceptă ca // argumentează starea anterioară a butonului și returnează cea actuală. debolean boolean ( ultimul boolean)( curent boolean = digitalRead(BUTTON); // Citiți starea butonului, dacă (ultimul != curent) // dacă s-a schimbat...(d elay ( 5 ) ; // să dem 5 m s curent = digitalRead(BUTTON); // citește starea butonului curent de retur; // returnează starea butonului } }

3. Prin apăsarea butonului pornim sau oprim cronometrul.



Ți-a plăcut articolul? Împărtășește-l