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
Structura logică și funcționarea sistemului
Definiții, Variabile și Funcții:
#define FAN_PIN 3
pinul D3 de pe Arduino este utilizat pentru controlul ventilatorului
#define SENSOR_PIN 2
pinul D2 de pe Arduino primește semnalul digital de la senzorul IR
LiquidCrystal_I2C lcd(0x27, 16, 2)
obiect care controlează un afișaj LCD 1602 conectat prin interfață I2C, cu adresa 0x27
bool drying
indică dacă sistemul se află în starea activă de uscare
unsigned long startTime
momentul în care a început uscarea
const unsigned long dryingDuration
60000 – durata uscării în milisecunde (60 secunde)
setup()
configurare pini pentru ventilator și senzor, inițializare LCD
loop()
logică principală de control și afișare
millis()
temporizare non-blocantă pentru countdown
analogWrite(FAN_PIN, duty)
control PWM pentru ventilator
lcd.*()
pentru inițializarea și manipularea afișajului
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: