This shows you the differences between two versions of the page.
pm:prj2022:avaduva:smart_fan [2022/05/27 14:29] teodora.miu [Introducere] |
pm:prj2022:avaduva:smart_fan [2022/05/27 16:14] (current) teodora.miu [Bibliografie/Resurse] |
||
---|---|---|---|
Line 22: | Line 22: | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
- | <note tip> | + | __Lista de piese folosite__: |
- | * listă de piese: motor DC 6V, senzor temperatura DS18B20, punte H dubla L298N, display OLED, potentiometru, fire, suport 6 baterii AA | + | |
- | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | - motor DC 6V |
- | * diagrame de semnal | + | |
- | * rezultatele simulării | + | - senzor temperatura DS18B20 |
- | </note> | + | |
+ | - punte H dubla L298N | ||
+ | |||
+ | - display OLED | ||
+ | |||
+ | - potentiometru | ||
+ | |||
+ | - fire (mama-tata si tata-tata) | ||
+ | |||
+ | - suport 4 baterii AA | ||
+ | |||
+ | {{:pm:prj2022:avaduva:schema_tmiu.png?700|}} | ||
===== Software Design ===== | ===== 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. | ||
- | <note tip> | ||
- | Descrierea codului aplicaţiei (firmware): | ||
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | ||
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | ||
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | ||
- | * (etapa 3) surse şi funcţii implementate | ||
- | </note> | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | **DEMO** |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | https://drive.google.com/file/d/1wIx1pyRJh8H2I5YNZR8PETIqa9jjN-UG/view?usp=sharing |
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | |||
+ | Datorita acestui mic proiect, am invatat lucruri interesante despre functionarea unui microprocesor ATmega328P si compatibilitatea acestuia cu diferite componente. Regret ca nu am avut mai mult timp sa dedic acestui proiect, deoarece sunt sigura ca cu ajutorul cunostiintelor acumulate as fi putut face ceva mai ambitios. Totodata, consider ca ceea ce am invatat imi va fi foarte util pe viitor, pentru ca legatura dintre software si hardware mi se pare fascinanta. | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | {{:pm:prj2022:avaduva:smart_fan.rar|}} |
- | 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**. | ||
- | </note> | ||
- | ===== Jurnal ===== | ||
- | |||
- | <note tip> | ||
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | ||
- | </note> | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | https://www.youtube.com/watch?v=PrIAnDZ9dp8&t=11s |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | |
- | </note> | + | https://www.youtube.com/watch?v=Ey4xoG970Go |
+ | |||
+ | https://create.arduino.cc/projecthub/TheGadgetBoy/ds18b20-digital-temperature-sensor-and-arduino-9cc806 | ||
+ | |||
+ | https://lastminuteengineers.com/ds18b20-arduino-tutorial/ | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||