This is an old revision of the document!
Nume: Zugravescu Adina-Andreea
Grupa: 331CD
Ideea a pornit de la dorința de a automatiza un proces simplu, dar des întâlnit, oferind o soluție practică. Dispozitivul este ușor de folosit, eficient și util atât acasă, cât și în saloane.
Lista de componente:
Diagrama circuit
1. Conectare senzor IR (KY-032): - GND la GND de pe Arduino - VCC la +5V de pe Arduino - OUT la pinul digital D2 de pe Arduino - EN lăsat neconectat
2. Conectare LCD 1602 cu interfață I2C: - GND la GND de pe Arduino - VCC la +5V de pe Arduino - SDA la pinul A4 de pe Arduino - SCL la pinul A5 de pe Arduino
3. Conectare ventilator 12V: - GND la drain al MOSFET-ului IRF520N - VCC la +5V de pe USB - Source-ul MOSFET-ului la GND - Gate-ul MOSFET-ului la pinul D3 (PWM) al Arduino, printr-o rezistență de 220Ω
4. Alte componente: - Diodă 1N4007 în paralel cu ventilatorul: catodul la +5V, anodul la drain - Rezistență de pull-down de 10kΩ între gate și GND (pentru a menține MOSFET-ul oprit când nu e activat) - Condensator ceramic de 47nF între +5V și GND pentru filtrarea alimentării
Notă: GND-ul Arduino și GND-ul alimentării externe sunt unite pe breadboard pentru a asigura masă comună.
Mediu de dezvoltare: Arduino IDE
Biblioteci folosite:
Wire.h – pentru comunicarea I2C cu LCD-ul
LiquidCrystal_I2C.h – pentru controlul afișajului LCD 1602 cu interfață I2C
Descrierea codului aplicației
Codul monitorizează un senzor IR digital pentru a detecta prezența unei mâini. La detecție, se pornește un ventilator controlat prin PWM timp de 60 de secunde. Afișajul LCD conectat prin I2C arată un countdown, iar în ultimele 8 secunde viteza ventilatorului scade treptat (PWM: 150, 100, 50). După încheiere, ventilatorul se oprește și se afișează mesajul „Done!”, urmat de revenirea la starea „Ready”.
Algoritmi și structuri implementate
millis()
folosită pentru countdown și control treptat al ventilatorului
analogWrite()
cu valori 200 → 150 → 100 → 50 în ultimele 8 secunde
Funcții implementate
Validare funcționalități
Ventilatorul pornește automat la 200 PWM când senzorul detectează o mână. LCD-ul afișează countdown-ul de 60 de secunde în timp real. În ultimele 8 secunde, PWM-ul este redus gradual: 150 → 100 → 50. După terminare, este afișat „Done!”, urmat de revenirea la „Ready”. Pe Serial Monitor se afișează „Hand detected”, valorile PWM și „Fan state: 0” după finalizare.
Elemente de noutate
Optimizări realizate
Video demonstrativ: https://youtube.com/shorts/mH0Pf0XKjyc?feature=share
Proiectul m-a ajutat să înțeleg mai bine integrarea componentelor hardware cu logica software într-un sistem automat. A fost o experiență practică utilă, care mi-a consolidat noțiunile studiate în cadrul laboratoarelor de PM.
Resurse Hardware:
Resurse Software: