This shows you the differences between two versions of the page.
pm:prj2024:rvirtan:robot_controlat_prin_gesturi [2024/05/17 18:09] vlad_ionut.varzaru [Circuitul Receptor] |
pm:prj2024:rvirtan:robot_controlat_prin_gesturi [2024/05/26 17:25] (current) vlad_ionut.varzaru [Software Design] |
||
---|---|---|---|
Line 42: | Line 42: | ||
====Circuitul Transmitator==== | ====Circuitul Transmitator==== | ||
- | Aici, pinii pentru modulul wireless sunt contectati la fel ca la circuitul receptor cu pinii de pe Ardunio Nano. Modulul giroscopic MPU6050 foloseste comunicatie I2C, asa ca am conectat pinii SCL si SDA ai acestuia la pinii A5, respectiv A4. | + | <note>Aici, pinii pentru modulul wireless sunt contectati la fel ca la circuitul receptor cu pinii de pe Ardunio Nano. Modulul giroscopic MPU6050 foloseste comunicatie I2C, asa ca am conectat pinii SCL si SDA ai acestuia la pinii A5, respectiv A4.</note> |
{{:pm:prj2024:rvirtan:transmiter.png?800|}} | {{:pm:prj2024:rvirtan:transmiter.png?800|}} | ||
Line 51: | Line 51: | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | |||
+ | Project link: [[https://github.com/vladionut02/Robot-controlat-prin-gesturi|Github]] | ||
+ | |||
+ | Mediu de dezvoltare: | ||
+ | * Arduino IDE | ||
+ | Librării și surse 3rd-party: | ||
+ | * Wire.h: Utilizată pentru comunicarea I2C. | ||
+ | * I2Cdev.h: Utilizată pentru comunicația cu MPU6050. | ||
+ | * MPU6050.h: Biblioteca principală pentru MPU6050. | ||
+ | * SoftwareSerial.h: Utilizată pentru comunicarea serială prin Bluetooth. | ||
+ | |||
+ | Citirea și maparea Datelor: | ||
+ | |||
+ | * Datele de la MPU6050 sunt citite în variabilele ax, ay, az, gx, gy, gz. | ||
+ | * Valorile axiale (ax și ay) sunt mapate la intervalele dorite pentru a fi transmise eficient. | ||
+ | |||
+ | Transmiterea si receptia datelor prin Bluetooth: | ||
+ | |||
+ | * Datele mapate sunt convertite într-un format de tip string și trimise prin Bluetooth folosind SoftwareSerial. | ||
+ | * La recepție, stringul este citit și împărțit în valorile componente folosind funcții de manipulare a stringurilor. | ||
+ | Controlul motorului pe baza datelor receptionate: | ||
+ | |||
+ | * Valorile pentru axele X și Y sunt utilizate pentru a decide direcția de miscare a robotului controlat de cele doua motoare. | ||
+ | * Controlul vitezei și directiei motoarelor este realizat prin modificarea semnalelor PWM și a pinilor de control. | ||
- | <note tip> | ||
- | Descrierea codului aplicaţiei (firmware): | ||
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | ||
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | ||
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | ||
- | * (etapa 3) surse şi funcţii implementate | ||
- | </note> | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== |