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:36]
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ță   * **WiFi.h** – conectivitate WiFi pentru control de la distanță
Line 73: Line 72:
   * **Servo.h** – controlul servomotoarelor pentru manipularea coletului   * **Servo.h** – controlul servomotoarelor pentru manipularea coletului
   * **Adafruit_MPU6050.h** – comunicare cu accelerometrul și giroscopul MPU6050 prin I²C   * **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
-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.   * 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 web.+  * Monitorizare stare MPU6050: Accelerometrul și giroscopul monitorizează accelerația,​ rotația și temperatura,​ datele fiind afișate în timp real pe pagina ​web.
   * Feedback vizual și stare conexiune: LED-uri pentru starea conexiunii WiFi și funcționarea sistemului.   * 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.   * Actualizare firmware OTA: Suport pentru actualizare software Over-The-Air,​ fără conectare fizică la dispozitiv.
Line 89: Line 87:
   * **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)
  
Line 102: Line 100:
 **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ță.
Line 117: Line 115:
   * 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 131: 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.1748417808.txt.gz · Last modified: 2025/05/28 10:36 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