Tokie skaitytojai kaip jūs padeda palaikyti MUO. Kai perkate naudodami nuorodas mūsų svetainėje, galime uždirbti filialų komisinius. Skaityti daugiau.

Darbas su Arduino gali būti jaudinanti patirtis. Galimybė savo kūrybines idėjas paversti veikiančiu prototipu yra tikrai pasitenkinimo jausmas.

Tačiau nors Arduino IDE yra neįtikėtinai patogus programinės įrangos paketas, skirtas koduoti, dažnai pasitaiko klaidų ir klaidų, kurios gali būti varginančios. Galbūt jūsų kodas nebus sukompiliuotas, jūsų eskizas nebus įkeltas arba jūsų serijinis monitorius išspjauna kvailystes. Kad ir kokia būtų problema, ji gali būti varginanti ir demotyvuojanti, ypač jei esate naujokas Arduino platformoje.

Sudarėme trikčių šalinimo idėjų, kurios gali padėti greitai pradėti ir vykdyti projektą, sąrašą.

Kokios yra dažniausiai pasitaikančios klaidos naudojant „Arduino“?

Klaidos gali svyruoti nuo paprastų sintaksės klaidų iki sudėtingesnių aparatinės įrangos problemų. Naudojant Arduino aparatinės įrangos klaidos nėra labai dažnos. Šios klaidos gali būti ypač varginančios, nes dažnai reikia fiziškai patikrinti aparatūros komponentus, kad būtų galima diagnozuoti ir ištaisyti. Kita vertus, programinės įrangos problemos yra gana dažnos.

instagram viewer

Štai keletas įprastų klaidų, su kuriomis galite susidurti naudodami Arduino IDE.

1. Serijinis prievadas nerastas

Šis klaidos pranešimas rodo, kad kompiuteris negali aptikti Arduino plokštės. Tai gali sukelti įvairios problemos, pvz., sugedęs USB laidas, netinkamas COM prievado nustatymas arba pažeista plokštė. Norėdami išspręsti šią problemą, pabandykite iš naujo prijungti plokštę arba pakeisti COM prievado parametrą IDE.

Kai kurie pigesni Arduino klonai naudoja CH340 USB į serijinį konverterio lustą, o ne standartinį FTDI (FT232RL) lustą, naudojamą oficialiose Arduino plokštėse. Atkreipkite dėmesį, kad yra Arduino klonų naudojimo projektuose privalumai ir trūkumai. Skirtingai nuo standartinių Arduino plokščių, CH340 lusto tvarkyklės nėra įtrauktos į IDE sąrankos failą.

Norėdami naudoti CH340 pagrindu sukurtą Arduino plokštę, turite atskirai atsisiųsti ir įdiegti lusto tvarkyklę. Norėdami gauti daugiau informacijos, žr. CH340 tvarkyklių diegimo vadovą SparkFun Interneto svetainė.

2. Programuotojas neatsako

Kai bandysite įkelti eskizą, serijiniame monitoriuje pamatysite šį klaidos pranešimą:

avrdude: stk500_recv(): programuotojas yrane atsiliepiant

Norėdami ištaisyti šią klaidą, galite atlikti kelis trikčių šalinimo veiksmus:

  • Įsitikinkite, kad pasirinkti teisingi plokštės ir prievado nustatymai.
  • Įsitikinkite, kad USB laidas tinkamai įkištas ir į Arduino plokštę, ir į kompiuterį.
  • Patikrinkite, ar plokštės programinė įranga yra atnaujinta. Kartais pasenusi programinė įranga gali sukelti ryšio su kompiuteriu problemų.
  • Pabandykite iš naujo nustatyti Arduino plokštę arba įjungti jos maitinimą atjungdami ir vėl prijungdami USB kabelį.

Jei tai neveikia, pabandykite įkelti eskizą iš kito kompiuterio arba naudodami kitą USB kabelį.

3. Leidimas nesuteiktas

Jei susiduriate su šia klaida bandydami įkelti eskizą į savo Arduino, tai reiškia, kad IDE neturi leidimo skaityti / rašyti į nuoseklųjį prievadą. Tai dažniausiai pasitaiko Ubuntu vartotojams.

Serijiniame monitoriuje pamatysite šį klaidos pranešimą:

avrdude: ser_open(): negalima atidaryti įrenginio „/dev/ttyACM0“: nėra tokio failo ar katalogo

Norėdami tai išspręsti, terminale įveskite šią komandą:

sudo chmod a+rw /dev/ttyACM0

Tai leis visiems vartotojams skaityti ir rašyti į /dev/ttyACM0 nuosekliojo prievado įrenginys. Atminkite, kad konkretus įrenginio pavadinimas gali skirtis priklausomai nuo jūsų sistemos konfigūracijos. Jei naudojate „Windows“, pabandykite paleisti „Arduino IDE“ administratoriaus režimu.

4. Baigėsi bendravimo su programuotoju laikas

Arduino IDE skirtojo laiko klaida gali įvykti, kai IDE negali susisiekti su Arduino plokšte per nurodytą laiką.

