- 1. Deska Arduino nebyla rozpoznána
- 2. Deska není synchronizována
- 3. Kód se nespustí při obnovení napájení
- 4. Neplatná chyba podpisu zařízení
- 5. Chyba Launch4j
- 6. Sériový port je již používán
- 7: Nahrání náčrtu úspěšně, ale nic se nestane
- 8. Nespokojená chyba odkazu
- 9. Skica je příliš velká
- 10. java.lang.StackOverflowError
Začínat jako začátečník s Arduinem může být pro lidi bez elektronického pozadí docela náročné, narazili byste na chyby, z nichž některé mohou mít jednoduchá řešení, ale jejich vyřešení může trvat dny. Abych to trochu ulehčil, vytvořil jsem seznam 10 nejpopulárnějších chyb Arduina spolu s jejich možnými řešeními.
1. Deska Arduino nebyla rozpoznána
To se týká situace, kdy deska Arduino připojená k počítači není počítačem rozpoznána. Pokud k tomu dojde, deska obvykle není uvedena v seznamech portů IDE Arduino a někdy je ve správci zařízení označena jako USB2.0.
Řešení
To se stane, když použijete určité levné klony Arduino, které místo čipu FTDI (FT232RL) a jiných standardních desek Arduino používají převodníkový čip USB na Serial CH340g. Ovladače pro USB na sériové čipy používané deskami Standard Arduino jsou vždy zabaleny společně se souborem nastavení Arduino IDE, takže když nainstalujete IDE, ovladače se automaticky nainstalují do vašeho počítače. Abyste mohli používat tyto desky Arduino s převodníkem USB na sériový port CH340g, musíte si stáhnout a nainstalovat ovladač čipu. Ovladač lze stáhnout z tohoto odkazu. Jeho instalace je stejně jednoduchá jako kliknutí na tlačítko instalace na instalačním rozhraní zobrazeném níže.
Díky tomu byste nyní měli být schopni najít port, ke kterému je deska připojena na IDE Arduino.
2. Deska není synchronizována
Obvykle, když k tomu dojde, nebudete moci na desku Arduino nahrát kód (I když IDE občas zobrazí „done upload“) a IDE zobrazí chybový kód; „ Avrdude: stk500_getsync (): není synchronizováno: resp = 0x00 “.
Řešení
Synchronizace: resp = 0x00 je obecný reakce, která se promítá do „ ATmega čipu nefunguje “ na Arduino. Když k tomu dojde, existuje celá řada věcí, které by se mohly mýlit. Zde je několik kroků, které lze provést k odstranění této chyby.
1. Ujistěte se, že na Arduinu není nic připojeno k digitálním pinům 0 a 1 (včetně štítů).
2. Zkontrolujte, zda byl v nabídce nástrojů vybrán správný port a deska.
3. Stiskněte několikrát resetovací tlačítko na Arduinu a znovu nahrajte kód.
4. Odpojte a znovu připojte Arduino k počítači.
5. Restartujte IDE Arduino.
Pokud nic z toho nefunguje, může být čas zkusit použít jinou desku Arduino s počítačem nebo použít „vadnou“ desku Arduino s jiným PC. To by vám mělo pomoci určit, který z nich je původcem problému. Pokud zjistíte, že je problém s počítačem, přeinstalujte IDE Arduino. Pokud je však zdrojem problému „vadná“ deska Arduino, konečným řešením bude flashování desky firmwarem Arduino. Pokud žádný z výše uvedených postupů nefunguje, může být čas změnit desku Arduino.
3. Kód se nespustí při obnovení napájení
To se týká případů, kdy Arduino nespustí náčrt nahraný do něj při zapnutí a ve většině případů se pouze vrátí zpět k blikajícímu náčrtu spojenému s bootloaderem.
Řešení
Stejně jako ostatní léčené problémy existuje řada věcí, které by to mohly způsobit.
Pokud se deska zablokuje a nic nedělá, měli byste zkontrolovat svůj kód, abyste se ujistili, že neposíláte sériová data na desku tak, jak se objeví. Když je Arduino zapnuté, bootloader v prvních sekundách naslouchá počítači, aby mu poslal novou skicu pro nahrání na desku. Pokud není přijata žádná nová skica, po krátké době bootloader vyprší a spustí poslední skicu nahranou na desku. Pokud váš kód odesílá sériová data během prvních několika minut, bootloader nevyprší a poslední skica nahraná na desku se nespustí.
Pokud je zasílání sériových dat, jakmile se deska objeví, důležitou součástí vašeho projektu, možná budete muset najít způsob, jak to trochu zpozdit, aby se zabránilo sériovým datům v příchodu okamžitě, jakmile se Arduino objeví. Pokud provedené úpravy ovlivní úkol, který má projekt provést, možná budete muset nahrát svůj náčrt na desku pomocí externího programátoru, protože bootloader je lze obejít.
Pokud deska nevisí, ale vrací se k mrknutí Arduino (LED na kolíku 13 každou chvíli bliká), přímou opravou bude flashování desky s bootloaderem Arduino, protože ten na desce může být poškozen.
4. Neplatná chyba podpisu zařízení
Tato chyba se zobrazí, když dojde k pokusu o nahrání kódu na desku odlišnou od té, která byla vybrána v seznamu nástrojů> seznam desek na IDE Arduino. K této chybě obvykle dochází v důsledku toho, že podpis zařízení na cílové desce se liší od podpisu zařízení vybrané na IDE.
Řešení
Řešení této chyby je stejně jednoduché jako zajištění výběru správné desky na IDE Arduino. Pokud to nefunguje, může být potřeba flashovat mikrokontrolér s nejnovější verzí bootloaderu Arduino.
5. Chyba Launch4j
Arduino IDE někdy trvá nějakou dobu před načtením a když se načte, pokud kliknete na cokoli, zobrazí se chyba Launch4J, jak je uvedeno výše. Launch4j je nástroj používaný k zabalení Java aplikací (jarů) do nativního spustitelného systému Windows, což umožňuje jejich použití jako běžného programu Windows.
Samotné IDE Arduino je napsáno v jazyce JAVA a k této chybě dochází kvůli nekompatibilitě knihovny Java Run Time Environment (JRE) dodávané s Arduino IDE.
Řešení
Ze zkušenosti lze tuto chybu odstranit něčím tak jednoduchým, jako je vypnutí připojení Bluetooth nebo WiFi vašeho počítače. Úplnějším a trvalejším řešením je však nahrazení JRE v balíčku Arduino nedávnou verzí.
6. Sériový port je již používán
Toto je pravděpodobně jedna z nejjednodušších chyb k vyřešení. Obvykle k tomu dochází, když se pokusíte nahrát kód do Arduina, když je otevřen sériový monitor (to již není problém, pokud používáte nejnovější verze IDE), nebo když se pokoušíte spustit sériový monitor, když Arduino mluví s jiným softwarem nebo zařízením přes sériový port. V zásadě k tomu dochází, když se pokusíte použít sériový port Arduino pro dvě různé věci současně.
Řešení
Stejně jako IDE navrhl, zavřete veškerý další software / nástroj (včetně sériového monitoru / plotru), který může používat komunikační port. Pokud si nejste jisti konkrétním softwarem, odpojte Arduino. Než jej znovu připojíte, měl by být připraven k použití.
7: Nahrání náčrtu úspěšně, ale nic se nestane
Tato chyba je podobná některým z dalších chyb, které již byly zpracovány výše. U této chyby navrhne Arduino IDE, že kód byl úspěšně nahrán, ale deska nic nedělá.
Řešení
- Ujistěte se, že deska vybraná v IDE je stejná jako cílová deska.
- Může to být způsobeno tím, že velikost náčrtu je větší než kapacita desky. Zkontrolujte velikost náčrtu a zmenšete některou z výše uvedených metod.
- A konečně, k této chybě může dojít při použití hlučného zdroje napájení. Zajistěte, aby byl napájecí zdroj dostatečně stabilní.
8. Nespokojená chyba odkazu
Toto je pravděpodobně jediná vzácná chyba, která se dostala na tento seznam. K tomu dochází, když máte na svém počítači ležet starou verzi komunikační knihovny, pravděpodobně z předchozí instalace.
Řešení
Chcete-li tuto chybu vyřešit, vyhledejte comm.jar nebo jcl.jar v /System/Library/Frameworks/JavaVM.framework/ nebo v adresářích v proměnných prostředí CLASSPATH nebo PATH vašeho počítače.
9. Skica je příliš velká
K této chybě dochází, když je váš kód větší než flash paměť konkrétní desky Arduino. Například velikost flash paměti Arduino Uno je 32 kB, 2 kB již využívá bootloader Arduino. Pokud byste měli nahrát kód o velikosti vyšší než 32 kB, Arduino zobrazí toto varování.
Řešení
Jak již bylo zmíněno výše, k tomu dochází, když je váš náčrt větší než flash paměť konkrétní desky, kterou používáte, a proto, abyste to vyřešili, musíte najít způsoby, jak snížit velikost prostoru obsazeného vaším kódem. Mezi tipy, jak toho dosáhnout, patří;
- Pokud je to možné, použijte místo datového typu celočíselné datové typy.
- Pokud je to možné, použijte při deklaraci proměnných kvalifikátor „const“.
- Zahrňte pouze nezbytné knihovny. Pokud je to možné, použijte odlehčené verze nejdůležitějších knihoven.
- Vylepšení kódu obecně. Vyvíjejte algoritmy, díky nimž bude váš kód kratší a obecně odlehčený.
Radikálnějším řešením bude přesunutí projektu na jinou desku, například Arduino Mega, která má ve srovnání s Uno větší flash paměť.
10. java.lang.StackOverflowError
Při zpracování náčrtu používá Arduino ke zpracování některé regulární výrazy a někdy se stává zmateným, když narazí na určité chyby související s řetězci, jako jsou chybějící uvozovky.
Řešení
Tato chyba je vyřešena druhým pohledem na kód, zejména na části, kde jsou použity řetězcové sekvence. Ujistěte se, že jsou nabídky úplné, zpětná lomítka jsou správně použita atd.
Počet chyb, které lze vejít do jednoho tutoriálu, je omezen, a proto se zde zastavíme. Tento seznam však obsahuje některé z nejčastějších chyb, kterým začátečníci při používání Arduin o čelí. Bojujete s konkrétní chybou, neváhejte a napište komentář, doufejme, že to dokážeme společně vyřešit.
Příště.