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 ===== | ||