Differences

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

Link to this comparison view

pm:prj2025:mdinica:cristian.popescu03 [2025/05/29 23:02]
cristian.popescu03 [Software Design]
pm:prj2025:mdinica:cristian.popescu03 [2025/05/30 01:10] (current)
cristian.popescu03 [Jurnal]
Line 28: Line 28:
   * Ecranul va fi folosit pentru afișarea aplicațiilor și conținutului.   * Ecranul va fi folosit pentru afișarea aplicațiilor și conținutului.
   * Funcția capacitivă a modulului permite utilizatorului sa navigheze prin aplicații și să controleze anumite funcționalități ale acestora.   * Funcția capacitivă a modulului permite utilizatorului sa navigheze prin aplicații și să controleze anumite funcționalități ale acestora.
 +  * Ecranul dispune de un Touch Pen pentru a crește precizia.
  
 ^ ^ Pin ^ Pin ESP32 ^ Descriere ^ ^ ^ Pin ^ Pin ESP32 ^ Descriere ^
Line 161: Line 162:
   * La fiecare revenire, homescreen-ul este actualizat. Dacă utilizatorul s-a conectat la Wi-Fi, atunci vremea si timpul sunt actualizate cu date in timp real.   * La fiecare revenire, homescreen-ul este actualizat. Dacă utilizatorul s-a conectat la Wi-Fi, atunci vremea si timpul sunt actualizate cu date in timp real.
  
-</​note>​ 
 ** Main loop ** ** Main loop **
 <code cpp> <code cpp>
- 
 void loop() { void loop() {
     // If button is pressed, toggle the display     // If button is pressed, toggle the display
Line 172: Line 171:
     }     }
  
-        ​// Check and handle any gesture+    ​// Check and handle any gesture
     if (get_sensor_flag())     if (get_sensor_flag())
         handle_gesture();​         handle_gesture();​
  
-        ​// If the screen is off, return+    ​// If the screen is off, return
     if (!screen_on) {     if (!screen_on) {
         idle();         idle();
Line 182: Line 181:
     }     }
                
-        ​// If the clock timer updated the time, draw the new time+    ​// If the clock timer updated the time, draw the new time
     if (update_time) {     if (update_time) {
         update_time = false;         update_time = false;
-            ​draw_clock_time();​+        ​draw_clock_time();​
     }     }
  
-        ​// Check for any touch+    ​// Check for any touch
     uint16_t touch_x = 0, touch_y = 0;     uint16_t touch_x = 0, touch_y = 0;
     bool touch = tft.getTouch(&​touch_x,​ &​touch_y);​     bool touch = tft.getTouch(&​touch_x,​ &​touch_y);​
  
     if (!touch)     if (!touch)
-            ​return;+        ​return;
  
     // If user exited app, redraw homescreen     // If user exited app, redraw homescreen
Line 200: Line 199:
 } }
 </​code>​ </​code>​
 +</​note>​
  
 <​note>​ <​note>​
Line 224: Line 223:
  
 {{pm:​prj2025:​mdinica:​cristian.popescu03:​music_app_v1.jpeg?​700x800|Music app}} {{pm:​prj2025:​mdinica:​cristian.popescu03:​music_app_v1.jpeg?​700x800|Music app}}
 +
 +== ESPhone v2.0 ==
 +
 +{{pm:​prj2025:​mdinica:​cristian.popescu03:​esphone_with_battery.jpeg?​225x450|ESPhone}}
 +{{pm:​prj2025:​mdinica:​cristian.popescu03:​keyboard.jpeg?​225x450|ESPhone keyboard}}
 +{{pm:​prj2025:​mdinica:​cristian.popescu03:​bytechat.jpeg?​225x450|ESPhone ByteChat app}}
 +
 +{{pm:​prj2025:​mdinica:​cristian.popescu03:​esphone_pm.jpeg?​700x850|Paint app again}}
 +
 +{{pm:​prj2025:​mdinica:​cristian.popescu03:​back_with_espen_holder.jpeg?​700x510|ESPhone with ESPen holder}}
 ===== Concluzii ===== ===== Concluzii =====
  
-===== Download =====+După multe zile de debugging și o grămadă de fire lipite, pot să spun că am reușit să creez ceea ce mi-am propus: un telefon ușor de folosit, greu de asamblat. Am învățat o grămadă de lucruri noi, mai ales pe partea de embedded, și sigur nu o să uit această experiență prea curând.
  
 ===== Jurnal ===== ===== Jurnal =====
  
 +<​note>​ 
 +    * 15.04.2025 -> M-am decis în legătură cu tema proiectului. 
 +    * 22.04.2025 -> Am comandat ecranul TFT LCD 2.8"​. 
 +    * 28.04.2025 -> Am desenat UI pentru aplicații. 
 +    * 5.05.2025 -> Am comandat un kit Plusivo, ESP32 DevKit-V1 si un APDS9960. 
 +    * 11.05.2025 -> M-am apucat să dezvolt "​OS-ul"​ pentru ESPhone. 
 +    * 15.05.2025 -> Am cumpărat o placă de test. De asemenea, am implementat aplicația de desenat, de redat muzică, conectat la WiFi și schimbat culoarea fundalului. 
 +    * 22.05.2025 -> Am cumpărat fire pentru momentul când voi lipi piesele pe placa de test. 
 +    * 27.05.2025 -> Am implementat aplicația de mesagerie si galerie foto. 
 +    * 28.05.2025 -> Am lipit componentele pe placa de test. 
 +    * 29.05.2025 -> Am finalizat ESPhone. 
 +</​note>​
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
 +
 +Resurse Software:
 +  * https://​github.com/​Bodmer/​TFT_eSPI
 +  * https://​github.com/​Bodmer/​TJpg_Decoder
 +  * https://​randomnerdtutorials.com/​esp32-tft-touchscreen-display-2-8-ili9341-arduino/​
 +  * https://​randomnerdtutorials.com/​esp32-ntp-timezones-daylight-saving/​
 +  * https://​randomnerdtutorials.com/​esp32-date-time-ntp-client-server-arduino/​
 +  * https://​github.com/​nayarsystems/​posix_tz_db/​blob/​master/​zones.csv
 +  * https://​projecthub.arduino.cc/​tmekinyan/​playing-popular-songs-with-arduino-and-a-buzzer-546f4a
 +  * https://​github.com/​hibit-dev/​buzzer
 +  * https://​randomnerdtutorials.com/​esp32-pwm-arduino-ide/​
 +  * https://​randomnerdtutorials.com/​esp32-useful-wi-fi-functions-arduino/​
 +  * https://​cataas.com/​
 +  * https://​www.weatherapi.com/​
 +Resurse Hardware:
 +  * https://​www.youtube.com/​watch?​v=rq5yPJbX_uk&​list=LL&​index=1&​t=832s&​pp=gAQBiAQB
 +  * https://​www.youtube.com/​watch?​v=gj-H_agfd6U
pm/prj2025/mdinica/cristian.popescu03.1748548946.txt.gz · Last modified: 2025/05/29 23:02 by cristian.popescu03
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