- 1. Arduino Board ikke anerkendt
- 2. Board ikke synkroniseret
- 3. Koden starter ikke ved Power Reset
- 4. Ugyldig enhedssignaturfejl
- 5. Launch4j-fejl
- 6. Seriel port, der allerede er i brug
- 7: Sketch Uploads med succes, men intet sker
- 8. Utilfreds Linkfejl
- 9. Skitse for stor
- 10. java.lang.StackOverflowError
At starte som en nybegynder med Arduino kan være ret udfordrende for mennesker uden elektronikbaggrund, du vil støde på fejl, hvoraf nogle måske har enkle løsninger, men det kan tage dig dage at løse. Så for at gøre tingene lettere, har jeg oprettet en liste over 10 mest populære Arduino-fejl sammen med mulige løsninger på dem.
1. Arduino Board ikke anerkendt
Dette refererer til en situation, hvor et Arduino-kort, der er tilsluttet en computer, ikke genkendes af computeren. Når dette sker, er tavlen normalt ikke opført under portlisterne på Arduino IDE og er undertiden mærket USB2.0 under enhedsadministratoren.
Opløsning
Dette sker, når du bruger visse billige Arduino-kloner, der bruger CH340g USB til seriel konverterchip i stedet for FTDI (FT232RL) og andre, der bruges af standard Arduino-kort. Drivere til USB til serielle chips, der bruges af Standard Arduino-kortene, pakkes altid sammen med Arduino IDE Setup-filen, så når du installerer IDE, installeres driverne automatisk på din pc. For at kunne bruge denne CH340g USB til seriel konverterbaserede Arduino-kort skal du downloade og installere driveren til chippen. Driveren kan downloades fra dette link. Installation er så simpelt som at klikke på installationsknappen i installationsgrænsefladen vist nedenfor.
Når dette er gjort, skal du nu være i stand til at finde den port, som kortet er forbundet med, på Arduino IDE.
2. Board ikke synkroniseret
Normalt, når dette sker, vil du ikke være i stand til at uploade kode (Selvom IDE til tider vil vise "færdig upload") til Arduino-kortet, og IDE vil vise fejlkoden; “ Avrdude: stk500_getsync (): ikke synkroniseret: resp = 0x00 ”.
Opløsning
Den sync: resp = 0x00 er en generisk reaktion, der oversætter til ” Atmega chippen ikke fungerer ” på Arduino. Når dette sker, er der en hel masse ting, der kan være forkert. Her er nogle trin, der kan tages for at fjerne denne fejl.
1. Sørg for, at der ikke er noget forbundet med de digitale ben 0 og 1 på Arduino (inklusive skjolde).
2. Sørg for, at den korrekte port og det korrekte kort blev valgt under værktøjsmenuen.
3. Tryk på nulstillingsknappen på Arduino et par gange, og upload koden igen.
4. Afbryd og tilslut Arduino til pc'en.
5. Genstart Arduino IDE.
Hvis noget af dette ikke virker, kan det være tid til at prøve at bruge et andet Arduino-kort med pc'en eller bruge det "defekte" Arduino-kort med en anden pc. Dette skal hjælpe dig med at identificere, hvilken af dem der er årsagen til problemet. Hvis du opdager, at problemet er med pc'en, skal du geninstallere Arduino IDE. Men hvis det "defekte" Arduino-kort er problemkilden, vil en ultimativ løsning være at blinke kortet med Arduino-firmwaren. Hvis intet af ovenstående fungerer, kan det være tid for dig at ændre Arduino Board.
3. Koden starter ikke ved Power Reset
Dette refererer til tilfælde, hvor Arduino ikke kører den skitse, der er uploadet til den, når den er tændt, og i de fleste tilfælde bare vender tilbage til den blinkende skitse, der er knyttet til bootloaderen.
Opløsning
Ligesom de andre behandlede problemer er der en række ting, der kan forårsage dette.
Hvis tavlen hænger og ikke gør noget, skal du kontrollere din kode for at sikre, at du ikke sender serielle data til tavlen, når den tændes. Når Arduino er tændt, lytter bootloaderen i de første par sekunder til computeren for at sende den en ny skitse til upload til tavlen. Hvis der ikke modtages nogen ny skitse, starter bootloaderen efter et stykke tid og kører den sidste skitse, der er uploadet til tavlen. Hvis din kode sender serielle data i løbet af de første par minutter, starter bootloaderen ikke timeout, og den sidste skitse, der uploades til tavlen, starter ikke.
Hvis afsendelse af serielle data, så snart bestyrelsen tændes, er en vigtig del af dit projekt, skal du muligvis finde en måde at give det en vis forsinkelse for at forhindre, at serielle data ankommer straks Arduino kommer på. Hvis justeringer vil påvirke den opgave projektet skal udføre, skal du muligvis uploade din skitse til tavlen ved hjælp af en ekstern programmerer, da bootloaderen kan omgåes af dem.
Hvis tavlen ikke hænger, men vender tilbage til Arduino blink-skitse (Led på pin 13 blinker ind imellem), vil en ligetil løsning være at blinke tavlen med Arduino bootloader, da den på tavlen muligvis er blevet ødelagt.
4. Ugyldig enhedssignaturfejl
Denne fejl vises, når der gøres et forsøg på at uploade kode til et kort, der adskiller sig fra det, der er valgt under værktøj> bordlisten på Arduino IDE. Denne fejl opstår normalt som et resultat af enhedens signatur på målkortet er forskellig fra det, der er valgt på kortet på IDE.
Opløsning
Løsningen på denne fejl er så enkel som at sikre, at det rigtige kort er valgt på Arduino IDE. Hvis dette ikke virker, er der muligvis behov for at blinke mikrocontrolleren med den nyeste version af Arduino bootloader.
5. Launch4j-fejl
Arduino IDE tager nogle gange et stykke tid inden indlæsning, og når du klikker på noget, vil det vise Launch4J-fejlen som vist ovenfor. Launch4j er et værktøj, der bruges til indpakning af Java-applikationer (krukker) i Windows-indbygget eksekverbar, så de kan bruges som et almindeligt Windows-program.
Arduino IDE i sig selv er skrevet i JAVA, og denne fejl opstår på grund af inkompatibiliteten mellem Java Run Time Environment (JRE) -biblioteket og Arduino IDE.
Opløsning
Fra erfaring kan denne fejl ryddes ved noget så simpelt som at slukke for din pcs Bluetooth- eller WiFi-forbindelse. En mere komplet og permanent løsning er dog at erstatte JRE i Arduino-pakken med en nyere version.
6. Seriel port, der allerede er i brug
Dette er sandsynligvis en af de nemmeste fejl at løse. Det sker normalt, når du forsøger at uploade kode til en Arduino, mens den serielle skærm åbnes (dette er ikke længere et problem, hvis du bruger nyere IDE-versioner), eller når du prøver at starte den serielle skærm, når Arduino taler til en anden software eller enhed via den serielle port. I det væsentlige sker det, når du prøver at bruge Arduino-serielporten til to forskellige ting på samme tid.
Opløsning
Ligesom den foreslåede IDE skal du lukke alle andre software / værktøjer (inklusive den serielle skærm / plotter), der muligvis bruger com-porten. Hvis du ikke er sikker på den bestemte software, skal du tage Arduino-stikket ud. Det skal være klar til brug, når du tilslutter det igen.
7: Sketch Uploads med succes, men intet sker
Denne fejl svarer til nogle af de andre fejl, der allerede er behandlet ovenfor. For denne fejl vil Arduino IDE foreslå, at koden er uploadet med succes, men tavlen gør intet.
Opløsning
- Sørg for, at kortet valgt i IDE er det samme som målkortet.
- Dette kan være et resultat af, at skitstørrelsen er større end bestyrelsens kapacitet. Kontroller skitstørrelsen, og brug nogle af metoderne nævnt ovenfor for at reducere størrelsen.
- Endelig kan denne fejl opstå, når der bruges en støjende strømforsyning. Sørg for, at strømforsyningen er stabil nok.
8. Utilfreds Linkfejl
Dette er sandsynligvis den eneste sjældne fejl, der kom på denne liste. Dette sker, når du har en gammel version af kommunikationsbiblioteket, der ligger rundt på din pc, sandsynligvis fra en tidligere installation.
Opløsning
For at løse denne fejl skal du søge efter comm.jar eller jcl.jar i /System/Library/Frameworks/JavaVM.framework/ eller i telefonbøger på din pc's CLASSPATH- eller PATH- miljøvariabler.
9. Skitse for stor
Denne fejl opstår, når din kode er større end flashhukommelsen på det pågældende Arduino-kort. Størrelsen på flashhukommelsen på Arduino Uno er for eksempel 32 KB med 2 KB allerede brugt af Arduino bootloader. Hvis du skal uploade en kode med en størrelse, der er højere end 32 KB, viser Arduino denne advarsel.
Opløsning
Som nævnt ovenfor sker dette, når din skitse er større end flashhukommelsen på det bestemte kort, du bruger, og derfor skal du finde måder til at reducere mængden af plads, der er optaget af din kode for at løse dette. Nogle af tipene til at opnå dette inkluderer;
- Hvis det er muligt, skal du bruge heltal datatyper i stedet for en float.
- Brug, hvor det er muligt, “const” -kvalifikatoren, når deklarerer variabler.
- Inkluder kun nødvendige biblioteker. Brug, hvor det er muligt, de lette versioner af de vigtigste biblioteker.
- Forbedre koden generelt. Udvik algoritmer, der kan hjælpe med at gøre din kode kortere og generelt let.
En mere radikal løsning vil være at flytte projektet til et andet kort, som Arduino Mega, som har en større flashhukommelse sammenlignet med Uno.
10. java.lang.StackOverflowError
Når du behandler skitsen, bruger Arduino nogle regelmæssige udtryk til behandling og bliver undertiden forvirret, når den støder på visse strengrelaterede fejl som manglende citater.
Opløsning
Denne fejl løses ved at se på koden igen, især de dele, hvor strengesekvenser bruges. Sørg for, at citaterne er komplette, at tilbageslag bruges med rette osv.
Der er en grænse for antallet af fejl, som man kan passe ind i en enkelt tutorial, og af den grund stopper vi her. Denne liste indeholder dog nogle af de mest almindelige fejl, som begyndere står over for, når de bruger Arduin o. Kæmper du med en bestemt fejl, er du velkommen til at droppe en kommentar, forhåbentlig kan vi arbejde igennem den sammen.
Næste gang.