- 1. Arduino Board ni prepoznan
- 2. Plošča ni sinhronizirana
- 3. Koda se ob zagonu napajanja ne zažene
- 4. Neveljavna napaka podpisa naprave
- 5. Napaka Launch4j
- 6. Zaporedna vrata so že v uporabi
- 7: Skica je bila uspešno naložena, vendar se nič ne zgodi
- 8. Nezadovoljna napaka povezave
- 9. Skica prevelika
- 10. java.lang.StackOverflowError
Če začnete z Arduinom kot začetnik, je lahko za ljudi brez elektronike precej zahtevno, naleteli boste na napake, nekatere imajo lahko preproste rešitve, vendar vam bodo morda treba rešiti nekaj dni. Da bi stvari nekoliko olajšal, sem ustvaril seznam 10 najbolj priljubljenih napak Arduino skupaj z možnimi rešitvami zanje.
1. Arduino Board ni prepoznan
To se nanaša na situacijo, ko računalnik ne prepozna plošče Arduino, priključene na računalnik. Ko se to zgodi, plošča običajno ni navedena na seznamih vrat Arduino IDE in je včasih pod upraviteljem naprav označena z USB2.0.
Rešitev
To se zgodi, če uporabljate nekatere poceni Arduino klonove, ki uporabljajo pretvorniški čip USB v serijski CH340g namesto FTDI (FT232RL) in druge, ki jih uporabljajo standardne plošče Arduino. Gonilniki za USB do serijskih čipov, ki jih uporabljajo standardne plošče Arduino, so vedno pakirani skupaj z namestitveno datoteko Arduino IDE, zato se ob namestitvi IDE gonilniki samodejno namestijo v vaš računalnik. Če želite uporabljati to ploščo Arduino na osnovi pretvornika USB v serijski pretvornik CH340g, boste morali prenesti in namestiti gonilnik za čip. Gonilnik lahko prenesete s te povezave. Namestitev je preprosta kot klik na gumb za namestitev v spodnjem nastavitvenem vmesniku.
Ko je to storjeno, bi zdaj lahko našli Arduino IDE vrata, na katera je plošča priključena.
2. Plošča ni sinhronizirana
Običajno v tem primeru kode ne boste mogli naložiti (čeprav bo IDE včasih prikazal »končano nalaganje«) na ploščo Arduino, IDE pa kodo napake; “ Avrdude: stk500_getsync (): ni sinhronizirano: resp = 0x00 ”.
Rešitev
Sync: resp = 0x00 je splošen odgovor, ki pomeni, da je " Atmega čip ne deluje " na Arduino. Ko se to zgodi, je cel kup stvari, ki bi lahko bile narobe. Tu je nekaj korakov za odpravo te napake.
1. Prepričajte se, da na Arduinu ni nič povezanega z digitalnima nožicama 0 in 1 (vključno s ščitniki).
2. Prepričajte se, da sta bila v meniju orodij izbrana ustrezna vrata in plošča.
3. Na Arduinu nekajkrat pritisnite gumb za ponastavitev in znova naložite kodo.
4. Odklopite in znova povežite Arduino z računalnikom.
5. Znova zaženite Arduino IDE.
Če kar koli od tega ne deluje, je morda čas, da poskusite z drugo PC-jem uporabiti drugo ploščo Arduino ali z drugim PC-jem uporabiti "okvarjeno" ploščo Arduino. To bi vam moralo pomagati ugotoviti, kateri od njih je izvor težave. Če odkrijete, da je težava v osebnem računalniku, znova namestite Arduino IDE. Če pa je težava vir "okvarjene" plošče Arduino, bo najboljša rešitev, da ploščo utripate z vdelano programsko opremo Arduino. Če nič od zgoraj navedenega ne deluje, je morda čas, da spremenite ploščo Arduino.
3. Koda se ob zagonu napajanja ne zažene
To se nanaša na primere, ko Arduino ob vklopu ne zažene skice, ki mu je bila naložena, in se v večini primerov vrne nazaj na utripajočo skico, povezano z zagonskim nalagalnikom.
Rešitev
Tako kot pri drugih obravnavanih težavah lahko to povzroči več stvari.
Če plošča visi in ne naredi ničesar, preverite kodo in se prepričajte, da na ploščo ne pošiljate serijskih podatkov, ko se prikaže. Ko je Arduino vklopljen, zagonski nalagalnik v prvih nekaj sekundah posluša, da mu računalnik pošlje novo skico za nalaganje na ploščo. Če nova skica ne prejme, bo zagonsko nalaganje po kratkem času poteklo in zagnalo zadnjo skico, naloženo na ploščo. Če vaša koda pošilja serijske podatke v prvih nekaj minutah, zagonski nalagalnik ne bo potekel in zadnja skica, naložena na ploščo, se ne bo zagnala.
Če je pošiljanje serijskih podatkov takoj, ko se plošča prikaže, pomemben del vašega projekta, boste morda morali poiskati način, s katerim boste nekoliko zamudili, da preprečite, da bi serijski podatki prispeli takoj, ko se vklopi Arduino. Če bodo prilagoditve vplivale na nalogo, ki jo bo projekt izvedel, boste morda morali skico naložiti na ploščo z zunanjim programerjem, saj jih bo zagonsko nalagalnik lahko obšel.
Če se plošča ne obesi, ampak se vrne na skico utripanja Arduino (Led na pin 13 utripa vsake toliko časa), bo neposredna rešitev utripanje plošče z zagonskim nalagalnikom Arduino, saj je ta na plošči morda poškodovan.
4. Neveljavna napaka podpisa naprave
Ta napaka se prikaže, ko poskusite naložiti kodo na ploščo, ki je drugačna od tiste, ki je izbrana pod orodjem> seznam plošč na ID-ju Arduino. Do te napake običajno pride, ker se podpis naprave na ciljni plošči razlikuje od tiste na plošči, izbrani v IDE.
Rešitev
Rešitev te napake je tako preprosta, kot je zagotoviti pravilno izbiro plošče v Arduino IDE. Če to ne deluje, bo morda treba mikrokrmilnik utripati z najnovejšo različico zagonskega nalagalnika Arduino.
5. Napaka Launch4j
Arduino IDE včasih traja nekaj časa, preden se naloži in ko se naloži, če kliknete kar koli, se prikaže napaka Launch4J, kot je prikazano zgoraj. Launch4j je orodje, ki se uporablja za zavijanje aplikacij Java (kozarcev) v domačo izvedljivo datoteko sistema Windows in jim omogoča uporabo kot običajni program Windows.
Sam IDE Arduino je napisan v jeziku JAVA in ta napaka nastane zaradi nezdružljivosti knjižnice Java Run Time Environment (JRE), ki je priložena Arduino IDE.
Rešitev
Iz izkušenj lahko to napako odpravite tako preprosto, kot je izklop povezave Bluetooth ali WiFi v računalniku. Vendar je popolnejša in trajnejša rešitev zamenjava JRE v paketu Arduino z novejšo različico.
6. Zaporedna vrata so že v uporabi
To je verjetno ena izmed napak, ki jih je najlažje odpraviti. Običajno se zgodi, ko poskušate naložiti kodo v Arduino med odpiranjem serijskega monitorja (to ne povzroča več težav z uporabo najnovejših različic IDE) ali ko poskusite zagnati serijski monitor, ko Arduino govori z drugo programsko opremo ali napravo. prek zaporednih vrat. V bistvu se to zgodi, ko poskušate uporabiti serijska vrata Arduino hkrati za dve različni stvari.
Rešitev
Tako kot je predlagal IDE, zaprite vsako drugo programsko opremo / orodje (vključno s serijskim monitorjem / ploterjem), ki morda uporablja com vrata. Če niste prepričani v določeno programsko opremo, odklopite Arduino. Ko ga priključite, mora biti pripravljen za uporabo.
7: Skica je bila uspešno naložena, vendar se nič ne zgodi
Ta napaka je podobna nekaterim drugim, že obravnavanim zgoraj. Za to napako bo Arduino IDE predlagal, da je bila koda uspešno naložena, vendar plošča ne naredi ničesar.
Rešitev
- Poskrbite, da bo plošča, izbrana v IDE, enaka ciljni plošči.
- To je lahko posledica tega, da je velikost skice večja od zmogljivosti plošče. Preverite velikost skice in uporabite nekatere zgoraj omenjene metode, da zmanjšate velikost.
- Nazadnje, do te napake lahko pride, ko se uporablja hrupno napajanje. Prepričajte se, da je napajalnik dovolj stabilen.
8. Nezadovoljna napaka povezave
To je verjetno edina redka napaka, ki je prišla na ta seznam. To se zgodi, če imate v računalniku staro različico komunikacijske knjižnice, najverjetneje iz prejšnje namestitve.
Rešitev
Če želite odpraviti to napako, poiščite comm.jar ali jcl.jar v /System/Library/Frameworks/JavaVM.framework/ ali v imenikih na spremenljivkah okolja CLASSPATH ali PATH v računalniku.
9. Skica prevelika
Ta napaka se pojavi, ko je vaša koda večja od bliskovnega pomnilnika te plošče Arduino. Velikost bliskovnega pomnilnika Arduino Uno je na primer 32Kb, 2KB pa že uporablja zagonski nalagalnik Arduino. Če bi morali naložiti kodo, večjo od 32Kb, bo Arduino prikazal to opozorilo.
Rešitev
Kot smo že omenili, se to zgodi, ko je vaša skica večja od bliskovnega pomnilnika določene plošče, ki jo uporabljate, zato morate za rešitev te težave poiskati načine za zmanjšanje prostora, ki ga zaseda vaša koda. Nekateri nasveti za dosego tega vključujejo;
- Kjer je mogoče, uporabite celoštevilčne podatkovne tipe namesto float-a.
- Kjer je mogoče, pri razglasitvi spremenljivk uporabite kvalifikator "const".
- Vključite samo potrebne knjižnice. Kjer je mogoče, uporabite lahke različice najpomembnejših knjižnic.
- Na splošno izboljšajte kodo. Razvijte algoritme, ki bi lahko pomagali, da bo vaša koda krajša in na splošno lahka.
Radikalnejša rešitev bo premik projekta na drugo ploščo, kot je Arduino Mega, ki ima večji pomnilnik flash v primerjavi z Uno.
10. java.lang.StackOverflowError
Pri obdelavi skice Arduino za obdelavo uporablja nekaj regularnih izrazov in se včasih zmede, ko naleti na nekatere napake, povezane z nizi, kot so manjkajoči narekovaji.
Rešitev
To napako odpravimo tako, da še enkrat pogledamo kodo, še posebej tiste dele, kjer se uporabljajo zaporedja nizov. Zagotovite, da so ponudbe popolne, ali se poševnice pravilno uporabljajo itd.
Število napak, ki jih lahko vključimo v eno vadnico, je omejeno, zato se bomo tukaj ustavili. Vendar ta seznam vsebuje nekaj najpogostejših napak, s katerimi se začetniki srečujejo pri uporabi Arduin o. Ali se spopadate z določeno napako, vas prosimo, da spustite komentar, upajmo, da jo bomo lahko rešili skupaj.
Naslednjič.