Řešení problémů
Zde najdete řešení nejčastějších problémů při sestavování a provozu zařízení.
ESP32 se nepřipojí k počítači
Příznaky: Po připojení USB kabelu se v Arduino IDE neobjeví COM port.
Řešení:
- Nainstalujte ovladač CP2102: stáhnout zde
- Zkuste jiný USB kabel – některé kabely jsou pouze nabíjecí (nemají datové vodiče)
- Zkuste jiný USB port na počítači
- Na Windows: zkontrolujte ve Správci zařízení, zda se zařízení zobrazuje (i s chybou)
- Restartujte počítač po instalaci ovladače
Kód se nenahraje na ESP32
Příznaky: Arduino IDE hlásí chybu při nahrávání (upload failed, timeout).
Řešení:
- Zkontrolujte, že máte vybranou správnou desku: Tools → Board → ESP32 Dev Module
- Zkontrolujte, že máte vybraný správný COM port: Tools → Port
- Zkuste podržet tlačítko BOOT na ESP32 během nahrávání (podržte ho těsně před tím, než nahrávání začne hledat desku)
- Zkontrolujte, že není otevřený Serial Monitor (může blokovat port)
- Zkuste snížit Upload Speed v nastavení na 115200
Xbox ovladač se nespáruje
Příznaky: LED na větráku stále červeně pulzují, ovladač bliká a nepřipojí se.
Řešení:
- Zkontrolujte, že ovladač má nabité baterie (AA)
- Vypněte a znovu zapněte ESP32
- Vypněte a znovu zapněte ovladač (podržet Xbox tlačítko)
- Ujistěte se, že ovladač není spárovaný s jiným zařízením (Xbox, PC) v dosahu – vypněte ostatní Bluetooth zařízení
- Zkuste ovladač resetovat: podržte malé tlačítko na zadní straně ovladače (u USB-C portu) a pak znovu zapněte
Motory se netočí
Příznaky: Ovladač je spárovaný (LED svítí barevně), ale motory nereagují na joystick.
Řešení:
- Zkontrolujte napájení – motor drivery potřebují 24V přímo z baterie
- Zkontrolujte zapojení pinů – RPWM na GPIO 33, LPWM na GPIO 32 (viz zapojení)
- Zkontrolujte společnou zem – GND ESP32 musí být propojený s GND motor driveru
- Zkontrolujte EN piny – R_EN a L_EN na motor driveru musí být připojeny na 5V (nebo HIGH)
- Otevřete Serial Monitor (115200 baud) a pohybujte joystickem – měli byste vidět měnící se hodnoty
ly - Pokud vidíte hodnoty, ale motor se netočí → problém je v zapojení hardware
- Pokud nevidíte hodnoty → ovladač nekomunikuje správně
Motory se točí špatným směrem
Příznaky: Při pohybu joystickem vpřed jede větrák vzad (nebo doleva místo doprava).
Řešení:
- Prohoďte vodiče na motoru (přehoďte M+ a M- na motor driveru), nebo
- Prohoďte RPWM a LPWM piny v kódu (upravte
#define)
Větrák nejede rovně
Příznaky: Při pohybu vpřed zatáčí na jednu stranu.
Řešení:
- Zkontrolujte, že obě kola mají stejný odpor (volně se otáčejí)
- Zkontrolujte, že opěrné kuličky se volně otáčejí
- V kódu přidejte korekční faktor – jednomu motoru snižte rychlost o pár procent:
// Příklad korekce – pomalý motor pojede o 10 % rychleji
float korekce = 1.10;
analogWrite(RPWM_pomalejsi, rychlost * korekce * 255);
LED pásek nesvítí
Příznaky: Ovladač je spárovaný, ale LED pásek zůstává zhasnutý.
Řešení:
- Zkontrolujte napájení – měřte multimetrem napětí na výstupu DC-DC měniče v hlavici (má být 3.7V)
- Zkontrolujte datový vodič – žlutý drát musí být propojený od GPIO 23 na ESP32 přes trubku až k DIN vstupu LED pásku
- Zkontrolujte směr pásku – na pásku jsou malé šipky, data tečou ve směru šipek. DIN (data in) musí být na začátku
- Zkontrolujte GND – GND LED pásku musí být propojený se společnou zemí
- Zkuste jednoduchý testovací kód:
#include <Adafruit_NeoPixel.h>
Adafruit_NeoPixel strip(40, 23, NEO_GRB + NEO_KHZ800);
void setup() {
strip.begin();
strip.setBrightness(50);
for (int i = 0; i < 40; i++) {
strip.setPixelColor(i, strip.Color(0, 255, 0)); // zelená
}
strip.show();
}
void loop() {}
Pokud s tímto kódem pásek svítí, problém je v hlavním firmware. Pokud nesvítí, problém je v zapojení.
LED pásek bliká nebo zobrazuje náhodné barvy
Příznaky: LED pásek svítí, ale barvy jsou náhodné nebo bliká.
Řešení:
- Špatný signál – datový vodič je příliš dlouhý nebo nekvalitní spoj. Zkontrolujte pájení.
- Rušení – zkuste přidat 470Ω rezistor do datového vodiče (mezi GPIO 23 a DIN)
- Nedostatečné napájení – pokud svítí hodně LED najednou na plný jas, proud může být nedostatečný. Zkuste snížit jas v kódu.
- Špatný počet LED – v kódu je nastaveno
NUM_PIXELS 40, zkontrolujte, že váš pásek má skutečně 40 LED
Ultrazvukové senzory nefungují
Příznaky: Zařízení nereaguje na překážky.
Řešení:
- Zkontrolujte zapojení pinů TRIG a ECHO
- Zkontrolujte napájení senzorů (VCC = 5V)
- Zkontrolujte, že senzory nejsou zakryté (poncho, bonbónová nádobka)
- Otestujte senzor jednoduchým kódem:
#include <Ultrasonic.h>
// TODO: Doplnit skutečné piny TRIG a ECHO
Ultrasonic ultrasonic(TRIG_PIN, ECHO_PIN);
void setup() {
Serial.begin(115200);
}
void loop() {
int distance = ultrasonic.read();
Serial.print("Vzdálenost: ");
Serial.print(distance);
Serial.println(" cm");
delay(500);
}
Baterie se rychle vybíjí
Řešení:
- Neponechávejte zařízení zapnuté, když ho nepoužíváte
- Snižte jas LED pásku (méně proudu)
- Při stání nebudíte motory (dead zone v kódu to zajišťuje)
- Zkontrolujte, že nikde není zkrat (měřte proud multimetrem)
Stále nevyřešeno?
Pokud problém přetrvává:
- Otevřete Serial Monitor v Arduino IDE (115200 baud) a sledujte výpisy
- Zkontrolujte všechny spoje multimetrem (napětí, kontinuita)
- Zkuste problém izolovat – odpojte vše a testujte komponenty jednotlivě
- Obraťte se na autory projektu nebo založte issue v repozitáři na GitHubu