This is an old revision of the document!


Smart Fan

Introducere

Smart Fan este un ventilator inteligent care isi schimba viteza de rotatie in functie de temperatura camerei.

Acesta are doua moduri de functionare:

- modul AUTO: cu cat devine mai cald in camera, cu atat se mareste viteza ventilatorului

- modul MANUAL: se poate schimba viteza de rotatie a ventilatorului cu ajutorul unui potentiometru

Temperatura curenta masurata de senzor va fi aratata pe display-ul OLED (in cazul modului auto). De asemenea va fi aratata starea potentiometrului (in cazul modului manual).

Cu ajutorul butonului de on/off, se poate opri functionarea display-ului si al motorului (butonul verde). Cu ajutorul butonului de switch, se poate trece de la modul auto la modul manual (butonul rosu).

Descriere generală

Hardware Design

Lista de piese folosite:

- motor DC 6V

- senzor temperatura DS18B20

- punte H dubla L298N

- display OLED

- potentiometru

- fire (mama-tata si tata-tata)

- suport 4 baterii AA

Software Design

Mediul de dezvoltare: Arduino IDE

Librarii folosite:

- Wire

- Adafruit_GFX

- Adafruit_SSD1206

- SPI

- OneWire

- DallasTemperature

Structura codului:

Modul AUTO: Se citeste temperatura masurata de senzor. Daca este mai mare decat o valoare maximala (in cazul meu, 31 de grade), ramane la valoarea maximala. Se afiseaza aceasta temperatura pe display. Apoi, calculez viteza de rotatie, doar daca temperatura masurata este mai mare decat o valoare minimala (in cazul meu, 25 de grade): sub aceasta valoare, viteza va fi 0, ventilatorul se opreste. Folosesc o functie determinata de mine (https://www.dcode.fr/function-equation-finder) pentru a transforma valoarea temperaturii in valoarea vitezei de rotatie, pe care apoi o scriu la inputul motorului (prin intermediul driver-ului L298N).

Modul MANUAL: Se citeste valoarea masurata de potentiometru. Folosesc o metoda similara cu cea a modului auto, folosind o alta functie pentru a transforma valoarea masurata de potentiometru in viteza de rotatie a ventilatorului.

Butonul de on/off (cel verde) activeaza o intrerupere pe placa Arduino, care opreste/porneste display-ul si motorul (in functie de starea a sistemului).

Butonul de switch (cel rosu) activeaza o alta intrerupere care schimba modul de functionare de la manual la automat sau invers. Se verifica pe parcursul programului starea valorilor boolean on si manual, care vor determina activarea/modul de functionare al sistemului.

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2022/avaduva/smart_fan.1653655064.txt.gz · Last modified: 2022/05/27 15:37 by teodora.miu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0