- 1. Placa Arduino nu este recunoscută
- 2. Placa nu este sincronizată
- 3. Codul nu pornește la Power Reset
- 4. Eroare nevalidă la semnătura dispozitivului
- 5. Eroare Launch4j
- 6. Port serial deja utilizat
- 7: Sketch Încarcă cu succes, dar nu se întâmplă nimic
- 8. Eroare de legătură nesatisfăcută
- 9. Schița prea mare
- 10. java.lang.StackOverflowError
Începând ca începător cu Arduino, poate fi destul de dificil pentru persoanele fără fundal electronic, ai întâlni erori, dintre care unele pot avea soluții simple, dar ți-ar putea dura zile să le rezolvi. Deci, pentru a ușura puțin lucrurile, am creat o listă cu cele mai populare 10 erori Arduino împreună cu posibile soluții pentru acestea.
1. Placa Arduino nu este recunoscută
Aceasta se referă la o situație în care o placă Arduino, conectată la un computer nu este recunoscută de computer. Când se întâmplă acest lucru, placa nu este de obicei listată în listele de porturi ale IDE Arduino și este uneori etichetată USB2.0 în managerul de dispozitive.
Soluţie
Acest lucru se întâmplă atunci când utilizați anumite clone Arduino ieftine care utilizează cipul CH340g USB to Serial converter în loc de FTDI (FT232RL) și altele utilizate de plăcile standard Arduino. Driverele pentru chips-uri USB către Serial utilizate de plăcile standard Arduino sunt întotdeauna ambalate împreună cu fișierul Arduino IDE Setup, astfel încât atunci când instalați IDE, driverele sunt instalate automat pe computerul dvs. Pentru a putea utiliza aceste plăci Arduino bazate pe convertorul USB către Serial CH340g, va trebui să descărcați și să instalați driverul pentru cip. Driverul poate fi descărcat de pe acest link. Instalarea acestuia este la fel de simplă ca și apăsarea butonului de instalare de pe interfața de configurare prezentată mai jos.
După ce ați făcut acest lucru, acum ar trebui să puteți localiza portul la care este conectată placa pe ID-ul Arduino.
2. Placa nu este sincronizată
De obicei, când se întâmplă acest lucru, nu veți putea încărca cod (deși IDE va afișa uneori „terminat încărcarea”) pe placa Arduino și IDE va afișa codul de eroare; „ Avrdude: stk500_getsync (): nu este sincronizat: resp = 0x00 ”.
Soluţie
De sincronizare: resp = 0x00 este un răspuns generic care se traduce la „ cip Atmega nu este de lucru “ pe Arduino. Când se întâmplă acest lucru, există o grămadă de lucruri care ar putea fi greșite. Iată câțiva pași care ar putea fi luați pentru a elimina această eroare.
1. Asigurați-vă că nu există nimic conectat la pinii digitali 0 și 1 pe Arduino (inclusiv scuturile).
2. Asigurați-vă că portul de com și placa corectă au fost selectate în meniul de instrumente.
3. Apăsați butonul de resetare de pe Arduino de câteva ori și reîncărcați codul.
4. Deconectați și reconectați Arduino la computer.
5. Reporniți ID-ul Arduino.
Dacă oricare dintre acestea nu funcționează, ar putea fi timpul să încercați să utilizați o altă placă Arduino cu PC-ul sau să utilizați placa Arduino „defectă” cu un alt PC. Acest lucru ar trebui să vă ajute să identificați care dintre ele este originea problemei. Dacă descoperiți că problema este cu PC-ul, reinstalați Arduino IDE. Cu toate acestea, dacă placa Arduino „defectă” este sursa problemei, o soluție finală va fi să blochezi placa cu firmware-ul Arduino. Dacă niciuna dintre cele de mai sus nu funcționează, ar putea fi timpul să schimbați placa Arduino.
3. Codul nu pornește la Power Reset
Aceasta se referă la cazurile în care Arduino nu rulează schița încărcată pe acesta când este pornit și, în majoritatea cazurilor, revine doar la schița clipitoare asociată cu bootloader-ul.
Soluţie
La fel ca celelalte probleme tratate, există o serie de lucruri care ar putea provoca acest lucru.
Dacă placa se blochează și nu face nimic, ar trebui să vă verificați codul pentru a vă asigura că nu trimiteți date seriale la placa pe măsură ce apare. Când Arduino este pornit, bootloader-ul, în primele câteva secunde, ascultă computerul să-i trimită o schiță nouă pentru încărcare pe placa. Dacă nu se primește nicio schiță nouă, după un timp scurt, bootloader-ul va expira și va rula ultima schiță încărcată pe tablă. Dacă codul dvs. trimite date seriale în primele câteva minute, bootloaderul nu va expira și ultima schiță încărcată pe tablă nu va porni.
Dacă trimiterea datelor seriale de îndată ce placa este pornită este o parte importantă a proiectului dvs., poate fi necesar să găsiți o modalitate de a-i oferi o anumită întârziere pentru a opri sosirea datelor seriale imediat când Arduino se aprinde. Dacă efectuarea de ajustări va afecta sarcina pe care urmează să o îndeplinească proiectul, atunci poate fi necesar să încărcați schița pe placă folosind un programator extern, deoarece bootloader-ul poate fi ocolit de acestea.
Dacă placa nu se blochează, dar revine la schița de clipire Arduino (Ledul pinului 13 clipește din când în când), o soluție simplă va fi să clipiți placa cu bootloader-ul Arduino, deoarece cel de pe placă ar fi putut fi corupt.
4. Eroare nevalidă la semnătura dispozitivului
Această eroare este afișată atunci când se încearcă încărcarea codului, pe o placă, diferită de cea selectată în lista de instrumente> placă din IDE Arduino. Această eroare apare de obicei ca urmare a semnăturii dispozitivului de pe placa țintă este diferită de cea a plăcii selectate pe IDE.
Soluţie
Soluția la această eroare este la fel de simplă ca asigurarea unei plăci corecte selectată pe Arduino IDE. Dacă acest lucru nu funcționează, ar putea fi necesar să blocați microcontrolerul cu cea mai recentă versiune a încărcătorului de boot Arduino.
5. Eroare Launch4j
ID-ul Arduino durează uneori ceva timp înainte de încărcare și când se încarcă, dacă faceți clic pe ceva, va afișa eroarea Launch4J așa cum se arată mai sus. Launch4j este un instrument utilizat pentru împachetarea aplicațiilor Java (borcane) în executabil nativ Windows, permițându-le să fie utilizate ca un program Windows obișnuit.
IDE-ul Arduino în sine este scris în JAVA și această eroare apare din cauza incompatibilității bibliotecii Java Run Time Environment (JRE) furnizată împreună cu IDE-ul Arduino.
Soluţie
Din experiență, această eroare poate fi eliminată de ceva la fel de simplu precum oprirea conectivității Bluetooth sau WiFi a computerului. Cu toate acestea, o soluție mai completă și permanentă este înlocuirea JRE din pachetul Arduino cu o versiune recentă.
6. Port serial deja utilizat
Aceasta este probabil una dintre cele mai ușoare erori de rezolvat. De obicei, apare atunci când încercați să încărcați codul pe un Arduino în timp ce monitorul serial este deschis (aceasta nu mai este o problemă dacă utilizați versiuni recente IDE) sau când încercați să lansați monitorul serial atunci când Arduino vorbește cu un alt software sau dispozitiv prin portul serial. În esență, apare atunci când încercați să utilizați portul serial Arduino pentru două lucruri diferite în același timp.
Soluţie
La fel cum a sugerat IDE, închideți orice alt software / instrument (inclusiv monitorul serial / plotter) care ar putea utiliza portul de com. Dacă nu sunteți sigur de software-ul respectiv, deconectați Arduino. Ar trebui să fie gata să treacă până când îl reconectați.
7: Sketch Încarcă cu succes, dar nu se întâmplă nimic
Această eroare este similară cu unele dintre celelalte erori tratate deja mai sus. Pentru această eroare, IDE-ul Arduino va sugera că codul a fost încărcat cu succes, dar placa nu face nimic.
Soluţie
- Asigurați-vă că placa selectată în IDE este aceeași cu placa țintă.
- Acest lucru ar putea fi ca urmare a faptului că dimensiunea schiței este mai mare decât capacitatea plăcii. Verificați dimensiunea schiței și utilizați unele dintre metodele menționate mai sus pentru a reduce dimensiunea.
- În cele din urmă, această eroare ar putea apărea atunci când se utilizează o sursă de alimentare zgomotoasă. Asigurați-vă că sursa de alimentare este suficient de stabilă.
8. Eroare de legătură nesatisfăcută
Aceasta este probabil singura eroare rară care a intrat pe această listă. Acest lucru se întâmplă atunci când aveți o versiune veche a bibliotecii de comunicații pe computer, cel mai probabil dintr-o instalare anterioară.
Soluţie
Pentru a rezolva această eroare, căutați comm.jar sau jcl.jar în /System/Library/Frameworks/JavaVM.framework/ sau în directoare pe variabilele de mediu CLASSPATH sau PATH ale computerului.
9. Schița prea mare
Această eroare apare atunci când codul dvs. este mai mare decât memoria flash a acelei plăci Arduino. Dimensiunea memoriei flash a Arduino Uno, de exemplu, este de 32 KB, 2 KB fiind deja folosiți de bootloader-ul Arduino. Dacă ar trebui să încărcați un cod cu o dimensiune mai mare de 32 KB, Arduino va afișa acest avertisment.
Soluţie
După cum sa menționat mai sus, acest lucru se întâmplă atunci când schița este mai mare decât memoria flash a consiliului special pe care îl utilizați, prin urmare, pentru a rezolva acest lucru, va trebui să găsească modalități de a reduce cantitatea de spațiu ocupat de codul. Unele dintre sfaturile pentru realizarea acestui lucru includ;
- Unde este posibil, utilizați tipuri de date întregi în locul unui float.
- Atunci când este posibil, utilizați calificativul „const” atunci când declarați variabile.
- Includeți doar bibliotecile necesare. Unde este posibil, utilizați versiunile ușoare ale celor mai importante biblioteci.
- Îmbunătățiți codul în general. Elaborați algoritmi care vă pot ajuta să vă faceți codul mai scurt și, în general, ușor.
O soluție mai radicală va fi mutarea proiectului pe o altă placă, cum ar fi Arduino Mega, care are o memorie flash mai mare în comparație cu Uno.
10. java.lang.StackOverflowError
Când procesează schița, Arduino folosește câteva expresii regulate pentru procesare și uneori se confundă atunci când întâlnește anumite erori legate de șiruri, cum ar fi ghilimelele lipsă.
Soluţie
Această eroare este rezolvată luând o a doua privire asupra codului, în special a părților în care sunt utilizate secvențe de șiruri. Asigurați-vă că ghilimelele sunt complete, backslash-urile sunt folosite corect etc.
Există o limită a numărului de erori pe care le puteți încadra într-un singur tutorial și, din acest motiv, ne vom opri aici. Cu toate acestea, această listă conține unele dintre cele mai frecvente erori cu care se confruntă începătorii atunci când utilizează Arduin o. Vă confruntați cu o anumită eroare, nu ezitați să lăsați un comentariu, sperăm că putem lucra împreună.
Data viitoare.