- 1. Arduino ploča nije prepoznata
- 2. Ploča nije sinkronizirana
- 3. Kôd se ne pokreće pri resetiranju napajanja
- 4. Neispravna pogreška potpisa uređaja
- 5. Pogreška Launch4j
- 6. Serijski port se već koristi
- 7: Učitavanje skice uspješno, ali ništa se ne događa
- 8. Nezadovoljna pogreška veze
- 9. Skica prevelika
- 10. java.lang.StackOverflowError
Početi s Arduinom kao početnik, može biti prilično izazovno za ljude bez elektronike, naišli biste na pogreške, od kojih neke mogu imati jednostavna rješenja, ali za rješavanje mogu vam trebati dani. Kako bih stvari malo olakšao, stvorio sam popis 10 najpopularnijih Arduino pogrešaka, zajedno s mogućim rješenjima za njih.
1. Arduino ploča nije prepoznata
To se odnosi na situaciju kada računalo ne prepoznaje Arduino ploču, povezanu s računalom. Kada se to dogodi, ploča obično nije navedena na popisu priključaka Arduino IDE-a, a ponekad je pod upraviteljem uređaja označena USB2.0.

Riješenje
To se događa kada koristite određene jeftine Arduino klonove koji koriste CH340g čip za pretvorbu USB u serijski umjesto FTDI (FT232RL) i druge koje koriste standardne Arduino ploče. Upravljački programi za USB na serijske čipove koje koriste standardne ploče Arduino uvijek su upakirani zajedno s datotekom za postavljanje Arduino IDE-a, pa se prilikom instaliranja IDE-a upravljački programi automatski instaliraju na vaše računalo. Da biste mogli koristiti ovu ploču Arduino zasnovanu na USB-u i serijskom pretvaraču CH340g, morat ćete preuzeti i instalirati upravljački program za čip. Upravljački program možete preuzeti s ove poveznice. Instalacija je jednostavna poput klikanja gumba za instalaciju na dolje prikazanom sučelju za postavljanje.

Kad ste to učinili, sada biste na Arduino IDE-u mogli pronaći port na koji je ploča spojena.
2. Ploča nije sinkronizirana
Obično, kada se to dogodi, nećete moći prenijeti kôd (iako će IDE s vremena na vrijeme prikazivati "gotovo prenošenje") na ploču Arduino, a IDE će prikazati kôd pogreške; “ Avrdude: stk500_getsync (): nije sinkronizirano: resp = 0x00 ”.
Riješenje
Sinkronizacija: resp = 0x00 je generički odgovor koji prevodi na „ ATmega čip ne radi ” na Arduino. Kad se to dogodi, postoji čitava hrpa stvari koje bi mogle biti u krivu. Evo nekoliko koraka koji bi se mogli poduzeti za uklanjanje ove pogreške.
1. Osigurajte da na Arduinu nema ništa povezano s digitalnim pinovima 0 i 1 (uključujući štitove).
2. Provjerite jesu li u izborniku alata odabrani ispravni port i ploča.
3. Pritisnite nekoliko puta gumb za resetiranje na Arduinu i ponovo prenesite kôd.
4. Odspojite i ponovno spojite Arduino s računalom.
5. Ponovo pokrenite Arduino IDE.
Ako bilo što od ovoga ne uspije, možda je vrijeme da pokušate koristiti drugu Arduino ploču s računalom ili upotrijebiti "neispravnu" Arduino ploču s drugim računalom. To bi vam trebalo pomoći da utvrdite koji je od njih izvor problema. Ako otkrijete da je problem u računalu, ponovno instalirajte Arduino IDE. Međutim, ako je izvor problema "neispravna" Arduino ploča, krajnje rješenje bit će fleširanje ploče s Arduino firmwareom. Ako ništa od navedenog ne uspije, možda je vrijeme da promijenite Arduino ploču.
3. Kôd se ne pokreće pri resetiranju napajanja
To se odnosi na slučajeve kada Arduino ne pokreće skicu koja mu je prenesena kad je uključen i u većini se slučajeva samo vraća natrag na trepćuću skicu povezanu s pokretačem.
Riješenje
Kao i drugi tretirani problemi, postoji niz stvari koje bi mogle uzrokovati ovo.
Ako se ploča objesi i ništa ne poduzme, provjerite kôd kako biste bili sigurni da ne šaljete serijske podatke ploči čim se pojavi. Kad je Arduino uključen, bootloader u prvih nekoliko sekundi osluškuje računalo kako bi mu poslao novu skicu za prijenos na ploču. Ako se ne primi nova skica, nakon kratkog vremena bootloader će isteći i pokrenuti zadnju skicu učitanu na ploču. Ako vaš kôd šalje serijske podatke tijekom prvih nekoliko minuta, bootloader neće isteći i zadnja skica prenesena na ploču neće se pokrenuti.
Ako je slanje serijskih podataka čim se ploča uključi važan dio vašeg projekta, možda ćete trebati pronaći način da se malo odgodi kako bi se zaustavili serijski podaci koji stižu čim se Arduino pojavi. Ako će prilagodbe utjecati na zadatak koji projekt treba izvršiti, tada ćete možda morati prenijeti svoju skicu na ploču pomoću vanjskog programera, jer oni mogu zaobići pokretač.
Ako se ploča ne objesi, ali se vrati na Arduino skicu treptanja (Led na pin 13 svako malo trepće), izravno će rješenje biti prebacivanje ploče Arduino bootloaderom, jer je ona na ploči možda oštećena.
4. Neispravna pogreška potpisa uređaja

