- 1. Arduino Board ikke anerkjent
- 2. Styret er ikke synkronisert
- 3. Koden starter ikke på Power Reset
- 4. Ugyldig enhetssignaturfeil
- 5. Launch4j-feil
- 6. Seriell port allerede i bruk
- 7: Skisseopplastinger lykkes, men ingenting skjer
- 8. Mislykket koblingsfeil
- 9. Skisse for stor
- 10. java.lang.StackOverflowError
Å starte som en nybegynner med Arduino, kan være ganske utfordrende for mennesker uten elektronikkbakgrunn. Du vil komme over feil, hvorav noen kan ha enkle løsninger, men det kan ta noen dager å løse. Så for å gjøre ting litt lettere, har jeg laget en liste over 10 mest populære Arduino-feil sammen med mulige løsninger på dem.
1. Arduino Board ikke anerkjent
Dette refererer til en situasjon der et Arduino-kort, koblet til en datamaskin, ikke gjenkjennes av datamaskinen. Når dette skjer, er brettet vanligvis ikke oppført under portlistene til Arduino IDE og er noen ganger merket USB2.0 under enhetsadministratoren.
Løsning
Dette skjer når du bruker visse billige Arduino-kloner som bruker CH340g USB til seriell omformerbrikke i stedet for FTDI (FT232RL) og andre som brukes av standard Arduino-kort. Driverne for USB til serielle brikker som brukes av Standard Arduino-kortene, er alltid pakket sammen med Arduino IDE Setup-filen, så når du installerer IDE, blir driverne automatisk installert på PCen. For å kunne bruke disse CH340g USB til serielle omformerbaserte Arduino-kortene, må du laste ned og installere driveren for brikken. Driveren kan lastes ned fra denne lenken. Å installere det er så enkelt som å klikke på installasjonsknappen i installasjonsgrensesnittet vist nedenfor.
Når dette er gjort, bør du nå kunne finne porten som kortet er koblet til på Arduino IDE.
2. Styret er ikke synkronisert
Vanligvis, når dette skjer, vil du ikke kunne laste opp kode (selv om IDE til tider vil vise "ferdig opplasting") til Arduino-kortet, og IDE vil vise feilkoden; “ Avrdude: stk500_getsync (): ikke synkronisert: resp = 0x00 ”.
Løsning
Den sync: resp = 0x00 er en generisk svar som oversetter til “ ATmega chip virker ikke ” på Arduino. Når dette skjer, er det en hel haug med ting som kan være galt. Her er noen trinn som kan tas for å fjerne denne feilen.
1. Forsikre deg om at ingenting er koblet til digitale pinner 0 og 1 på Arduino (inkludert skjold).
2. Forsikre deg om at riktig port og kort ble valgt under verktøymenyen.
3. Trykk på tilbakestillingsknappen på Arduino et par ganger og last opp koden på nytt.
4. Koble fra og koble Arduino til PCen.
5. Start Arduino IDE på nytt.
Hvis noe av dette ikke fungerer, kan det være på tide å prøve å bruke et annet Arduino-kort med PC-en eller bruke det "defekte" Arduino-kortet med en annen PC. Dette skal hjelpe deg med å identifisere hvilken av dem som er årsaken til problemet. Hvis du oppdager at problemet er med PCen, installerer du Arduino IDE på nytt. Imidlertid, hvis det "defekte" Arduino-kortet er problemkilden, vil en ultimate løsning være å blinke kortet med Arduino-firmware. Hvis ingen av de ovennevnte fungerer, kan det være på tide for deg å endre Arduino Board.
3. Koden starter ikke på Power Reset
Dette refererer til tilfeller der Arduino ikke kjører skissen som er lastet opp til den når den er slått på, og i de fleste tilfeller bare går tilbake til blinkskissen knyttet til bootloader.
Løsning
Akkurat som de andre problemene som er behandlet, er det en rekke ting som kan forårsake dette.
Hvis tavlen henger og ikke gjør noe, bør du sjekke koden din for å sikre at du ikke sender serielle data til tavlen når den kommer på. Når Arduino er slått på, lytter opplasteren i de første sekundene til datamaskinen for å sende den en ny skisse for opplasting til tavlen. Hvis ingen ny skisse mottas, etter en kort stund, starter opplasteren timeout og kjører den siste skissen som ble lastet opp på tavlen. Hvis koden din sender seriell data i løpet av de første minuttene, starter ikke opplasteren timeout, og den siste skissen som er lastet opp til tavlen, starter ikke.
Hvis sending av seriedata så snart styret kommer på, er en viktig del av prosjektet ditt, må du kanskje finne en måte å gi det litt forsinkelse for å stoppe seriell data fra å komme med en gang Arduino kommer på. Hvis justeringer vil påvirke oppgaven prosjektet skal utføre, kan det hende du må laste opp skissen til tavlen ved hjelp av en ekstern programmerer, da bootloaderen kan omgåes av dem.
Hvis brettet ikke henger, men returnerer til Arduino-blinkskissen (Led på pin 13 blinker innimellom), vil en grei løsning være å blinke kortet med Arduino bootloader, da den på brettet kan ha blitt ødelagt.
4. Ugyldig enhetssignaturfeil
Denne feilen vises når det blir gjort et forsøk på å laste opp kode, til et brett, forskjellig fra det som er valgt under verktøyene> brettlisten på Arduino IDE. Denne feilen oppstår vanligvis som et resultat av at enhetens signatur på målkortet er forskjellig fra det som er valgt på IDE.
Løsning
Løsningen på denne feilen er så enkel som å sikre at riktig kort er valgt på Arduino IDE. Hvis dette ikke fungerer, kan det være behov for å blinke mikrokontrolleren med den nyeste versjonen av Arduino bootloader.
5. Launch4j-feil
Arduino IDE tar noen ganger en stund før den lastes inn, og hvis du klikker på noe, vil den vise Launch4J-feilen som vist ovenfor. Launch4j er et verktøy som brukes for innpakning av Java-applikasjoner (krukker) i Windows-kjørbare, slik at de kan brukes som et vanlig Windows-program.
Arduino IDE i seg selv er skrevet i JAVA, og denne feilen oppstår på grunn av inkompatibiliteten til Java Run Time Environment (JRE) -biblioteket som fulgte med Arduino IDE.
Løsning
Av erfaring kan denne feilen fjernes med noe så enkelt som å slå av PC-ens Bluetooth- eller WiFi-tilkobling. En mer komplett og permanent løsning er imidlertid å erstatte JRE i Arduino-pakken med en nylig versjon.
6. Seriell port allerede i bruk
Dette er sannsynligvis en av de enkleste feilene å løse. Det oppstår vanligvis når du prøver å laste opp kode til en Arduino mens den serielle skjermen åpnes (dette er ikke lenger et problem hvis du bruker nyere IDE-versjoner) eller når du prøver å starte den serielle skjermen når Arduino snakker med en annen programvare eller enhet. via serieporten. I hovedsak skjer det når du prøver å bruke Arduino seriell port til to forskjellige ting samtidig.
Løsning
Akkurat som IDE foreslått, lukk alle andre programvare / verktøy (inkludert seriell skjerm / plotter) som kan bruke komporten. Hvis du ikke er sikker på programvaren, kobler du fra Arduino. Den skal være klar til bruk når du kobler den til igjen.
7: Skisseopplastinger lykkes, men ingenting skjer
Denne feilen ligner på noen av de andre feilene som allerede er behandlet ovenfor. For denne feilen vil Arduino IDE foreslå at koden er lastet opp, men styret gjør ingenting.
Løsning
- Forsikre deg om at styret valgt i IDE er det samme som målkortet.
- Dette kan være et resultat av at skissestørrelsen er større enn brettets kapasitet. Sjekk skissestørrelsen og bruk noen av metodene nevnt ovenfor for å redusere størrelsen.
- Til slutt kan denne feilen oppstå når en støyende strømforsyning brukes. Forsikre deg om at strømforsyningen er stabil nok.
8. Mislykket koblingsfeil
Dette er sannsynligvis den eneste sjeldne feilen som kom inn på denne listen. Dette skjer når du har en gammel versjon av kommunikasjonsbiblioteket liggende på PC-en din, sannsynligvis fra en tidligere installasjon.
Løsning
For å løse denne feilen, søke etter comm.jar eller jcl.jar i /System/Library/Frameworks/JavaVM.framework/ eller i kataloger på PCens CLASSPATH eller PATH miljøvariabler.
9. Skisse for stor
Denne feilen oppstår når koden din er større enn flashminnet til det aktuelle Arduino-kortet. Størrelsen på flashminnet til Arduino Uno, for eksempel, er 32 KB med 2 KB allerede brukt av Arduino bootloader. Hvis du skal laste opp en kode med en størrelse som er høyere enn 32 KB, vil Arduino vise denne advarselen.
Løsning
Som nevnt ovenfor, skjer dette når skissen din er større enn flashminnet til det aktuelle kortet du bruker, og for å løse dette må du finne måter å redusere mengden plass okkupert av koden din. Noen av tipsene for å oppnå dette inkluderer;
- Hvis det er mulig, bruk heltal datatyper i stedet for en flottør.
- Hvis det er mulig, bruk "const" -kvalifiseringen når du deklarerer variabler.
- Inkluder bare nødvendige biblioteker. Når det er mulig, bruk lette versjoner av de viktigste bibliotekene.
- Forbedre koden generelt. Utvikle algoritmer som kan bidra til å gjøre koden din kortere og generelt lett.
En mer radikal løsning vil være å flytte prosjektet til et annet brett, som Arduino Mega, som har et større flashminne sammenlignet med Uno.
10. java.lang.StackOverflowError
Når du behandler skissen, bruker Arduino noen vanlige uttrykk for behandling og blir noen ganger forvirret når den støter på visse strengrelaterte feil som manglende anførselstegn.
Løsning
Denne feilen løses ved å ta en ny titt på koden, spesielt delene der strengesekvenser brukes. Forsikre deg om at tilbudene er fullstendige, at tilbakeslag brukes riktig osv.
Det er en grense for antall feil som man kan passe inn i en enkelt opplæring, og av den grunn stopper vi her. Denne listen inneholder imidlertid noen av de vanligste feilene nybegynnere møter når de bruker Arduin o. Sliter du med en bestemt feil, kan du gjerne slippe en kommentar, forhåpentligvis kan vi jobbe gjennom det sammen.
Neste gang.