0% au considerat acest document util (0 voturi)
13 vizualizări4 pagini

Exerciții Arduino 2023

Drepturi de autor
© © All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
13 vizualizări4 pagini

Exerciții Arduino 2023

Drepturi de autor
© © All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

Aplicat, ii Arduino

Ana Neacs, u, Alexandru Guzu


Octombrie 2023

Exercit, iul # 1
Problemă:
Scriet, i un program prin care să controlat, i frecvent, a de pâlpâire a unui LED.
Considerăm schema din figura de mai jos.

Figura 1: Schema generală

Scriet, i un program ı̂n cod Arduino, folosind Arduino IDE prin care să
controlat, i frecventa de pâlpâire a LED-ului, urmărind semnalul de comandă
ment, ionat mai jos.

1. Un semnal cu frecvent, ă fixă, de perioadă T = 500ms, ca ı̂n figura 2a.


2. Un semnal cu frecvent, ă crescătoare, ca ı̂n figura 2b, unde delay = 0,0625s.

1
(a) frecvent, ă fixă

(b) frecvent, ă variabilă

Figura 2: Semnal comandă LED.

Observat, ii:
• Pentru a asigura perioada ceruta se va folosi funct, ia delay.

• Programul trebuie să ruleze ı̂ntr-un ciclu infinit.

2
Exercit, iul # 2
Problemă:
Dorim să realizăm un sistem care să măsoare nivelul de iluminare dintr-o ı̂ncăpere.
Avem la dispozit, ie un sensor de lumină rezistiv 5528 LDR. Schemă electrică a
sistemului este prezentat ı̂n figura 3.

(a) Schemă sistem de măsurare de nivelului (b) Schemă sistem de măsurare de nivelului
de iluminare de iluminare si controlul motorului

Figura 3: Schema generală

Se cere:
1. Scriet, i un program care să măsoare intensitatea luminii s, i să afis, eze ı̂n
consolă nivelul ı̂n lucsi. Senzorul funct, ionează după următoare lege de
conversie:

lux = 500/(RLDR /1000)

unde RLDR se determina conform formulei:

RLDR = (R ∗ (Vin − Vout ))/Vout

iar Vout este:

Vout = VA0 ∗ (Vin /1023)

2. Scriet, i un program care să măsoare nivelul de iluminare odată la 30 de


secunde s, i dacă nivelul de lumină este mai ridicat decât 2000 de lucsi să
act, ioneze un servo motor care să se ı̂nvârtă cu 90 de grade spre dreapta.
Observat, ii:
• SoC-ul are integrat un ADC cu rezolut, ie de 10 b.
• Programul trebuie să ruleze ı̂ntr-un ciclu infinit.

3
1 Definit, ii

Exercit, iul 1 Exercit, iul 2


I O Funct, ii I O Funct, ii
delay() delay()
D4 pinMode() D8 myservo.attach()
D4 pinMode() myservo.write()
D4 digitalWrite() A0 analogRead()

Link-uri utile

• Arduino Nano: https://docs.arduino.cc/hardware/nano


• Galileo: https://docs.oracle.com/javame/8.3/get-started-galileo/
device-i-o-preconfigured-list.htm#MEEGG-GUID-C6028ADB-07FC-4485-AAB9-25522C7B2EEB
• ESP32: https://www.electronicshub.org/esp32-pinout/

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