This shows you the differences between two versions of the page.
pm:prj2024:rpascale:albert.daraban [2024/05/04 13:21] albert.daraban [Hardware Design] |
pm:prj2024:rpascale:albert.daraban [2024/05/15 18:20] (current) albert.daraban [Download] |
||
---|---|---|---|
Line 5: | Line 5: | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
+ | |||
+ | {{:pm:prj2024:rpascale:daraban.albert_diagram.png|}} | ||
Sistemul va fi compus din următoarele module principale: | Sistemul va fi compus din următoarele module principale: | ||
Line 18: | Line 20: | ||
* ESP8266: Microcontroler Wi-Fi care va fi programat să citească datele de la senzor, să le transmită wireless și să controleze acțiunile. | * ESP8266: Microcontroler Wi-Fi care va fi programat să citească datele de la senzor, să le transmită wireless și să controleze acțiunile. | ||
- | * Senzor de temperatură și umiditate: Va detecta valorile ambiante ale temperaturii și umidității și le va transmite ESP8266. | + | * Senzor de temperatură și umiditate (DHT11): Va detecta valorile ambiante ale temperaturii și umidității și le va transmite ESP8266. |
* LED-uri: Vor fi conectate la ESP8266 și vor fi aprinse când valorile temperaturii sau umidității depășesc parametrii configurați. | * LED-uri: Vor fi conectate la ESP8266 și vor fi aprinse când valorile temperaturii sau umidității depășesc parametrii configurați. | ||
- | * Elice: Va fi conectată la ESP8266 și va fi pornită când valorile temperaturii sau umidității depășesc parametrii configurați. | + | * L293D H-Bridge Motor Driver: Folosit pentru controlul motorașului |
- | * Fire: Vor fi utilizate pentru a conecta componentele hardware la ESP8266. | + | * Motoraș: Învârtește elicea |
+ | * Elice: Face vânt. | ||
+ | * Breadboard power supply: Elimenteza cu 5V senzorul si motor driver-ul. | ||
+ | * Baterie 9V alimenteaza power supply-ul | ||
+ | * Fire | ||
+ | * Rezistente | ||
* Breadboard: O placă de prototipare care va fi utilizată pentru a conecta componentele hardware fără a fi necesară lipirea lor. | * Breadboard: O placă de prototipare care va fi utilizată pentru a conecta componentele hardware fără a fi necesară lipirea lor. | ||
+ | |||
+ | {{:pm:prj2024:rpascale:albert.daraban_schema_electica.png?700|600}} | ||
+ | |||
+ | === Folosirea pinilor ESP8266 === | ||
+ | ESP8266 pune la dispozitia utilizatorului 9 pini digitali | ||
+ | * D1 Preluarea datelor de la senzor. | ||
+ | * D2 Aprinderea LED-ului pentru umiditate. | ||
+ | * D3 Aprinderea LED-ului de temperatura. | ||
+ | * D5 Controleaza viteaza motorului prin componenta L293D. | ||
+ | * D6 si D8 Controleaza directia motorului prin componenta L293D. | ||
+ | |||
+ | === Proof === | ||
+ | |||
+ | {{:pm:prj2024:rpascale:albert.daraban_proof.jpg?700|600}} | ||
+ | |||
===== Software Design ===== | ===== Software Design ===== | ||
+ | === Mediu de dezvoltare === | ||
+ | Am ales sa folosesc Visual Studio Code, cu extensia PlatformIO, pe un sistem x86_64 cu sistem-ul de operare Windows 11. | ||
- | <note tip> | + | === Biblioteci si surse 3rd-party === |
- | Descrierea codului aplicaţiei (firmware): | + | * [[https://registry.platformio.org/platforms/platformio/espressif8266|Arduino for ESP8266]] folosit pentru: utilizarea serialei, activarea pinilor, WIFI, TCP, UDP, timere (Ticker). |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | * [[https://registry.platformio.org/libraries/winlinvip/SimpleDHT|SimpleDHT]] pentru citirea senzorului. |
- | * 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 ===== | + | === Codul sursa === |
+ | Codul sursa se afla in acest [[https://github.com/Earthbert/PM-project|repozitor]]. | ||
- | <note tip> | + | === Logica program === |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | Proiectul este împărțit in doua bucăți logice: |
- | </note> | + | * Server, rulează pe microcontroler. |
+ | * Citește senzorul si deschide doua led-uri si un motor in funcție de temperatura/umiditate. | ||
+ | * Face broadcast in rețeaua locala pentru a anunța potențialii clienți de prezenta sa si de propria adresa IP. | ||
+ | * Permite conectarea unui client prin WIFI la el. | ||
+ | * Client, se conectează la server | ||
+ | * Cauta server-ul in rețea si se conectează la el. | ||
+ | * Poate cere valorile citite se senzor. | ||
+ | * Poate modifica parametri de aprindere a led-urilor si a motorului. | ||
- | ===== Concluzii ===== | + | Pentru funcționare client-ul si server-ul trebuie sa fie in aceeași rețea. Server-ul poate menține legătura doar cu un client la un anumit moment. |
- | ===== Download ===== | ||
- | <note warning> | + | ===== Rezultate Obținute/Concluzii ===== |
- | 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**. | + | Proiectul fiind unul destul de simplu funcționează cum te ai aștepta. O problema este descărcarea rapidă a bateriei de 9V si faptul că uneori nu merge :). |
- | </note> | + | |
- | ===== Jurnal ===== | + | ===== Download ===== |
- | <note tip> | + | {{:pm:prj2024:rpascale:albert.daraban_pm.zip|}} |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
- | </note> | + | |
- | ===== Bibliografie/Resurse ===== | ||
- | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | ||
- | </note> | ||
- | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | + | ===== Bibliografie/Resurse ===== |
+ | |||
+ | * https://github.com/esp8266/Arduino | ||
+ | * https://github.com/winlinvip/SimpleDHT | ||
+ | * https://fritzing.org/ | ||
+ | * https://www.mouser.com/datasheet/2/758/DHT11-Technical-Data-Sheet-Translated-Version-1143054.pdf | ||
+ | * https://www.ti.com/lit/ds/symlink/l293d.pdf?ts=1715707378297&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FL293D | ||