This shows you the differences between two versions of the page.
pm:prj2025:eradu:vlad.balteanu [2025/05/19 11:07] vlad.balteanu [Descriere generală] |
pm:prj2025:eradu:vlad.balteanu [2025/05/30 09:27] (current) vlad.balteanu [Rezultate Obţinute] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Hand Controlled Crane Car ====== | + | ====== Hand Controlled Car ====== |
Balteanu Vlad-Gabriel 331CA | Balteanu Vlad-Gabriel 331CA | ||
Line 15: | Line 15: | ||
</note> | </note> | ||
- | {{:pm:prj2025:eradu:schemablock.png?200|}} | + | {{:pm:prj2025:eradu:schemablock.png?800|}} |
Line 30: | Line 30: | ||
</note> | </note> | ||
- | {{:pm:prj2025:eradu:schematic_pm-draft_2025-05-12-2.png?200|}} | + | {{:pm:prj2025:eradu:schematic_pm-draft_2025-05-30.png?800|}} |
===== Software Design ===== | ===== Software Design ===== | ||
Line 36: | Line 36: | ||
<note tip> | <note tip> | ||
- | Descrierea codului aplicaţiei (firmware): | + | * Dezvoltat folosind Arduino IDE |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | * Am folosit librării precum: |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | * Wifi.h pentru aflarea adresei Mac a receiverului. |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | * esp_now.h pentru comunicarea între esp-uri |
- | * (etapa 3) surse şi funcţii implementate | + | * MPU6050_light.h pentru accelerometru |
+ | * M-am folosit de o structură numită message cu care îmi definesc practic structura unui mesaj transmis de controllere. | ||
+ | * | ||
</note> | </note> | ||
- | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | === Architecture === |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | 1. ***MAC.ino*** |
- | </note> | + | - Am folosit acest cod pentru aflarea adresei MAC a unei placuțe esp32. Adresa o iau și o scriu ca și constantă în fișierul pentru Transmitter. |
+ | |||
+ | 2. *** Transmitter.ino *** | ||
+ | - setup() - folosit pentru a inițializa protocolul de esp_now și comunicarea cu accelerometrul. | ||
+ | - loop() - începe prin a primi date de la senzor, apoi, în funcție de unghiriule pe axele x și y, creez o structură pe care o trimit prin esp_now_send(). | ||
+ | |||
+ | 3. *** Receiver.ino *** | ||
+ | - setup() - La fel ca mai sus este folosit pentru a inițializa protoculul de esp_now(), și declară o "întrerupere" pentru atunci când receiverul primește un mesaj. | ||
+ | - OnDataRecv() - rutina de întrerupere pentru momentul când primesc un mesaj de la transmitter. Acolo creez structura pe care o folosesc pentru a vedea cum trebuie să mișc mașina. | ||
+ | - carMovement() - folosite pentru a genera output pe pinii conectați la motoare. | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | https://github.com/Ullutz/Proiect_PM | ||
+ | https://youtube.com/shorts/fBFNsN1GtAk?feature=share | ||
===== Download ===== | ===== Download ===== | ||