Differences

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

Link to this comparison view

pm:prj2024:vstoica:mihai.tecliceanu [2024/05/03 12:06]
mihai.tecliceanu
pm:prj2024:vstoica:mihai.tecliceanu [2024/05/27 00:30] (current)
mihai.tecliceanu [Software Design]
Line 2: Line 2:
 ===== Introducere ===== ===== Introducere =====
  
-Se doreste implementarea unui aparat de masurat forta loviturii cu pumnul la o scara mai mica, pentru a usura portabilitatea. Aparatul ​va avea un afisaj LCD ce va indica un anumit scor obtinut in urma loviturii unei mingi/sac de box.+Se doreste implementarea unui aparat de masurat forta loviturii cu pumnul la o scara mai mica, pentru a usura portabilitatea. Aparatul va indica un anumit scor obtinut in urma loviturii unei mingi/sac de box.
  
 ===== Descriere generală ===== ===== Descriere generală =====
Line 14: Line 14:
 **ESP32:​** ​ **ESP32:​** ​
  
-   ​*Placuța programabila este un ESP32. Am ales aceasta placuta pentru a putea beneficia atat de memoria crescuta cat si de capabilitatile WiFi de care dispune.+   ​*Placuța programabila este un ESP32. Am ales aceasta placuta pentru a putea beneficia atat de memoria crescuta cat si de capabilitatile WiFi de care dispune;
  
 **Ecran LCD 1602:** **Ecran LCD 1602:**
  
-   ​*Tensiune de alimentare: 3.3V/5V +   ​*Tensiune de alimentare: 3.3V/5V; 
-   ​*Tensiune alimentare backlight: 4.2V +   ​*Tensiune alimentare backlight: 4.2V; 
-   ​*Curent:​ 2mA +   ​*Curent:​ 2mA; 
-   ​*Modulul comunică prin intermediul unui convertor I2C +   ​*Modulul comunică prin intermediul unui convertor I2C
-   *Pe LCD se voar afisa atat scorul obtinut cat si eventuale alte erori ce ar putea aparea in timpul functionarii aparatului.+ 
 +**Receptor laser OKY3301-1:​** 
 + 
 +   *Tensiune de alimentare: 2.7V - 5.5V (recomandat 5V); 
 +   ​*Curent:​ 3mA; 
 +   ​*Output normal pe LOW, cand primeste laser trece pe HIGH; 
 + 
 +**Dioda laser KY-008:** 
 + 
 +   ​*Tensiune de alimentare: 5V; 
 +   ​*Lungime unda laser: 650nm; 
 + 
 +**Electromagnet 34/18:** 
 + 
 +   ​*Tensiunse de alimentare: 12V; 
 +   ​*Curent:​ 0.5A; 
 +   ​*Forta de atractie: 18kg/​180N;​ 
 + 
 +**Modul cu Tranzistor de Putere IRF520:** 
 + 
 +   ​*Tensiune maximă: 24V; 
 +   ​*Curent maxim: 5A 
 +   ​*Tensiune poartă: 3.3V, 5V; 
 +   ​*Timpi de comutație mici; 
 +   ​*RDS:​0.27 ohmi; 
 +   ​*Sarcină poartă: 16nC 
 + 
 +== Schema hardware == 
 +{{:​pm:​prj2024:​vstoica:​schema_punch_machine.png?500|}}
  
  
 ===== Software Design ===== ===== Software Design =====
  
-Voi utiliza ESP-IDF ca development framework. ​Pentru a facilita dezvoltarea softwareului voi utiliza o biblioteca pentru comunicarea cu ecranul LCD. Pentru masurarea puterii cu care se loveste, se va masura timpul in care un circuit format dintr-un laser si un receptor este intrerup ​de trecerea bratului aparatului prin fata laserului.+Voi utiliza ESP-IDF ca development framework. ​ 
 +Pentru masurarea puterii cu care se loveste, se va masura timpul in care un circuit format dintr-un laser si un receptor este intrerupt ​de trecerea bratului aparatului prin fata laserului. Aparatul creaza un acces point pentru a putea fi controlat intr-un browser. Pentru o masurarea cat mai buna, se va calcula diferenta in microsecunde dintre inceperea intreruperii laserului, pana la terminarea acesteia. De asemenea detectarea bratului se realizeaza prin intreruperi in cod, generandu-se un eveniment si procesarea evenimentului intr-un task separat, posibil chiar si pe alt procesor, ESP32-WROOM avand 2 core-uri. 
 + 
 +  * **/​connect** - aparatul asteapta ca un controller sa se conecteze. Conectarea se realizeaza prin intermediul unei aplicatii pe telefon sau dintr-un browser. 
 +  * **/try** - dupa ce un controller a fost conectat la aparat, acesta va astepta o cerere POST ce va contine un nume ("​name=..."​) pentru a putea stabili numele jucatorului.  
 +  * **/scores** - returneaza un raspuns la o cerere GET ce contine un textul in format CSV cu primele N cele mai mari scoruri. Numarul de scoruri retinute poate fi configurat din sursa aparatului. 
 +  * **/reset** - reseteaza aparatul in cazul unei probleme. 
 +  * **/player** - intoarce o pagina pentru a putea introduce numele jucatorlui. Folosit in special pentru controllere din browser.
  
 +Aplicatia pentru telefon a fost realizata folosind MIT App Inventor si este disponibila pentru descarcare in sectiunea Download. Aceasta are nevoie de adresa IP afisata pe ecranul LCD al aparatului pentru a-l putea controla.
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip> +Am reusit sa implementez un aparat destul de complex, mai ales din punct de vedere software, care poate fi montat ca un fidget putin mai mare pentru birou, ignorand zgomotul creat :-).
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. +
-</​note>​+
  
 ===== Concluzii ===== ===== Concluzii =====
pm/prj2024/vstoica/mihai.tecliceanu.1714727176.txt.gz · Last modified: 2024/05/03 12:06 by mihai.tecliceanu
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