This shows you the differences between two versions of the page.
pm:prj2023:abirlica:patriciapopa.proiect [2023/05/07 23:26] patricia.popa |
pm:prj2023:abirlica:patriciapopa.proiect [2023/05/30 09:27] (current) patricia.popa [Download] |
||
---|---|---|---|
Line 2: | Line 2: | ||
===== Introducere ===== | ===== Introducere ===== | ||
- | SafeZone are ca scop implementarea unei zone delimitate de un volum cubic în care o alarmă va porni în cazul accesului neautorizat. Verificarea permisiunii accesului se realizează prin intermediul unui cod introdus printr-un echipament PS2 (în acest caz, un joystick). Notificări sunt transmise în cazul accesului neautorizat. | + | SafeZone are ca scop implementarea unei zone delimitate de o arie în care o alarmă (semnal luminos și auditiv) va porni în cazul accesului neautorizat. Oprirea alarmei se va realiza prin introducerea unei parole printr-un Joystick. În momentul accesului neautorizat este trimisă o notificare pe telefon. |
===== Descriere generală ===== | ===== Descriere generală ===== | ||
Line 16: | Line 16: | ||
* Breadboard | * Breadboard | ||
* LED 5mm | * LED 5mm | ||
- | * Rezistențe | + | * Rezistențe 220Ω, 1000Ω |
* Fire | * Fire | ||
* Ultrasonic Sensor HC-SR04 | * Ultrasonic Sensor HC-SR04 | ||
* Wifi Module ESP8266-01 | * Wifi Module ESP8266-01 | ||
- | * Buzzer | + | * Passive Buzzer |
* PS2 X Y Axis Joystick Module | * PS2 X Y Axis Joystick Module | ||
- | * Logic Level Converter - Bi-Directional | ||
Hardware design: | Hardware design: | ||
Line 28: | Line 27: | ||
{{ :pm:prj2023:abirlica:popamihai_schematic.png?500 |Schema Hardware}} | {{ :pm:prj2023:abirlica:popamihai_schematic.png?500 |Schema Hardware}} | ||
- | <note tip> | + | |
- | Aici puneţi tot ce ţine de hardware design: | + | |
- | * listă de piese | + | |
- | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | |
- | * diagrame de semnal | + | |
- | * rezultatele simulării | + | |
- | </note> | + | |
===== Software Design ===== | ===== Software Design ===== | ||
Line 40: | Line 33: | ||
Mediul de dezvoltare pentru realizarea proiectului este ARDUINO IDE. | Mediul de dezvoltare pentru realizarea proiectului este ARDUINO IDE. | ||
- | <note tip> | + | == ESP-01 == |
- | 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 ===== | + | Codul pentru ESP-01 a fost generat cu ajutorul Arduino Cloud, permițând conectarea lui la serverele Arduino. Acesta a fost încarcat utilizând USB-to-Serial converter de pe Arduino. Utilizând aplicația IFTTT pe dispozitivul mobil, o schimbare într-o variabilă definită în Arduino Cloud și în codul încărcat pe ESP-01 declanșează o notificare. |
- | <note tip> | + | Librăriile utilizate pe ESP-01 sunt ArduinoIoTCloud și Arduino_ConnectionHandler. |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
- | ===== Concluzii ===== | + | == Arduino == |
- | ===== Download ===== | + | Citirea valorilor de la senzorii ultrasonici HCSR04 am apelat la librăria HCSR04. |
+ | Pentru replicarea comunicării seriale cu ESP-01 pe pini digitali, a fost utilizată librăria SoftwareSerial. | ||
- | <note warning> | ||
- | 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**. | + | {{ :pm:prj2023:abirlica:popamihai_code.png?500 |}} |
- | </note> | + | ===== Rezultate Obţinute ===== |
+ | {{ :pm:prj2023:abirlica:popa-mihai-img.jpg?500 | Setup}} | ||
+ | ===== Concluzii ===== | ||
+ | |||
+ | Proiectul a fost interesant, mai ales pe partea cloud/trimis notificări. Pentru asta am explorat mai multe soluții, de la MQTT (pentru care am găsit soluții de Publisher-Subscriber care să funcționeze pe dispozitive mobile, dar din păcate niciuna nu oferea capabilități de trimitere notificări), la server self-hosted, la Blynk și altele. Soluția pe care am utilizat-o în final este o combinație între Arduino IoT Cloud și IFTTT. În cadrul IFTTT, am creat un applet în care la o notificare de la Arduino Cloud (determinată de schimbarea unei variable pe ESP-01), dată de un web request („If This”), determină o acțiune - un email, un mesaj, în cazul acesta, o notificare pe dispozitivul mobil („Then That”). | ||
+ | |||
+ | ===== Download ===== | ||
+ | Arhiva cu resursele folosite se poate descarca de {{:pm:prj2023:abirlica:popa-src.zip|aici}}. | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
- | <note tip> | ||
7 mai - Documentație inițială | 7 mai - Documentație inițială | ||
- | </note> | ||
+ | 12 mai - Distracție cu ESP-01 | ||
+ | |||
+ | 13 mai - Distracție cu ESP-01 pt. 2: Electric Boogaloo | ||
+ | |||
+ | 14 mai - Testare Senzori, LED, Joystick | ||
+ | |||
+ | 18-20 mai - Scriere cod | ||
+ | |||
+ | 26 mai - Cable management, tăiat placă de tego cu fierăstrăul (not fun, do not recommend) | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | Bibliografie Hardware: |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | |
- | </note> | + | - [[https://www.microchip.ua/wireless/esp01.pdf | ESP-01 WiFi Module Datasheet]] \\ |
+ | - [[https://ocw.cs.pub.ro/courses/_media/pm/atmel-7810-automotive-microcontrollers-atmega328p_datasheet.pdf | ATMEGA328P Datasheet]] | ||
+ | |||
+ | |||
+ | Bibliografie Software: | ||
+ | - [[https://github.com/gamegine/HCSR04-ultrasonic-sensor-lib | HCSR04 Librărie]] \\ | ||
+ | - [[https://support.arduino.cc/hc/en-us/articles/360013896199-How-to-integrate-the-Arduino-IoT-with-IFTTT | How to integrate the Arduino IoT with IFTTT]] | ||
<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> | ||