Sunteți pe pagina 1din 8

Ministerul Educaţie si Cercetarii al Republicii Moldova

IP Centrul de Excelență în Energetică și Electronică

Catedra ,, Automatizari ''

Lucrarea de laborator NR.6


disciplina : Automatizare cu microprocesoare
Tema : Elaborarea și testarea programului Semafor

A elaborat elevul din grup AT -0119


A verificare profesorul Litvin Nicolae

Chișinau 2023
Lucrare de laborator 6
Tema: Elaborarea și testarea programului Semafor
Scopul lucrării: A deprinde abilitățile de a calcula și asambla circuite electronice
folosind platforma Arduino.

2.Partea teoretiсă
Circuitele logice pot fi implementate ca circuite electronice. În acest caz, un circuit
electronic este o combinație de componente electronice individuale, cum ar fi rezistențe,
condensatoare, inductanțe, diode, tranzistoare și circuite integrate, interconectate.
Circuitele electronice sunt de obicei împărțite în două clase mari - electronice
analogice și digitale (unele circuite ocupă o zonă intermediară „gri”). Circuitele electronice
analogice sunt acelea în care semnalele (curenți sau tensiuni) sunt continue, iar fiecare
dintre mărimile lor este la fel de semnificativă. În circuitele digitale, semnalele iau doar una
din două valori; valorile intermediare sunt irelevante pentru funcționarea circuitului digital.
În circuitele digitale, un semnal poate lua doar câteva stări distincte diferite, care
codifică de obicei valori logice sau numerice. În marea majoritate a cazurilor, se folosește
logica binară (binară), atunci când un anumit nivel de tensiune corespunde unei unități
logice, iar altuia - zero. În circuitele digitale, tranzistoarele sunt extrem de utilizate, din care
sunt construite celule logice (porți): AND, OR, NOT și diferitele lor combinații. De
asemenea, declanșatoarele sunt create pe baza tranzistorilor.
2.1. Cea mai simplă schemă de semafor
După cum știți, un semafor este necesar pentru a controla fluxul de persoane,
mașini etc. În cel mai simplu caz, un semafor este format din trei becuri care se aprind la
anumite intervale. De obicei, culoarea becurilor este roșu, galben și verde.
Când semaforul este aprins, la un moment dat doar o lumină este aprinsă, apoi
semnalul se schimbă în altul. În același timp, semnalul galben arde cel mai puțin în timp
și semnalează schimbarea semnalului verde în roșu sau roșu în verde. Aici puteți face un
tabel 1 cu semnale, unde "1" - există un semnal și "0" - nu există semnal.
tabelul 1
Posibile stări de semafor
roșu Galben Verde
unu 0 0
0 unu 0
0 0 unu

Pe baza Tabelului 1, apoi pentru a controla semnalul, este necesar să aprindeți o


lumină și să opriți restul, adică. este necesar să controlezi fiecare labă separat. În acest
caz, după cum se poate observa din Tabelul 1, există trei stări posibile, i.e. două variabile
sunt suficiente pentru a codifica în sistemul binar (Tabelul 2).
tabelul 2

Tabel cu stări posibile

A B Semnal
0 0 Aprins verde
0 1 Aprins galben
1 0 Aprins roșu
1 1 Stare nevalidă

Pe baza Tabelului 2 vom intocmi o diagrama logica care va corespunde functionarii


unui semafor (Fig. 2).

A Roșu Se da in Roșu Galben Verde


0 0 0 0 1
B Galben 0 1 0 1 0
1 0 1 0 0
unu Verde
1 1 1 1 0

Fig. 2. Schema logică a semaforului cu elementul „SAU-NU”

Cu o astfel de schemă (Fig. 2), atunci când două unități sunt alimentate la intrările A și
B, becurile roșii și galbene se aprind simultan, ceea ce considerăm inacceptabil în condițiile
noastre.
Este posibilă și o schemă logică alternativă pentru un semafor, în care starea invalidă va fi
A=B=0 (Fig. 3). Tabelul de adevăr pentru acest circuit logic este prezentat în Figura 3.

Se da ÎN Roșu Galben Verde


0 0 1 1 0
0 1 1 0 0
1 0 0 1 0
1 1 0 0 1

Pentru a calcula circuitul electronic conform circuitului logic prezentat în figura 2,


