Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2024:sseverin:bianca.popa1106 [2024/05/26 15:44]
bianca.popa1106 [Hardware Design]
pm:prj2024:sseverin:bianca.popa1106 [2024/05/26 18:25] (current)
bianca.popa1106 [Software Design]
Line 46: Line 46:
 Mediul de dezvoltare folosit este Arduino IDE, iar bibliotecile incluse sunt: Mediul de dezvoltare folosit este Arduino IDE, iar bibliotecile incluse sunt:
   * pentru modulul BME280: Adafruit_Sensor.h și Adafruit_BME280.h   * pentru modulul BME280: Adafruit_Sensor.h și Adafruit_BME280.h
-  * pentru display: GxEPD2_BW.h și Fonts/​FreeMonoBold9pt7b.h +  * pentru display: GxEPD2_BW.h, GxEPD2_display_selection_new_style.h și Fonts/​FreeMonoBold9pt7b.h 
-  * pentru conexiunea prin Bluetooth: BluetoothSerial.h.+  * pentru conexiunea prin Bluetooth: BluetoothSerial.h 
 +  * pentru buzzer am inclus header-ul pitches.h, care conține definirea notelor ce vor fi utilizate de acesta. 
 + 
 +Proiectul conține 3 pagini ce afișează informații diverse, prin care se poate naviga utilizând butoanele prev și next, și o pagină pentru oprirea display-ului,​ care se afișează utilizând switch-ul on/off. Pentru comunicarea cu display-ul E-Paper s-a folosit protocolul SPI, iar cele 3 butoane sunt controlate folosind întreruperi. Fotorezistorul controlează trecerea în dark mode/light mode în funcție de luminozitatea din cameră și este integrat în proiect folosind ADC. 
 + 
 +Prima pagină conține informațiile primite de la modulul BME280 (temperatură,​ umiditate, presiune, altitudine),​ cu care s-a realizat comunicarea folosind protocolul I2C. Informațiile sunt rescrise odată la 2 minute, folosind un timer. 
 + 
 +A doua pagină comunică cu senzorul ultrasonic, care, în momentul în care detectează prezența utilizatorului,​ generează un mesaj pe display. Pagina afișează odată la 5 minute, folosind un timer, un citat, precum și autorul și cartea din care este preluat. 
 + 
 +A treia pagină reprezintă un TODO list ce poate fi completat folosind aplicația Serial Bluetooth de pe telefonul conectat prin Bluetooth la ESP32. Pe lângă adăugarea de task-uri, este posibilă și ștergerea acestora, iar fiecare schimbare este însoțită de o notificare audio, folosind buzzer-ul controlat prin PWM. 
 + 
 +Pentru debug am folosit interfața serială USART.  
 + 
 + 
 +În funcția setup() realizez următoarele:​ 
 +  * inițializarea display-ului 
 +  * configurarea pinilor pentru butoane și senzorul ultrasonic 
 +  * inițializarea modulului BME280 
 +  * inițializarea comunicării Bluetooth 
 + 
 +În funcția loop() se realizează următorul curs de execuție:​ 
 +  * citirea valorii de la fotorezistor (dacă aceasta scade sub un prag setat, atunci se face trecerea în dark mode/ dacă crește peste acel prag se face trecerea în light mode) 
 +  * se verifică dacă vreunul dintre cele 3 butoane a fost apăsat și se execută acțiunea corespunzătoare fiecăruia (next - se trece la următoarea pagină, prev - se trece la pagina anterioară,​ power - se trece la pagina de oprire/​pornire) 
 +  * se verifică pagina curentă și se realizează afișarea ei cu funcționalitățile descrise anterior.
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip> +Pentru rezultate, am adăugat câte o poză cu fiecare pagină prezentată:​ 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. + 
-</​note>​+{{ :​pm:​prj2024:​sseverin:​rezultate_popabianca.jpg?​500 |}}
  
 ===== Concluzii ===== ===== Concluzii =====
  
 +Pot spune că sunt foarte încântată de rezultatele obținute, mai ales că este primul proiect hardware atât de complex la care am lucrat. Deși realizarea lui a durat destul de mult timp (+ o bună parte din vacanța de Paște :-|), am lucrat la el cu plăcere și consider că am învățat multe din greșelile pe care le-am făcut. Mi se pare că proiectul are un bun potențial de extindere și, pe viitor, poate voi reuși să îi adaug pagini cu alte noi funcționalități.
 ===== Download ===== ===== Download =====
  
-<note warning>​ +{{:pm:​prj2024:​sseverin:​popa_bianca-asistent_personal.zip|}}
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectuluisurse, 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://​docs.rs-online.com/​308c/​A700000008916343.pdf]] 
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +  * [[https://​www.waveshare.com/​w/​upload/​b/​b6/​7.5inch-e-paper-specification.pdf]] 
-</note>+  ​[[https://​cdn-learn.adafruit.com/​downloads/​pdf/​adafruit-bme280-humidity-barometric-pressure-temperature-sensor-breakout.pdf]] 
 +  ​[[https://​www.handsontec.com/​dataspecs/​HC-SR04-Ultrasonic.pdf]] 
 +  * [[https://​hackaday.io/​project/​189708-esp32-e-paper-weather-display]]
  
 <​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>​
- 
pm/prj2024/sseverin/bianca.popa1106.1716727476.txt.gz · Last modified: 2024/05/26 15:44 by bianca.popa1106
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