avrdude: stk500v2_ReceiveMessage(): timeouttavrdude: stk500v2_getsync(): bendravimo laikas baigėsi su programravrdude: stk500v2_command(): nepavyko apgailėtinai įvykdyti komandą 0x11avrdude: stk500v2_disable(): nepavykoį palikti programavimą režimu

Šis klaidos pranešimas atsiranda, kai Arduino plokštė negauna duomenų iš kompiuterio per nurodytą laikotarpį. Tai gana įprasta su Kinijos klonais. Tai gali sukelti lėtas arba nepatikimas ryšys, sugedęs USB kabelis arba neteisingi duomenų perdavimo spartos nustatymai.

Galimi du sprendimai:

  • Įdiekite „Arduino“ įkrovos tvarkyklę dar kartą prieš įkeldami eskizą.
  • Kol kodas kompiliuojamas, laikykite nuspaudę nustatymo iš naujo mygtuką ir atleiskite jį sekundės dalį prieš pradedant įkelti kodą.

Nors nė vienas iš jų nėra idealus, galite išbandyti daugiau aparatinės įrangos pataisymą iš aukščiau pateikto vaizdo įrašo vadovo. Jei tai nepadeda, laikas nusipirkti naują lentą.

5. Neteisingas įrenginio parašas

Serijiniame monitoriuje pamatysite šį klaidos pranešimą:

Avrdude: Taip! Neteisingas įrenginio parašaspatikrinti jungtys ir Bandyk iš naujo, arbanaudoti -F į nepaisyti šio patikrinimo.

Ši klaida įvyksta įkeliant kodą į kitą plokštę, nei pasirinkta Arduino IDE. Paprastai tai sukelia įrenginio parašo neatitikimas. Norėdami tai išspręsti, IDE pasirinkite tinkamą plokštę arba įdiekite naujausią „Arduino“ įkrovos programą.

6. Lenta nesinchronizuojama

Paprastai, kai įvyksta ši klaida, Arduino plokštė negalės gauti įkelto kodo (net jei IDE nurodo "Įkėlimas atlikta"), o IDE parodys šį klaidos pranešimą:

avrdude: stk500_getsync(): nesinchronizuotas: resp=0x00

Štai keletas trikčių šalinimo veiksmų, kurie gali padėti pašalinti klaidą:

  • Patikrinkite, ar nėra jokių įrenginių, įskaitant ekranus, prijungtus prie skaitmeninių Arduino kaiščių 0 ir 1.
  • Patikrinkite, ar pasirinktas tinkamas COM prievadas ir plokštė Įrankiai IDE meniu.
  • Kelis kartus paspauskite Arduino plokštės atstatymo mygtuką, tada bandykite dar kartą įkelti kodą.
  • Atjunkite Arduino nuo kompiuterio ir vėl prijunkite.

Klaidos pranešimas sinchronizavimas: resp = 0x00 yra bendras atsakymas, kuris paprastai rodo „Arduino“ plokštės „ATmega“ lusto problemą.

7. Eskizas per didelis

Šis klaidos pranešimas pasirodo, kai kodo dydis viršija laisvos atminties kiekį plokštėje. Taip gali nutikti naudojant per daug bibliotekų arba įtraukus nereikalingą kodą. Pabandykite optimizuoti kodą pašalindami nereikalingas funkcijas ar bibliotekas.

8. Biblioteka nerasta

Šis klaidos pranešimas atsiranda, kai IDE negali rasti konkrečios projektui reikalingos bibliotekos. Taip gali nutikti netinkamai įdiegus biblioteką arba naudojant pasenusią versiją. Norėdami išspręsti šią problemą, pabandykite iš naujo įdiegti biblioteką arba atnaujinti ją į naujausią versiją.

9. Kompiliavimo klaida

Šis klaidos pranešimas rodomas, kai kode yra sintaksės klaidų. Tai gali sukelti trūkstami skliaustai, kabliataškiai arba neteisingi funkcijų pavadinimai. Atidžiai patikrinkite, ar kode nėra sintaksės klaidų, ir ištaisykite jas.

10. Klaida įkeliant eskizą

Šis klaidos pranešimas atsiranda, kai IDE negali įkelti kodo į plokštę. Tai gali sukelti netinkamas IDE pasirinktas plokštės tipas, sugedęs įkrovos įkroviklis arba sugedęs USB laidas. Norėdami išspręsti šią problemą, įsitikinkite, kad pasirinktas tinkamas plokštės tipas ir ar USB kabelis yra geros būklės. Jei ši klaida išlieka, galite pabandyti įkelti naują įkrovos įkroviklį į savo plokštę.

Daugiau kodavimo, mažiau derinimo

Arduino yra galinga platforma kuriant novatoriškus elektronikos projektus. Nors tai gana paprasta naudoti įrankį, vis tiek galite susidurti su klaidomis ir problemomis. Suprasdami įprastas klaidas ir jų priežastis, galite imtis veiksmų, kad pašalintumėte triktis ir įveiktumėte jas.