Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2026:florin.stancu:dana_maria.caruntu [2026/05/06 22:43]
dana_maria.caruntu [Hardware Design]
pm:prj2026:florin.stancu:dana_maria.caruntu [2026/05/15 02:55] (current)
dana_maria.caruntu [Hardware Design]
Line 33: Line 33:
   * Fire de conexiune Dupont (Mama-Tata, Mama-Mama)   * Fire de conexiune Dupont (Mama-Tata, Mama-Mama)
   * Elemente de fixare (coliere plastic, banda dublu adeziva) si un pix/carioca   * Elemente de fixare (coliere plastic, banda dublu adeziva) si un pix/carioca
 +
 +^ Board Pin ^ Function ^ Component ^ Direction ^ Description ^
 +| Pin 4 | Digital Out | Driver L298N (IN1) | Output | Direcție motor stâng |
 +| Pin 5 | Digital Out | Driver L298N (IN2) | Output | Direcție motor stâng |
 +| Pin 6 | Digital Out | Driver L298N (IN3) | Output | Direcție motor drept |
 +| Pin 7 | Digital Out | Driver L298N (IN4) | Output | Direcție motor drept |
 +| Pin 10 | PWM Out | Driver L298N (ENA) | Output | Viteză motor stâng |
 +| Pin 11 | PWM Out | Driver L298N (ENB) | Output | Viteză motor drept |
 +| Pin 9 | PWM Out | Servomotor SG90 | Output | Control unghi braț |
 +| Pin 0 (RX) | UART RX | Bluetooth HC-05 | Input | Recepție date |
 +| Pin 1 (TX) | UART TX | Bluetooth HC-05 | Output | Transmisie date |
 +
 +
 +==== Schematic ====
 +{{:​pm:​prj2026:​florin.stancu:​schematic_spirobot.jpeg?​800|}}
 ===== Software Design ===== ===== Software Design =====
  
  
-<​note ​tip> +Dezvoltarea software este de tip bare-metal, bazată pe procesarea asincronă a comenzilor și controlul precis al mișcărilor. 
-Descrierea codului aplicaţiei (firmware): + 
-  * mediu de dezvoltare ​(if any) (e.g. AVR Studio, CodeVisionAVR) +  * **Mediu ​de dezvoltare:** C folosind avr-gcc și VS Code
-  * librării şi surse 3rd-party ​(e.gProcyon AVRlib+  * **Librării:** Exclusiv bibliotecile standard AVR (`<avr/io.h>`, `<​avr/​interrupt.h>`, `<​util/​delay.h>​`). 
-  * algoritmi şi structuri ​pe care plănuiţi să le implementaţi +  * **Algoritmi și structuri:** 
-  * (etapa 3surse şi funcţii implementate +    * **Cinematică de tracțiune diferențială:** Calculează cât timp trebuie acționate roțile la un anumit nivel PWM pentru a parcurge o distanță sau a executa o rotație la un unghi dat. 
-</note>+    **Parser de comenzi:** Un buffer simplu de tip inel (ring bufferpentru a stoca comenzile primite prin Bluetooth fără a bloca execuția. 
 +  * **Surse și funcții implementate:** 
 +    * `init_system()`:​ Configurează UART și Timerele pentru PWM. 
 +    * `ISR(USART0_RX_vect)`:​ Rutina de tratare a întreruperii pentru preluarea caracterelor trimise de pe telefon/PC. 
 +    * `set_pen(uint8_t state)`: Ajustează unghiul servomotorului pentru a ridica sau coborî pixul. 
 +    * `draw_segment(int speed_left, int speed_right,​ int duration)`: Comandă driverul L298N pentru a executa traiectoria calculată.
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
pm/prj2026/florin.stancu/dana_maria.caruntu.1778096625.txt.gz · Last modified: 2026/05/06 22:43 by dana_maria.caruntu
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