- 1. Arduino-styrelsen känns inte igen
- 2. Styrelsen är inte synkroniserad
- 3. Koden startar inte vid strömåterställning
- 4. Ogiltigt enhetssignaturfel
- 5. Launch4j-fel
- 6. Seriell port som redan används
- 7: Skissuppladdningar lyckades men ingenting händer
- 8. Otillfredsställd länkfel
- 9. Skiss för stor
- 10. java.lang.StackOverflowError
Att börja som nybörjare med Arduino kan vara ganska utmanande för människor utan elektronikbakgrund, du skulle stöta på fel, varav några kan ha enkla lösningar men det kan ta dagar att lösa. Så för att göra saker lite enklare har jag skapat en lista med 10 mest populära Arduino-fel tillsammans med möjliga lösningar på dem.
1. Arduino-styrelsen känns inte igen
Detta hänvisar till en situation där ett Arduino-kort som är anslutet till en dator inte känns igen av datorn. När detta händer är kortet vanligtvis inte listat under portlistorna på Arduino IDE och ibland märkt USB2.0 under enhetshanteraren.
Lösning
Detta händer när du använder vissa billiga Arduino-kloner som använder CH340g USB till seriell omvandlarchip istället för FTDI (FT232RL) och andra som används av standard Arduino-kort. Drivrutinerna för USB till seriekretsar som används av standard Arduino-kort är alltid förpackade tillsammans med Arduino IDE-installationsfilen, så när du installerar IDE installeras drivrutinerna automatiskt på din dator. För att kunna använda detta CH340g USB till seriekonverterare baserade Arduino-kort måste du ladda ner och installera drivrutinen för chipet. Drivrutinen kan laddas ner från den här länken. Installera det är så enkelt som att klicka på installationsknappen i installationsgränssnittet som visas nedan.
När detta är gjort ska du nu kunna hitta den port som kortet är anslutet till på Arduino IDE.
2. Styrelsen är inte synkroniserad
Vanligtvis, när detta händer, kommer du inte att kunna ladda upp kod (även om IDE ibland kommer att visa "gjort uppladdning") till Arduino-kortet och IDE kommer att visa felkoden; “ Avrdude: stk500_getsync (): inte synkroniserad: resp = 0x00 ”.
Lösning
Den synkronisering: resp = 0x00 är en allmän reaktion som översätter till ” ATmega chip fungerar inte ” på Arduino. När detta händer finns det en hel massa saker som kan vara fel. Här är några steg som kan vidtas för att rensa detta fel.
1. Se till att ingenting är anslutet till digitala stift 0 och 1 på Arduino (inklusive sköldar).
2. Se till att rätt port och kort valdes under verktygsmenyn.
3. Tryck på återställningsknappen på Arduino ett par gånger och ladda upp koden igen.
4. Koppla bort och anslut Arduino till datorn igen.
5. Starta om Arduino IDE.
Om något av detta inte fungerar kan det vara dags att försöka använda ett annat Arduino-kort med datorn eller använda det "felaktiga" Arduino-kortet med en annan dator. Detta ska hjälpa dig att identifiera vilken av dem som är orsaken till problemet. Om du upptäcker att problemet är med datorn installerar du om Arduino IDE. Men om det "felaktiga" Arduino-kortet är problemkällan, är det en ultimat lösning att blinka kortet med Arduino-firmware. Om inget av ovanstående fungerar kan det vara dags för dig att byta Arduino Board.
3. Koden startar inte vid strömåterställning
Detta hänvisar till fall där Arduino inte kör skissen som laddas upp till den när den är påslagen och i de flesta fall bara återgår till blinkskissen som är associerad med startladdaren.
Lösning
Precis som de andra behandlade problemen finns det ett antal saker som kan orsaka detta.
Om tavlan hänger och gör ingenting bör du kontrollera din kod för att se till att du inte skickar seriell data till tavlan när den tänds. När Arduino slås på lyssnar bootloadern, under de första sekunderna, på att datorn ska skicka en ny skiss för uppladdning till kortet. Om ingen ny skiss tas emot efter en kort stund kommer bootloadern att ta slut och köra den senaste skissen som laddats upp på tavlan. Om din kod skickar seriell data under de första minuterna, startar inte bootloadern och den sista skissen som laddas upp på tavlan startar inte.
Om det är viktigt att skicka seriell data så snart tavlan startar, kan du behöva hitta ett sätt att fördröja det för att förhindra att seriedata anländer omedelbart när Arduino kommer på. Om justeringar påverkar uppgiften som projektet ska utföra, kan du behöva ladda upp din skiss till tavlan med en extern programmerare, eftersom startladdaren kan kringgå dem.
Om brädet inte hänger men återvänder till Arduino-blinkningsskissen (Led på stift 13 blinkar då och då), kommer en enkel fix att bli att blinka brädet med Arduino bootloader, eftersom den på brädet kan ha skadats.
4. Ogiltigt enhetssignaturfel
Det här felet visas när ett försök görs att ladda upp kod till ett kort, som skiljer sig från det som valts under verktygslistan> Arduino IDE. Detta fel inträffar vanligtvis till följd av att enhetens signatur på målkortet skiljer sig från den som är vald på IDE.
Lösning
Lösningen på detta fel är så enkel som att säkerställa att rätt kort väljs på Arduino IDE. Om detta inte fungerar kan det vara nödvändigt att blinka mikrokontrollern med den senaste versionen av Arduino bootloader.
5. Launch4j-fel
Arduino IDE tar ibland ett tag innan den laddas och när den laddas, om du klickar på något, kommer den att visa Launch4J-felet som visas ovan. Launch4j är ett verktyg som används för att linda in Java-applikationer (burkar) i Windows-körbara filer, så att de kan användas som ett vanligt Windows-program.
Arduino IDE själv är skriven i JAVA och detta fel uppstår på grund av inkompatibiliteten med Java Run Time Environment (JRE) -biblioteket som medföljer Arduino IDE.
Lösning
Av erfarenhet kan detta fel rensas med något så enkelt som att stänga av datorns Bluetooth- eller WiFi-anslutning. En mer komplett och permanent lösning är dock att ersätta JRE i Arduino-paketet med en ny version.
6. Seriell port som redan används
Detta är förmodligen ett av de enklaste felen att lösa. Det inträffar vanligtvis när du försöker ladda upp kod till en Arduino medan den seriella bildskärmen är öppen (detta är inte längre ett problem om du använder senaste IDE-versioner) eller när du försöker starta den seriella bildskärmen när Arduino pratar med en annan programvara eller enhet via den seriella porten. I grund och botten inträffar det när du försöker använda Arduino serieport för två olika saker samtidigt.
Lösning
Precis som IDE föreslog, stäng alla andra program / verktyg (inklusive seriell bildskärm / plotter) som kan använda com-porten. Om du inte är säker på den specifika programvaran kopplar du ur Arduino. Den ska vara redo att gå när du ansluter den igen.
7: Skissuppladdningar lyckades men ingenting händer
Detta fel liknar några av de andra fel som redan behandlats ovan. För detta fel kommer Arduino IDE att föreslå att koden har laddats upp framgångsrikt, men styrelsen gör ingenting.
Lösning
- Se till att kortet som valts i IDE är detsamma som målkortet.
- Detta kan bero på att skissstorleken är större än styrelsens kapacitet. Kontrollera skissstorleken och använd några av metoderna som nämns ovan för att minska storleken.
- Slutligen kan detta fel inträffa när en bullrig strömförsörjning används. Se till att strömförsörjningen är tillräckligt stabil.
8. Otillfredsställd länkfel
Detta är förmodligen det enda sällsynta felet som kom in på den här listan. Detta inträffar när du har en gammal version av kommunikationsbiblioteket liggande på din dator, troligen från en tidigare installation.
Lösning
För att lösa detta fel, sök efter comm.jar eller jcl.jar i /System/Bibliotek/Frameworks/JavaVM.framework/ eller i kataloger på datorns miljövariabler CLASSPATH eller PATH .
9. Skiss för stor
Det här felet uppstår när din kod är större än flashminnet på det aktuella Arduino-kortet. Storleken på flashminnet på Arduino Uno är till exempel 32Kb med 2KB som redan används av Arduino bootloader. Om du ska ladda upp en kod med en storlek som är högre än 32Kb, visar Arduino denna varning.
Lösning
Som nämnts ovan inträffar detta när din skiss är större än flashminnet på det specifika kortet du använder, så för att lösa detta måste du hitta sätt att minska mängden utrymme som upptas av din kod. Några av tipsen för att uppnå detta inkluderar;
- Använd om möjligt heltal datatyper istället för en flottör.
- Använd om möjligt "const" -kvalificatorn när du deklarerar variabler.
- Inkludera endast nödvändiga bibliotek. Använd om möjligt de lätta versionerna av de viktigaste biblioteken.
- Förbättra koden generellt. Utveckla algoritmer som kan hjälpa dig att göra din kod kortare och i allmänhet lätt.
En mer radikal lösning blir att flytta projektet till ett annat kort, som Arduino Mega, som har ett större flashminne jämfört med Uno.
10. java.lang.StackOverflowError
När du bearbetar skissen använder Arduino några regelbundna uttryck för bearbetning och blir ibland förvirrad när den stöter på vissa strängrelaterade fel som saknade citat.
Lösning
Det här felet löses genom att ta en andra titt på koden, särskilt de delar där strängsekvenser används. Se till att offerten är komplett, att snedstreck används med rätta etc.
Det finns en gräns för antalet fel som man kan passa in i en enda handledning och av den anledningen stannar vi här. Den här listan innehåller dock några av de vanligaste felen som nybörjare möter när de använder Arduin o. Kämpar du med ett visst fel kan du gärna släppa en kommentar, förhoppningsvis kan vi arbeta igenom det tillsammans.
Nästa gång.