🔌 API Reference
Hardvérové „API“ lelka – všetko, čo potrebuješ na úpravu správania bez čítania celého firmvéru.
Piny ATtiny85 (viď schéma)
| Konštanta | Pin | Smer | Aktívna úroveň | Význam |
|---|---|---|---|---|
PIN_EN | PB0 | out | LOW | napájanie DFPlayera (gate P-MOSFETu) |
PIN_BUSY | PB1 | in (v spánku out LOW) | LOW = hrá | signál BUSY z DFPlayera |
PIN_TX | PB2 | out | UART idle HIGH | dáta do DFPlayera, 9600 8N1 |
PIN_BTN | PB3 | in, pull-up | LOW = stlačené | tlačidlo; PCINT3 budí zo spánku |
PIN_LED | PB4 | out | HIGH | signalizácia |
Konštanty firmvéru
| Konštanta | Default | Rozsah | Efekt |
|---|---|---|---|
VOLUME | 22 | 0–30 | hlasitosť DFPlayera; nad 25 skreslenie a pokles napätia článku |
TRACK | 1 | 1–9999 | číslo súboru /mp3/NNNN.mp3 |
BOOT_MS | 2000 | 1500–3000 | čakanie na inicializáciu microSD po zapnutí |
START_TO_MS | 3000 | – | ak BUSY neklesne do tohto času, vypnúť |
PLAY_MAX_MS | 30000 | – | max. dĺžka prehrávania (poistka) |
VBAT_MIN_MV | 3300 | 3200–3500 | pod touto hodnotou nehrať, 3× blikať |
UART protokol DFPlayer Mini
Rámec 10 bajtov: 7E FF 06 CMD FB P1 P2 CS1 CS2 EF
FB= 0x00 (bez odpovede) – lelek nemá RX, odpovede nečítaCS = 0 − (FF + 06 + CMD + FB + P1 + P2)(16 bit, MSB first)
| CMD | Funkcia | P1 P2 | Príklad (celý rámec) |
|---|---|---|---|
| 0x06 | hlasitosť | 0x0000–0x001E | 7E FF 06 06 00 00 16 FE DF EF (22) |
| 0x12 | prehrať /mp3/NNNN.mp3 | NNNN | 7E FF 06 12 00 00 01 FE E8 EF (0001) |
| 0x03 | prehrať N-tú skladbu koreňa | N | 7E FF 06 03 00 00 01 FE F7 EF |
| 0x0E | pauza | – | 7E FF 06 0E 00 00 00 FE ED EF |
| 0x0D | pokračovať | – | 7E FF 06 0D 00 00 00 FE EE EF |
| 0x16 | stop | – | 7E FF 06 16 00 00 00 FE E5 EF |
| 0x0C | reset modulu | – | 7E FF 06 0C 00 00 00 FE EF EF |
Funkcia dfCommand(cmd, param) kontrolný súčet počíta – stačí volať dfCommand(0x06, 22).
Signál BUSY
- HIGH: modul nehrá (po boote ≈ 1,5–2 s HIGH)
- LOW: hrá
- Vo firmvéri: čakaj na LOW (max
START_TO_MS), potom na HIGH (maxPLAY_MAX_MS)
Rozšírenia (nápady, viď Improvement Log)
- Viac zvukov:
TRACKinkrementovať pri každom stlačení, uložiť do EEPROM (EEPROM.update). - Hlasitosť dlhým stlačením: merať dĺžku stlačenia po prebudení.
- Senzor pohybu: PIR výstup na PB3 namiesto tlačidla (aktívny HIGH → zmeniť logiku).
v6/v7 (5. 10. 2026)
Bez MCU: žiadne piny ani konštanty firmvéru. Modul DFPlayer Pro: AT príkazy 115200 Bd cez RX/TX (napr. AT+PROMPT=OFF raz, uložené po vypnutí). Zosilňovač L+/L− cez R1 ∥ R2 (5 Ω) na reproduktor.