This shows you the differences between two versions of the page.
|
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 ===== | ||