Differences

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

Link to this comparison view

pm:prj2025:fstancu:laurentiu.racovcen [2025/05/28 10:35]
laurentiu.racovcen
pm:prj2025:fstancu:laurentiu.racovcen [2025/05/28 15:04] (current)
laurentiu.racovcen
Line 29: Line 29:
 **Bateria**:​ **Bateria**:​
  
-  * Bateria alimentează toate componentele. Pentru a adapta tensiunea la nivelul necesar funcționării mașinuței,​ ieșirea bateriei este conectată la modulul de coborâre a tensiunii **LM2596**.+  * Bateria ​de 5V (5000mAh) ​alimentează toate componentele. Pentru a adapta tensiunea la nivelul necesar funcționării mașinuței,​ ieșirea bateriei este conectată la modulul de coborâre a tensiunii **LM2596**.
  
 **ESP32**: **ESP32**:
Line 65: Line 65:
 **Mediu de dezvoltare**:​ PlatformIO (placă ESP32 – ESP32-WROOM). **Mediu de dezvoltare**:​ PlatformIO (placă ESP32 – ESP32-WROOM).
  
 +**Biblioteci folosite:**
  
-**Librării folosite:​** +  ​* **WiFi.h** – conectivitate WiFi pentru control de la distanță 
- +  * **ESPAsyncWebServer.h** – server web asincron pentru interfața de control și API 
- * **WiFi.h** – conectivitate WiFi pentru control de la distanță +  * **AsyncTCP.h** – suport TCP asincron necesar pentru serverul web 
- * **ESPAsyncWebServer.h** – server web asincron pentru interfața de control și API +  * **Servo.h** – controlul servomotoarelor pentru manipularea coletului 
- * **AsyncTCP.h** – suport TCP asincron necesar pentru serverul web +  * **Adafruit_MPU6050.h** – comunicare cu accelerometrul și giroscopul MPU6050 prin I²C 
- * **Servo.h** – controlul servomotoarelor pentru manipularea coletului +  * **LittleFS.h** – sistem de fișiere pentru stocarea paginilor web și a resurselor statice
- * **Adafruit_MPU6050.h** – comunicare cu accelerometrul și giroscopul MPU6050 prin I²C +
- +
-LittleFS.h – sistem de fișiere pentru stocarea paginilor web și a resurselor statice+
  
 **Funcționalități implementate:​** **Funcționalități implementate:​**
  
- * Control de la distanță ​prin web: Mașinuța poate fi controlată manual (direcții, oprire, lăsare colet) sau automat (traseu definit de utilizator) printr-o interfață web intuitivă. +  ​* Control de la distanță ​printr-o pagină ​web: Mașinuța poate fi controlată manual (direcții, oprire, lăsare colet) sau automat (traseu definit de utilizator) printr-o interfață web intuitivă. 
- +  * Parcurgere traseu programat: Utilizatorul poate configura un traseu cu acțiuni (mers înainte/​înapoi,​ rotiri stânga/​dreapta) și distanțe, iar mașinuța îl va executa pas cu pas. 
- * Parcurgere traseu programat: Utilizatorul poate configura un traseu cu acțiuni (mers înainte/​înapoi,​ rotiri stânga/​dreapta) și distanțe, iar mașinuța îl va executa pas cu pas. +  * Livrare automată colet: Servomotoarele acționează pentru a lăsa coletul la destinație,​ controlat din interfața web. 
- +  * Monitorizare stare MPU6050: Accelerometrul și giroscopul monitorizează accelerația,​ rotația și temperatura,​ datele fiind afișate în timp real pe pagina ​web. 
- * Livrare automată colet: Servomotoarele acționează pentru a lăsa coletul la destinație,​ controlat din interfața web. +  * Feedback vizual și stare conexiune: LED-uri pentru starea conexiunii WiFi și funcționarea sistemului. 
- +  * Actualizare firmware OTA: Suport pentru actualizare software Over-The-Air,​ fără conectare fizică la dispozitiv.
- * Monitorizare stare MPU6050: Accelerometrul și giroscopul monitorizează accelerația,​ rotația și temperatura,​ datele fiind afișate în timp real pe web. +
- +
- * Feedback vizual și stare conexiune: LED-uri pentru starea conexiunii WiFi și funcționarea sistemului. +
- +
- * Actualizare firmware OTA: Suport pentru actualizare software Over-The-Air,​ fără conectare fizică la dispozitiv.+
  
 **Motivația alegerii bibliotecilor:​** **Motivația alegerii bibliotecilor:​**
  
- * **WiFi.h** – standard pentru conectivitate wireless pe ESP32 +  ​* **WiFi.h** – standard pentru conectivitate wireless pe ESP32 
- * **ESPAsyncWebServer.h & AsyncTCP.h** – server web rapid și eficient, ideal pentru interacțiuni web în timp real +  * **ESPAsyncWebServer.h & AsyncTCP.h** – server web rapid și eficient, ideal pentru interacțiuni web în timp real 
- * **Servo.h** – interfață simplă pentru controlul ​precis al servomotoarelor +  * **Servo.h** – interfață simplă pentru controlul servomotoarelor 
- * **Adafruit_MPU6050.h** – bibliotecă robustă pentru citirea datelor de la MPU6050 (accelerometru + giroscop) +  * **Adafruit_MPU6050.h** – bibliotecă pentru citirea datelor de la MPU6050 (accelerometru + giroscop) 
- * **LittleFS.h** – permite stocarea și servirea rapidă a fișierelor web direct din memoria ESP32 (pentru fișierele HTML, CSS, JavaScript)+  * **LittleFS.h** – permite stocarea și servirea rapidă a fișierelor web direct din memoria ESP32 (pentru fișierele HTML, CSS, JavaScript)
  
 **Elemente de noutate:** **Elemente de noutate:**
  
