At arbejde med Arduino kan være en spændende oplevelse. Evnen til at omdanne dine kreative ideer til en fungerende prototype er en virkelig tilfredsstillende følelse.
Men mens Arduino IDE er en utrolig brugervenlig softwarepakke til kodning, er det almindeligt at støde på fejl og fejl, der kan være frustrerende. Måske vil din kode ikke kompilere, din skitse vil ikke uploades, eller din serielle skærm spytter sludder ud. Uanset hvad problemet måtte være, kan det være frustrerende og demotiverende, især hvis du er ny på Arduino-platformen.
Vi har opsummeret en liste over fejlfindingsideer, der kan hjælpe dig med at få dit projekt op at køre hurtigt.
Hvad er de mest almindelige fejl, når du bruger Arduino?
Fejl kan variere fra simple syntaksfejl til mere komplekse hardwareproblemer. Hardwarefejl er ikke særlig almindelige, når du bruger Arduino. Disse fejl kan være særligt frustrerende, da de ofte kræver fysisk inspektion af hardwarekomponenterne for at diagnosticere og rette. På den anden side er softwareproblemer ret almindelige.
Her er nogle almindelige fejl, som du kan støde på, når du bruger Arduino IDE.
1. Seriel port ikke fundet
Denne fejlmeddelelse angiver, at computeren ikke er i stand til at registrere Arduino-kortet. Dette kan være forårsaget af en række problemer, såsom et defekt USB-kabel, en forkert COM-portindstilling eller et beskadiget kort. For at løse dette problem skal du prøve at tilslutte kortet igen eller ændre COM-portindstillingen i IDE.
Nogle billigere Arduino-kloner bruger CH340 USB til seriel konverterchip i stedet for standard FTDI (FT232RL) chip, der bruges af officielle Arduino boards. Bemærk at der er fordele og ulemper ved at bruge Arduino-kloner i dine projekter. I modsætning til standard Arduino-kort er driverne til CH340-chippen ikke inkluderet i IDE-opsætningsfilen.
For at bruge et CH340-baseret Arduino-kort skal du downloade og installere driveren til chippen separat. For mere information henvises til vejledningen til installation af CH340-drivere på SparkFun internet side.
2. Programmer reagerer ikke
Du vil se denne fejlmeddelelse på den serielle monitor, når du prøver at uploade din skitse:
avrdude: stk500_recv(): programmør erikke reagerer
For at rette denne fejl er der flere fejlfindingstrin, som du kan følge:
- Sørg for, at de korrekte board- og portindstillinger er valgt.
- Sørg for, at USB-kablet er sat korrekt i både Arduino-kortet og computeren.
- Tjek om kortets firmware er opdateret. Nogle gange kan forældet firmware forårsage kommunikationsproblemer med computeren.
- Prøv at nulstille Arduino-kortet eller tænde for det ved at frakoble og tilslutte USB-kablet igen.
Hvis disse ikke virker, kan du prøve at uploade skitsen fra en anden computer eller bruge et andet USB-kabel.
3. Adgang nægtet
Hvis du støder på denne fejl, når du forsøger at uploade en skitse til din Arduino, indikerer det, at IDE'en ikke har tilladelse til at læse/skrive til den serielle port. Dette sker mest for Ubuntu-brugere.
Du vil se denne fejlmeddelelse på den serielle monitor:
avrdude: ser_open(): kan ikke åbne enhed "/dev/ttyACM0": Ingen sådan fil eller mappe
For at løse dette skal du skrive følgende kommando i terminalen:
sudo chmod a+rw /dev/ttyACM0
Dette vil give alle brugere mulighed for at læse fra og skrive til /dev/ttyACM0 seriel port enhed. Husk, at det specifikke enhedsnavn kan variere afhængigt af din systemkonfiguration. Hvis du er på Windows, så prøv at køre Arduino IDE i administratortilstand.
4. Timeout Kommunikation med programmøren
En timeout-fejl i Arduino IDE kan opstå, når IDE'en ikke er i stand til at kommunikere med Arduino-kortet inden for en specificeret tidsgrænse.
avrdude: stk500v2_ReceiveMessage(): timeoutavrdude: stk500v2_getsync(): timeout for kommunikation med programmeravrdude: stk500v2_command(): mislykkedes elendigt tiludføre kommando 0x11avrdude: stk500v2_disable(): mislykkedestil forlade programmeringen mode
Denne fejlmeddelelse opstår, når Arduino-kortet ikke modtager data fra computeren inden for en bestemt tidsramme. Det er ret almindeligt med kinesiske kloner. Dette kan være forårsaget af en langsom eller upålidelig forbindelse, et defekt USB-kabel eller forkerte indstillinger for baudhastighed.
Der er to mulige løsninger:
- Installer Arduino bootloader igen, før du uploader din skitse.
- Hold nulstillingsknappen nede, mens koden kompileres, og slip den et splitsekund, før koden begynder at uploade.
Selvom ingen af disse er ideelle, kan du prøve en mere hardwarebaseret rettelse fra videotutorialen ovenfor. Hvis det ikke virker, er det på tide, at du køber et nyt bræt.
5. Ugyldig enhedssignatur
Du vil se denne fejlmeddelelse på den serielle monitor:
Avrdude: Yikes! Ugyldig enhedssignaturDouble-kontrollere forbindelser og Prøv igen, ellerbrug -F til tilsidesætte denne kontrol.
Denne fejl opstår, når kode uploades til et andet board end det, der er valgt i Arduino IDE. Det er normalt forårsaget af en enhedssignatur uoverensstemmelse. For at løse dette, vælg det korrekte board i IDE eller flash den nyeste Arduino bootloader til boardet.
6. Board ikke synkroniseret
Generelt, når denne fejl opstår, vil Arduino-kortet ikke være i stand til at modtage uploadet kode (selvom IDE angiver "Udført upload"), og IDE'en vil vise denne fejlmeddelelse:
avrdude: stk500_getsync(): ikke synkroniseret: resp=0x00
Her er nogle fejlfindingstrin, der kan hjælpe med at fjerne fejlen:
- Kontroller, at der ikke er nogen enheder, inklusive skjolde, forbundet til digitale ben 0 og 1 på Arduino.
- Kontroller, at den korrekte COM-port og -kort er valgt i Værktøjer menuen i IDE.
- Tryk på nulstillingsknappen på Arduino-kortet flere gange, og prøv derefter at uploade koden igen.
- Afbryd Arduino fra pc'en og tilslut den igen.
Fejlmeddelelsen sync: resp = 0x00 er et generelt svar, der typisk indikerer et problem med ATmega-chippen på Arduino-kortet.
7. Skitsen er for stor
Denne fejlmeddelelse vises, når størrelsen af koden overstiger mængden af tilgængelig hukommelse på kortet. Dette kan være forårsaget af at bruge for mange biblioteker eller ved at inkludere unødvendig kode. Prøv at optimere koden ved at fjerne unødvendige funktioner eller biblioteker.
8. Bibliotek ikke fundet
Denne fejlmeddelelse opstår, når IDE'en ikke kan finde et specifikt bibliotek, der kræves til projektet. Dette kan være forårsaget af ikke at installere biblioteket korrekt eller ved at bruge en forældet version. For at løse dette problem skal du prøve at geninstallere biblioteket eller opdatere det til den nyeste version.
9. Kompilationsfejl
Denne fejlmeddelelse vises, når der er syntaksfejl i koden. Dette kan skyldes manglende parenteser, semikolon eller forkerte funktionsnavne. Kontroller omhyggeligt koden for syntaksfejl og ret dem.
10. Fejl under upload af skitsen
Denne fejlmeddelelse opstår, når IDE'en ikke er i stand til at uploade koden til kortet. Dette kan være forårsaget af en forkert korttype valgt i IDE, en ødelagt bootloader eller et defekt USB-kabel. For at løse dette problem skal du sikre dig, at den korrekte korttype er valgt, og at USB-kablet er i god stand. Hvis denne fejl fortsætter, kan du prøve at flashe en ny bootloader til dit board.
Mere kodning, mindre fejlretning
Arduino er en kraftfuld platform til at bygge innovative elektronikprojekter. Selvom det er et relativt nemt værktøj at bruge, kan du stadig støde på fejl og problemer undervejs. Ved at forstå de almindelige fejl og deres årsager kan du tage skridt til at fejlfinde og overvinde dem.