Differences

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

Link to this comparison view

pm:prj2026:atoader:bianca.gorgovan [2026/05/09 22:16]
bianca.gorgovan [Ce face]
pm:prj2026:atoader:bianca.gorgovan [2026/05/09 22:22] (current)
bianca.gorgovan [Schemă bloc]
Line 38: Line 38:
 ==== Schemă bloc ==== ==== Schemă bloc ====
 {{ :​pm:​prj2026:​atoader:​schema_blocbgorgovan.png?​500 |}} {{ :​pm:​prj2026:​atoader:​schema_blocbgorgovan.png?​500 |}}
 +
 +  * **MPU6050** ⇄ **ATmega328P** — //I2C, 100 kHz//: la fiecare ~10 ms, MCU-ul (master) citește 14 octeți (3× accel + temp + 3× gyro) de la slave-ul MPU6050 (adresa 0x68). Sunt folosite primitivele ''​twi_start''​ / ''​twi_write''​ / ''​twi_read_ack''​ / ''​twi_read_nack''​ / ''​twi_stop''​ din driverul de la Lab 6.
 +  * **ATmega328P → modul detecție swing** //​(software)//:​ un filtru pe magnitudinea accelerației (||a|| − g) detectează startul și sfârșitul unei lovituri.
 +  * **ATmega328P → modul clasificare** //​(software)//:​ pe baza semnului ω_z (giroscop, axa verticală a încheieturii) și a vârfului de accelerație,​ decide forehand/​backhand și slab/​mediu/​puternic.
 +  * **ATmega328P → ST7735 TFT 1.8"** — //SPI, master → slave//: după fiecare lovitură detectată, MCU-ul redesenează zona de text și afișează:
 +    * ''​HITS:​ 24''​
 +    * ''​SHOT:​ FOREHAND''​
 +    * ''​POWER:​ HIGH''​
 +    * ''​SWING:​ 320 deg/​s''​
 +  * **ATmega328P → LED RGB (R+G)** — //PWM//: 2 canale PWM independente,​ generate de Timer 0 (OC0B = verde) și Timer 2 (OC2B = roșu), modulează intensitatea celor două culori. LED-ul are anod comun → driver-ul software inversează duty-cycle-ul (0 = stins, 255 = maxim).
 +  * **Buton → ATmega328P** — //GPIO + INT0//: tratat în întrerupere externă pe PD2, cu debouncing software. La apăsare = reset contor lovituri.
 + 
 +==== Module software ====
 + 
 +| Modul | Sursă | Descriere |
 +| ''​twi.c/​.h''​ | Lab 6 (preluat, F_CPU adaptat la 16 MHz) | driver I2C low-level |
 +| ''​mpu6050.c/​.h''​ | **scris** (după pattern-ul ''​mpl3115a2''​ din Lab 6) | init, citire accel/gyro burst, calibrare offset |
 +| ''​spi.c/​.h''​ | Lab 5 (preluat) | driver SPI low-level |
 +| ''​st7735.c/​.h''​ | Lab 5 (preluat, adaptat pentru pini noi) | driver TFT 1.8" |
 +| ''​timers.c/​.h''​ | Lab 3 (preluat, extins) | configurare PWM 2 canale pe Timer 0 + Timer 2 |
 +| ''​rgb.c/​.h''​ | **scris** | wrapper PWM pentru LED RGB (R+G) cu efecte (solid / blink / fade) |
 +| ''​swing_detect.c/​.h''​ | **scris** | detecție swing și clasificare |
 +| ''​main.c''​ | **scris** | bucla principală,​ integrare module, FSM |
  
  
pm/prj2026/atoader/bianca.gorgovan.txt · Last modified: 2026/05/09 22:22 by bianca.gorgovan
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