This shows you the differences between two versions of the page.
pm:prj2025:ajipa:cristian.filip1606 [2025/05/30 02:27] cristian.filip1606 [Descriere generală] |
pm:prj2025:ajipa:cristian.filip1606 [2025/05/30 02:49] (current) cristian.filip1606 [Jurnal] |
||
---|---|---|---|
Line 26: | Line 26: | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | {{https://ocw.cs.pub.ro/courses/_media/pm/prj2025/ajipa/diagrama_finn.png}} | + | {{https://ocw.cs.pub.ro/courses/_media/pm/prj2025/ajipa/diagram_finn.png}} |
===== Hardware Design ===== | ===== Hardware Design ===== | ||
- | {{https://ocw.cs.pub.ro/courses/_media/pm/prj2025/ajipa/schemacff.png}} | + | {{https://ocw.cs.pub.ro/courses/_media/pm/prj2025/ajipa/schema_fin.png}} |
===== Piese Electrice ===== | ===== Piese Electrice ===== | ||
Line 38: | Line 38: | ||
| Placă Arduino UNO | Microcontroller ATmega328P, 5V, 16MHz | GPIO, I2C, PWM | [[https://www.optimusdigital.ro/ro/compatibile-cu-arduino-uno/1678-placa-de-dezvoltare-compatibila-cu-arduino-uno-atmega328p-i-ch340.html?gad_source=1&gad_campaignid=19615979487&gclid=CjwKCAjwuIbBBhBvEiwAsNypvSuqvIRJnv6JDi6S6VzdplsVZUpyJNe3f0g7of-OoCexKtJsAG650hoCf3IQAvD_BwE|Link]] | | | Placă Arduino UNO | Microcontroller ATmega328P, 5V, 16MHz | GPIO, I2C, PWM | [[https://www.optimusdigital.ro/ro/compatibile-cu-arduino-uno/1678-placa-de-dezvoltare-compatibila-cu-arduino-uno-atmega328p-i-ch340.html?gad_source=1&gad_campaignid=19615979487&gclid=CjwKCAjwuIbBBhBvEiwAsNypvSuqvIRJnv6JDi6S6VzdplsVZUpyJNe3f0g7of-OoCexKtJsAG650hoCf3IQAvD_BwE|Link]] | | ||
| Modul RTC DS3231 | Ceas de timp real cu baterie CR2032. Poate declansa o alarma la o ora programata. | I2C: A4 (SDA), A5 (SCL), D2 (SQW) pentru intreruperi | [[https://www.optimusdigital.ro/ro/altele/12402-modul-cu-ceas-in-timp-real-ds3231.html?gad_source=1&gad_campaignid=19615979487&gclid=CjwKCAjwuIbBBhBvEiwAsNypvZMCiacxBIruH2bCbXfIVFrxiEQA8YONAZVDj--9uoOM2vpThE3Y-BoC7u0QAvD_BwE|Link]] | | | Modul RTC DS3231 | Ceas de timp real cu baterie CR2032. Poate declansa o alarma la o ora programata. | I2C: A4 (SDA), A5 (SCL), D2 (SQW) pentru intreruperi | [[https://www.optimusdigital.ro/ro/altele/12402-modul-cu-ceas-in-timp-real-ds3231.html?gad_source=1&gad_campaignid=19615979487&gclid=CjwKCAjwuIbBBhBvEiwAsNypvZMCiacxBIruH2bCbXfIVFrxiEQA8YONAZVDj--9uoOM2vpThE3Y-BoC7u0QAvD_BwE|Link]] | | ||
- | | LCD 1602 cu I2C | Ecran 16x2 caractere, 5V, cu backlight | I2C: A4 (SDA), A5 (SCL) | [[https://www.optimusdigital.ro/ro/optoelectronice-lcd-uri/2894-lcd-cu-interfata-i2c-si-backlight-albastru.html?gad_source=1&gad_campaignid=19615979487&gclid=CjwKCAjwuIbBBhBvEiwAsNypvT_miZaghFfJTq54sJWPGg23eKcNEWMuE-zpXz3qIFW_N-FthxyJwxoCGj0QAvD_BwE|Link]] | | + | | Modul BLuetooth HC-05 | Modul Bluetooth pentru comunicarea cu arduino | TXD - D4, RXD - D5 | [[https://www.optimusdigital.ro/ro/wireless-bluetooth/153-modul-bluetooth-master-slave-hc-05-cu-adaptor.html?search_query=bluetooth&results=152|Link]] | |
| Senzor de temperatură și umiditate DHT22 | Măsoară temperatura și umiditatea ambientală | D4 | [[https://www.optimusdigital.ro/ro/senzori-senzori-de-temperatura/3157-senzor-de-temperatura-i-umiditate-dht22am2302b.html?search_query=0104110000026972&results=1 |Link]] | | | Senzor de temperatură și umiditate DHT22 | Măsoară temperatura și umiditatea ambientală | D4 | [[https://www.optimusdigital.ro/ro/senzori-senzori-de-temperatura/3157-senzor-de-temperatura-i-umiditate-dht22am2302b.html?search_query=0104110000026972&results=1 |Link]] | | ||
| Breadboard| Conectarea tuturor componentelor, pentru a asigura funcționarea sistemului | - | [[https://www.optimusdigital.ro/ro/prototipare-breadboard-uri/44-breadboard-400-points.html?search_query=breadboard&results=126|Link]] | | | Breadboard| Conectarea tuturor componentelor, pentru a asigura funcționarea sistemului | - | [[https://www.optimusdigital.ro/ro/prototipare-breadboard-uri/44-breadboard-400-points.html?search_query=breadboard&results=126|Link]] | | ||
Line 45: | Line 45: | ||
| Motor stepper GM12-15BYC-1210 | Motor pas cu pas cu reductor ce functioneaza la 5V-12V DC, cu 14 RPM si 840 gf*cm cuplu la 5V, utilizat pentru a roti mecanismul de tragere a jaluzelelor.| Controlat prin pinii D8–D11 via L9110S | [[https://www.optimusdigital.ro/ro/motoare-motoare-pas-cu-pas/2930-micro-motor-pas-cu-pas-gm12-15byc-1210.html?search_query=motor&results=611 | Link]] | | | Motor stepper GM12-15BYC-1210 | Motor pas cu pas cu reductor ce functioneaza la 5V-12V DC, cu 14 RPM si 840 gf*cm cuplu la 5V, utilizat pentru a roti mecanismul de tragere a jaluzelelor.| Controlat prin pinii D8–D11 via L9110S | [[https://www.optimusdigital.ro/ro/motoare-motoare-pas-cu-pas/2930-micro-motor-pas-cu-pas-gm12-15byc-1210.html?search_query=motor&results=611 | Link]] | | ||
| Driver motor L9110S | Driver H-bridge pentru controlul curentului în bobinele motorului| D8, D9, D10, D11 | [[https://www.optimusdigital.ro/ro/drivere-de-motoare-cu-perii/480-driver-de-motoare-l9110s.html?search_query=L9110S&results=3 | Link]] | | | Driver motor L9110S | Driver H-bridge pentru controlul curentului în bobinele motorului| D8, D9, D10, D11 | [[https://www.optimusdigital.ro/ro/drivere-de-motoare-cu-perii/480-driver-de-motoare-l9110s.html?search_query=L9110S&results=3 | Link]] | | ||
- | | Shield WiFi cu ESP8266 | Permite setarea alarmei prin rețea WiFi, comunică pe Serial | D0 (RX), D1 (TX) | [[https://www.optimusdigital.ro/ro/shield-uri-pentru-arduino/4360-shield-wifi-pentru-arduino-cu-esp8266.html?search_query=0104110000035363&results=1 | Link ]]| | ||
| 2× Baterii 18650 de 3.6V | Alimentare pentru motor prin driver L9110S | - | - | | | 2× Baterii 18650 de 3.6V | Alimentare pentru motor prin driver L9110S | - | - | | ||
| Mecanism de prindere a atei jaluzelelor printat 3D | Realizat din 3 piese, o rotita "zimtata", un suport pentru rotita si o piesa pentru stabilitatea rotitei. | - | - | | | Mecanism de prindere a atei jaluzelelor printat 3D | Realizat din 3 piese, o rotita "zimtata", un suport pentru rotita si o piesa pentru stabilitatea rotitei. | - | - | | ||
Line 63: | Line 62: | ||
* Stepper.h - control motor pas cu pas | * Stepper.h - control motor pas cu pas | ||
* DHT.h - senzor de temperatura si umiditate | * DHT.h - senzor de temperatura si umiditate | ||
- | * LiquidCrystal_I2C.h - afisaj pe ecran LCD 16x2 | + | * SoftwareSerial.h - pentru comunicarea cu HC-05 |
- | * ESP8277Wifi.h (pentru programare directa ESP) - gestionare WiFi si server HTTP | + | |
== Algoritmi si structuri implementate == | == Algoritmi si structuri implementate == | ||
- | * Initializarea componentelor: RTC, motor, LCD, senzori | + | * Initializarea componentelor: RTC, motor, HC-05, senzori |
* Citirea constanta a timpului din modulul DS3231 | * Citirea constanta a timpului din modulul DS3231 | ||
- | * Compararea timpului curent cu ora setata ca alarma (manual sau din WiFi) | + | * Compararea timpului curent cu ora setata ca alarma (prin Bluetooth) |
- | * Actionarea motorului pentru deschiderea jaluzelelor la declansarea alarmei | + | * Actionarea motorului pentru deschiderea jaluzelelor la declansarea alarmei sau la dorinta utilizatorului prin Bluetooth |
- | * Comunicare seriala cu ESP8266 pentru receptia alarmei setate prin browser | + | * Comunicare seriala cu Bluetooth pentru receptia alarmei setate prin aplicatia Serial Bluetooth Terminal |
- | * Declansarea motorului in functie de conditii predefinite | + | * Declansarea motorului in functie de conditii predefinite (temperatura sau luminozitate pre amare) |
Line 92: | Line 90: | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Proiectul meu demonstreaza utilitatea unui sistem inteligent de deschidere automata a jaluzelelor, ce functioneaza si ca o alarma "mai sanatoasa", care nu provoaca o senzatie de stres utilizatorilor, asa cum este cazul alarmelor obisnuite cu sunet. | ||
+ | |||
+ | == Posibile imbunatatiri == | ||
+ | |||
+ | * Dimensiune scazuta - proiectul poate fi in continuare minimizat din punct de vedere spatial, astfel incat tot sistemul sa poata fi montat pe perete, langa jaluzele. | ||
+ | |||
+ | * Motor mai puternic - Se poate alege un motor mai puternic pentru cazul in care jaluzelele sunt prea grele de actionat. | ||
+ | |||
+ | * Eficienta energetica - Se poate optimiza proiectul astfel incat bateriile sa fie conectate doar atunci cand este cu adevarat nevoie, prin intermediul unui releu, intrucat am observat ca motorul se incalzeste cand este conectat la baterii. | ||
===== Download ===== | ===== Download ===== | ||
+ | |||
+ | {{https://ocw.cs.pub.ro/courses/_media/pm/prj2025/ajipa/arduino_fin.zip}} | ||
+ | |||
<note warning> | <note warning> | ||
Line 100: | Line 110: | ||
</note> | </note> | ||
- | ===== Jurnal ===== | + | ===== Cod sursa ===== |
+ | Codul sursa complet al proiectului este disponibil in repository-ul GitHub: | ||
- | <note tip> | + | https://github.com/cristianfilip11/IntelligentThermostat |
- | 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 ===== |