Ova se pogreška prikazuje kada se pokuša prenijeti kôd na ploču koja se razlikuje od one koja je odabrana na popisu alati> ploče na Arduino IDE-u. Ova se pogreška obično javlja kao rezultat toga što se potpis uređaja na ciljnoj ploči razlikuje od one na ploči odabranoj na IDE-u.
Riješenje
Rješenje ove pogreške jednostavno je kao i osiguravanje odabira ispravne ploče na Arduino IDE-u. Ako to ne uspije, možda će trebati mikrokontroler preklopiti najnovijom verzijom Arduino pokretačkog programa.
5. Pogreška Launch4j

Arduino IDE ponekad treba neko vrijeme prije učitavanja i kad se učita, ako kliknete bilo što, prikazat će se pogreška Launch4J kao što je gore prikazano. Launch4j je alat koji se koristi za umotavanje Java aplikacija (staklenki) u izvornu izvršnu datoteku sustava Windows, omogućavajući im da se koriste kao redoviti Windows program.
Sam Arduino IDE napisan je u JAVA-i, a ta se pogreška javlja zbog nekompatibilnosti knjižnice Java Run Time Environment (JRE), isporučene s Arduino IDE-om.
Riješenje
Iz iskustva se ova pogreška može ukloniti nečim jednostavnim poput isključivanja Bluetooth ili WiFi veze na računalu. Međutim, cjelovitije i trajnije rješenje je zamjena JRE-a u paketu Arduino s novijom verzijom.
6. Serijski port se već koristi

Ovo je vjerojatno jedna od najjednostavnijih grešaka za rješavanje. Obično se to događa kada pokušate prenijeti kôd na Arduino dok je serijski monitor otvoren (to više nije problem ako se koriste novije verzije IDE-a) ili kada pokušate pokrenuti serijski monitor kada Arduino razgovara s drugim softverom ili uređajem putem serijskog porta. U osnovi, to se događa kada pokušate koristiti Arduino serijski port za dvije različite stvari istovremeno.
Riješenje
Baš kao što je IDE predložio, zatvorite svaki drugi softver / alat (uključujući serijski monitor / ploter) koji možda koristi com priključak. Ako niste sigurni u određeni softver, isključite Arduino. Trebao bi biti spreman za rad dok ga ponovo priključite.
7: Učitavanje skice uspješno, ali ništa se ne događa
Ova je pogreška slična nekim od ostalih prethodno opisanih pogrešaka. Za ovu pogrešku Arduino IDE predložit će da je kôd uspješno prenesen, ali ploča ne poduzima ništa.
Riješenje
- Osigurajte da je ploča odabrana u IDE-u ista kao ciljna ploča.
- To bi moglo biti posljedica toga što je veličina skice veća od kapaciteta ploče. Provjerite veličinu skice i upotrijebite neke od gore spomenutih metoda za smanjenje veličine.
- I na kraju, ova bi se pogreška mogla pojaviti kada se koristi bučno napajanje. Osigurajte da je napajanje dovoljno stabilno.
8. Nezadovoljna pogreška veze
Ovo je vjerojatno jedina rijetka pogreška koja se našla na ovom popisu. To se događa kada na računalu ležite staru verziju biblioteke komunikacija, najvjerojatnije iz prethodne instalacije.
Riješenje
Da biste riješili ovu pogrešku, potražite comm.jar ili jcl.jar u /System/Library/Frameworks/JavaVM.framework/ ili u direktorijima na varijablama okruženja CLASSPATH ili PATH na vašem računalu.
9. Skica prevelika

Ova se pogreška događa kada je vaš kôd veći od flash memorije te određene Arduino ploče. Na primjer, veličina flash memorije Arduino Uno je 32Kb, a 2KB već koristi Arduino bootloader. Ako biste trebali prenijeti kôd veličine veće od 32Kb, Arduino će prikazati ovo upozorenje.
Riješenje
Kao što je gore spomenuto, to se događa kada je vaša skica veća od flash memorije određene ploče koju koristite, pa da biste to riješili, morate pronaći načine za smanjenje količine prostora koji zauzima vaš kod. Neki od savjeta za postizanje ovoga uključuju;
- Gdje je moguće, koristite cjelobrojne tipove podataka umjesto plutajućeg podatka.
- Gdje je moguće, koristite kvalifikator "const" prilikom deklariranja varijabli.
- Uključite samo potrebne knjižnice. Gdje je moguće, koristite lagane verzije najvažnijih knjižnica.
- Općenito poboljšati kod. Razviti algoritme koji bi vam mogli pomoći da vaš kôd bude kraći i općenito lagan.
Radikalnije rješenje bit će premještanje projekta na drugu ploču, poput Arduino Mega, koja ima veću flash memoriju u odnosu na Uno.
10. java.lang.StackOverflowError
Prilikom obrade skice, Arduino koristi neke regularne izraze za obradu i ponekad se zbuni kada naiđe na određene pogreške povezane s nizovima, poput nedostajućih navodnika.
Riješenje
Ova se pogreška rješava ponovnim pregledom koda, posebno dijelova u kojima se koriste nizovi nizova. Provjerite jesu li citati cjeloviti, da li se kose crte pravilno koriste itd.
Postoji ograničenje broja pogrešaka koje se mogu uklopiti u jedan vodič i zbog toga ćemo se ovdje zaustaviti. Međutim, ovaj popis sadrži neke od najčešćih pogrešaka s kojima se početnici suočavaju kada koriste Arduin o. Borite li se s određenom pogreškom, slobodno ispustite komentar, nadamo se da možemo zajedno to riješiti.
Sljedeći put.

