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/