- * Control web modern, atât manual cât și automat, cu feedback în timp real +  ​* Control web modern, atât manual cât și automat, cu feedback în timp real 
- * Definirea și execuția unui traseu compus, configurabil din interfața web +  * Definirea și execuția unui traseu compus, configurabil din interfața web 
- * Livrare automată de colet cu acționare servo, fără intervenție directă +  * Livrare automată de colet cu acționare servo, fără intervenție directă 
- * Monitorizare senzorială (accelerație,​ rotație, temperatură) și afișare live pe pagina web+  * Monitorizare senzorială (accelerație,​ rotație, temperatură) și afișare live pe pagina web
  
 **Justificarea utilizării funcționalităților din laborator:​** **Justificarea utilizării funcționalităților din laborator:​**
  
- * PWM (Pulse Width Modulation):​ control fin al vitezei motoarelor și al poziției servomotoarelor pentru manevre precise. +  * **PWM (Pulse Width Modulation)**: control fin al vitezei motoarelor și al poziției servomotoarelor pentru manevre precise. 
- * I²C: interfață pentru citirea datelor de la senzorul MPU6050. +  * **I²C**: interfață pentru citirea datelor de la senzorul MPU6050. 
- * Timere și delay-uri: gestionarea duratei acțiunilor (mers, rotiri, pauze între pași). +  * **Timere și delay-uri**: gestionarea duratei acțiunilor (mers, rotiri, pauze între pași). 
- * Web server și API: comunicare între utilizator și sistem, integrare cu front-end web. +  * **Web server și API**: comunicare între utilizator și sistem, integrare cu front-end web. 
- * Sisteme de fișiere embedded: servirea paginilor web și a resurselor statice din memoria internă. +  * **Sisteme de fișiere embedded**: servirea paginilor web și a resurselor statice din memoria internă. 
- * Actualizare software OTA și stocare fișiere web direct pe dispozitiv+  * **Actualizare software OTA** și stocare fișiere web direct pe dispozitiv
  
 **Structura proiectului și interacțiunea funcționalităților:​** **Structura proiectului și interacțiunea funcționalităților:​**
  
- * Inițializare sistem: Configurare pini, conectare WiFi, pornire server web și încărcare pagini web din LittleFS. +  ​* Inițializare sistem: Configurare pini, conectare WiFi, pornire server web și încărcare pagini web din **LittleFS**
- * Control manual: Utilizatorul poate acționa mașinuța în timp real (înainte, înapoi, stânga, dreapta, stop, lăsare colet) din interfața web. +  * Control manual: Utilizatorul poate acționa mașinuța în timp real (înainte, înapoi, stânga, dreapta, stop, lăsare colet) din interfața web. 
- * Control automat: Utilizatorul definește un traseu (succesiune de acțiuni cu distanțe/​rotiri),​ care este procesat și executat secvențial de mașinuță. +  * Control automat: Utilizatorul definește un traseu (succesiune de acțiuni cu distanțe/​rotiri),​ care este procesat și executat secvențial de mașinuță. 
- * Livrare colet: La comanda utilizatorului,​ servomotoarele acționează pentru a lăsa coletul la destinație. +  * Livrare colet: La comanda utilizatorului,​ servomotoarele acționează pentru a lăsa coletul la destinație. 
- * Monitorizare senzorială:​ Datele de la MPU6050 (accelerație,​ rotație, temperatură) sunt preluate periodic și afișate pe interfața web. +  * Monitorizare senzorială:​ Datele de la MPU6050 (accelerație,​ rotație, temperatură) sunt preluate periodic și afișate pe interfața web. 
- * Feedback și siguranță:​ LED-uri indică starea conexiunii și funcționarea sistemului; sistemul poate fi oprit rapid la nevoie. +  * Feedback și siguranță:​ LED-uri indică starea conexiunii și funcționarea sistemului; sistemul poate fi oprit rapid la nevoie. 
- * Actualizare OTA: Firmware-ul poate fi actualizat de la distanță, fără conectare USB, pentru mentenanță facilă+  * Actualizare OTA: Firmware-ul poate fi actualizat de la distanță, fără conectare USB.
  
 **Calibrarea senzorilor:​** **Calibrarea senzorilor:​**
  
- * MPU6050: setare interval ±8g pentru accelerometru și ±250°/s pentru giroscop, pentru detecția rapidă a mișcărilor bruște și monitorizarea corectă a orientării. +  ​* MPU6050: setare interval ​**±8g** pentru accelerometru și **±250°/s** pentru giroscop, pentru detecția rapidă a mișcărilor bruște și monitorizarea corectă a orientării. 
- * Motoare și servo: calibrare poziții de start/stop și viteze PWM pentru mișcări precise și sincronizate+  * Motoare și servo: calibrare poziții de start/stop și viteze PWM pentru mișcări precise și sincronizate 
 + 
 +GitHub repo: https://​github.com/​laurentiu-racovcen/​project-pm
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
Line 136: Line 131:
  
 ===== Concluzii ===== ===== Concluzii =====
- 
-===== Download ===== 
- 
-<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**. 
-</​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 =====
pm/prj2025/fstancu/laurentiu.racovcen.1748417753.txt.gz · Last modified: 2025/05/28 10:35 by laurentiu.racovcen
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