după cum se poate observa, sunt necesare trei tranzistoare. Pentru circuitul prezentat în
Figura 3, sunt necesare 4 tranzistoare, iar eficiența energetică a acestui circuit este destul de
mică. Prin urmare, pentru a calcula circuitul electronic, va fi utilizat circuitul logic prezentat
în Figura 2.
În conformitate cu figura 4, vom calcula circuitul electronic al semaforului. Circuitul
necesită: 3 LED-uri, 3 tranzistoare și 8 rezistențe (pe baza datelor din laboratoarele #2,3).
Presupunem că tensiunea aplicată circuitului este de 5V.
HL1
A R7

+5V HL2
R8
B
+5V +5V +5V

R1
R2
RcinciHL3
R6

R4

R3

Fig. 5. Circuitul electronic al semaforului

În figura 5, „R1-R8” sunt rezistențe, „A” și „B” sunt intrări care sunt utilizate pentru
control, „HL1” este un LED roșu, „HL2” este un LED galben și „HL3” este un LED verde .
Valoarea rezistenței rezistențelor R6, R7 și R8 pentru LED-uri trebuie setată la 330 ohmi.

2.1. Controlarea intrărilor prin Arduino UNO


Pentru ca circuitul electronic al semaforului să funcționeze și să înceapă comutarea
semnalelor, este necesar să se controleze intrările A și B. Acest lucru se va întâmpla
programatic prin Arduino.
Luați în considerare diagrama de conectare Arduino UNO. Platforma are 14
intrări/ieșiri digitale (etichetate 0 - 13), 6 intrări analogice (etichetate A0 .. A5), un
oscilator cu cristal de 16 MHz, un conector USB, un conector de alimentare, un conector
ICSP și un buton de resetare. Pentru a funcționa, trebuie să conectați platforma la un
computer printr-un cablu USB sau să furnizați energie folosind un adaptor AC/DC sau o
baterie.
Platforma poate funcționa cu o sursă de alimentare externă de la 6 V la 20 V. Când
tensiunea de alimentare este mai mică de 7 V, ieșirea de 5 V poate ieși mai puțin de 5 V,
în timp ce platforma poate fi instabilă. Când utilizați tensiuni peste 12 V, regulatorul de
tensiune se poate supraîncălzi și deteriora placa. Intervalul recomandat este de la 7V la
12V.
Fiecare dintre cei 14 pini digitali ai Uno poate fi configurat ca intrare sau ieșire.
Pentru aceasta sunt folosite funcțiile pinMode(), digitalWrite() și digitalRead(). Ieșirile
funcționează la o tensiune de 5 V.
Platforma Arduino UNO este prezentată în Figura 6.

Orez. 6. Microcontroler Arduino UNO

Limbajul de programare Arduino se bazează pe C/C++. Mediu de dezvoltare -


Arduino IDE. Codul scris se numește schiță. Interfața mediului de dezvoltare este
prezentată în Figura 7.

Fig. 7. Interfață IDE Arduino


După pornirea IDE-ului Arduino, trebuie să selectați placa - Arduino / Genuino
UNO și portul la care este legată placa după ce este conectată la computer.

Fig. 8. Placă Arduino UNO și configurare porturi

Pentru a încărca schița în Arduino, trebuie să faceți clic pe butonul „Încărcare”.


iar după ce schița va fi verificată pentru erori și dacă nu există
erori, atunci va avea loc următoarea descărcare.
Când scrieți o schiță, trebuie să faceți distincția între void setup() și void loop().
Vod setup() specifică comenzile care trebuie executate o dată la pornirea sistemului. În
void loop() , comenzile sunt executate tot timpul într-o buclă infinită în timp ce placa
Arduino este pornită.
Pentru a declara orice pin (contact) ca ieșire, se folosește comanda pinMode().
Exemplu: setarea 7 pini la modul de ieșire „pinMode(7, OUTPUT);”. Pentru a aplica
tensiune înaltă sau joasă unui pin, utilizați comanda digitalWrite(). Exemplu: setați
tensiunea înaltă pe 7 pini „digitalWrite(7, HIGH);”, setați tensiunea joasă pe 7 pini
„digitalWrite(7, LOW);”. Pentru întârziere se folosește comanda delay(), timpul de
întârziere în milisecunde este indicat în paranteze.
Un exemplu de schiță care setează pinii 7 și 8 la ieșire și stabilește tensiunea pe ei
este prezentat în Figura 9.
Fig. 9. Exemplu de schiță
3. Sarcina pentru munca de laborator
Calculați circuitul electronic al semaforului în conformitate cu opțiunea sarcinii. Sarcina
este dată de profesor.

4. Metodologia de realizare a sarcinii


1. Studiază partea teoretică.
2. Pentru circuitul semaforului prezentat în Figura 5, selectați rezistențele pentru toate
rezistențele.
3. Asamblați circuitul electronic al semaforului prezentat în Fig. 5 (nu conectați
alimentarea).
4. Scrieți o schiță pentru a controla schema semaforului în conformitate cu opțiunea
sarcinii din tabelul 3.
5. Arată profesorului circuitul asamblat și schița scrisă.
6. Încărcați schița pe platforma Arduino UNO.
7. Conectați circuitul la platforma Arduino în conformitate cu opțiunea de sarcină din
Tabelul 3 (nu conectați alimentarea la Arduino).
8. Sub îndrumarea unui profesor, conectați Arduino la o sursă de alimentare. Verificați
dacă circuitul funcționează.
9. Trageți concluzii asupra lucrării și emiteți un raport.
Tabelul 3
Opțiuni de sarcină
Nu. Timp muncă semnale Folosit pin
(lampă verifica)* sec (contacte) pentru
intrările A și B
1 K = 5, F=1, W=5 2.3
2 K = 3, F=1, W=3 2.4
3 K = 2, F=1, W=2 3.4
4 K = 4, F = 1, W = 4 3.5
5 K = 5, F=2, W=4 4.6
6 K = 3, F=2, W=4 5.6
7 K = 5, F=2, W=5 5.7
8 K = 4, F=2, W=6 6.8
*K - roșu, Zh - galben, Z - verde
5. Cerințe pentru conținutul și designul raportului
Raportul de lucru al laboratorului trebuie să conțină: a) pagina de
titlu;
b) o descriere a progresului lucrării; c) un circuit
electronic al unui semafor;
d) codul de program al schiței;
e) concluzie asupra lucrărilor efectuate;
Concuzie:

Bibliografie:
1. http://www.bobtech.ro/tutoriale/microcontrolere/65-cum-comanzi-un-lcd-
alfanumeric
2. https://pzik.ru/ro/podklyuchenie-lsd-1602-podklyuchenie-lcd-k-arduino-plate/

S-ar putea să vă placă și