Darbs ar Arduino var būt aizraujoša pieredze. Spēja pārvērst savas radošās idejas par darba prototipu ir patiesi gandarīta sajūta.
Tomēr, lai gan Arduino IDE ir neticami lietotājam draudzīga kodēšanas programmatūras pakotne, bieži rodas kļūdas un kļūdas, kas var radīt vilšanos. Iespējams, jūsu kods netiks apkopots, skice netiks augšupielādēta vai seriālais monitors izpļaužas. Neatkarīgi no tā, kāda ir problēma, tā var būt nomākta un demotivējoša, it īpaši, ja esat iesācējs Arduino platformā.
Mēs esam apkopojuši problēmu novēršanas ideju sarakstu, kas var palīdzēt ātri sākt un sākt darbu.
Kādas ir visizplatītākās kļūdas, lietojot Arduino?
Kļūdas var būt no vienkāršām sintakses kļūdām līdz sarežģītākām aparatūras problēmām. Izmantojot Arduino, aparatūras kļūdas nav ļoti izplatītas. Šīs kļūdas var būt īpaši nomāktas, jo bieži vien ir nepieciešama aparatūras komponentu fiziska pārbaude, lai diagnosticētu un novērstu. No otras puses, programmatūras problēmas ir diezgan izplatītas.
Šeit ir dažas izplatītas kļūdas, kas var rasties, izmantojot Arduino IDE.
1. Seriālais ports nav atrasts
Šis kļūdas ziņojums norāda, ka dators nevar noteikt Arduino plati. To var izraisīt dažādas problēmas, piemēram, bojāts USB kabelis, nepareizs COM porta iestatījums vai bojāta plate. Lai atrisinātu šo problēmu, mēģiniet atkārtoti pievienot plati vai mainīt COM porta iestatījumu IDE.
Daži lētāki Arduino kloni izmanto CH340 USB uz seriālo pārveidotāja mikroshēmu, nevis standarta FTDI (FT232RL) mikroshēmu, ko izmanto oficiālās Arduino plates. Ņemiet vērā, ka ir plusi un mīnusi, izmantojot Arduino klonus savos projektos. Atšķirībā no standarta Arduino plates, CH340 mikroshēmas draiveri nav iekļauti IDE iestatīšanas failā.
Lai izmantotu CH340 balstītu Arduino plati, jums atsevišķi jālejupielādē un jāinstalē mikroshēmas draiveris. Papildinformāciju skatiet rokasgrāmatā par CH340 draiveru instalēšanu SparkFun tīmekļa vietne.
2. Programmētājs nereaģē
Mēģinot augšupielādēt skici, sērijas monitorā redzēsit šo kļūdas ziņojumu:
avrdude: stk500_recv(): programmētājs irnē atbildot
Lai labotu šo kļūdu, varat veikt vairākas problēmu novēršanas darbības.
- Pārliecinieties, vai ir atlasīti pareizie plates un porta iestatījumi.
- Pārliecinieties, vai USB kabelis ir pareizi ievietots gan Arduino platē, gan datorā.
- Pārbaudiet, vai plates programmaparatūra ir atjaunināta. Dažreiz novecojusi programmaparatūra var izraisīt sakaru problēmas ar datoru.
- Mēģiniet atiestatīt Arduino plati vai iedarbināt to, atvienojot un atkārtoti pievienojot USB kabeli.
Ja tie nedarbojas, mēģiniet augšupielādēt skici no cita datora vai izmantot citu USB kabeli.
3. Atļauja liegta
Ja rodas šī kļūda, mēģinot augšupielādēt skici savā Arduino, tas norāda, ka IDE nav atļaujas lasīt/rakstīt seriālajā portā. Tas galvenokārt notiek Ubuntu lietotājiem.
Sērijas monitorā tiks parādīts šāds kļūdas ziņojums:
avrdude: ser_open(): nevar atvērt ierīci "/dev/ttyACM0": nav šāda faila vai direktorija
Lai to labotu, terminālī ierakstiet šādu komandu:
sudo chmod a+rw /dev/ttyACM0
Tas ļaus visiem lietotājiem lasīt no un rakstīt uz /dev/ttyACM0 seriālā porta ierīce. Ņemiet vērā, ka konkrētās ierīces nosaukums var atšķirties atkarībā no sistēmas konfigurācijas. Ja izmantojat operētājsistēmu Windows, mēģiniet palaist Arduino IDE administratora režīmā.
4. Taimauts saziņai ar programmētāju
Arduino IDE taimauta kļūda var rasties, ja IDE noteiktā laika periodā nevar sazināties ar Arduino plati.
avrdude: stk500v2_ReceiveMessage(): timeouttavrdude: stk500v2_getsync(): saziņas noildze ar programmravrdude: stk500v2_command(): neizdevās nožēlojami uzizpildīt komandu 0x11avrdude: stk500v2_disable(): neizdevāsuz pamest programmēšanu režīmā
Šis kļūdas ziņojums rodas, ja Arduino plate nesaņem datus no datora noteiktā laika posmā. Tas ir diezgan izplatīts ar ķīniešu kloniem. To var izraisīt lēns vai neuzticams savienojums, bojāts USB kabelis vai nepareizi bodu ātruma iestatījumi.
Ir divi iespējamie risinājumi:
- Instalējiet Arduino sāknēšanas programmu vēlreiz pirms skices augšupielādes.
- Turiet nospiestu atiestatīšanas pogu, kamēr kods tiek kompilēts, un atlaidiet to sekundes daļu pirms koda augšupielādes sākšanas.
Lai gan neviens no tiem nav ideāls, varat izmēģināt uz aparatūru balstītu labojumu no iepriekš redzamās video apmācības. Ja tas nedarbojas, ir pienācis laiks iegādāties jaunu dēli.
5. Nederīgs ierīces paraksts
Sērijas monitorā tiks parādīts šāds kļūdas ziņojums:
Avrdude: Ak! Nederīgs ierīces parakstsDouble-pārbaudiet savienojumiem un mēģini vēlreiz, vaiizmantot -F uz ignorēt šo pārbaudi.
Šī kļūda rodas, augšupielādējot kodu citā platē, nevis tajā, kas atlasīts Arduino IDE. Parasti to izraisa ierīces paraksta neatbilstība. Lai to atrisinātu, IDE atlasiet pareizo plati vai uzlieciet jaunāko Arduino sāknēšanas programmu.
6. Dēlis nav sinhronizēts
Parasti, kad rodas šī kļūda, Arduino plate nevarēs saņemt augšupielādēto kodu (pat ja IDE norāda "Augšupielāde pabeigta"), un IDE parādīs šo kļūdas ziņojumu:
avrdude: stk500_getsync(): nav sinhronizēts: resp=0x00
Tālāk ir norādītas dažas problēmu novēršanas darbības, kas var palīdzēt novērst kļūdu.
- Pārbaudiet, vai Arduino digitālajām tapām 0 un 1 nav pievienotas ierīces, tostarp vairogi.
- Pārbaudiet, vai ir izvēlēts pareizais COM ports un plate Rīki IDE izvēlne.
- Vairākas reizes nospiediet atiestatīšanas pogu uz Arduino plates un pēc tam mēģiniet vēlreiz augšupielādēt kodu.
- Atvienojiet Arduino no datora un pievienojiet to vēlreiz.
Kļūdas ziņojums sinhronizācija: resp = 0x00 ir vispārīga atbilde, kas parasti norāda uz problēmu ar ATmega mikroshēmu uz Arduino plates.
7. Skice pārāk liela
Šis kļūdas ziņojums tiek parādīts, ja koda lielums pārsniedz plates pieejamās atmiņas apjomu. To var izraisīt pārāk daudz bibliotēku izmantošana vai nevajadzīga koda iekļaušana. Mēģiniet optimizēt kodu, noņemot nevajadzīgās funkcijas vai bibliotēkas.
8. Bibliotēka nav atrasta
Šis kļūdas ziņojums rodas, ja IDE nevar atrast konkrētu projektam nepieciešamo bibliotēku. To var izraisīt nepareiza bibliotēkas instalēšana vai novecojušas versijas izmantošana. Lai atrisinātu šo problēmu, mēģiniet atkārtoti instalēt bibliotēku vai atjaunināt to uz jaunāko versiju.
9. Kompilācijas kļūda
Šis kļūdas ziņojums tiek parādīts, ja kodā ir sintakses kļūdas. To var izraisīt trūkstošās iekavas, semikoli vai nepareizi funkciju nosaukumi. Uzmanīgi pārbaudiet, vai kodā nav sintakses kļūdu, un izlabojiet tās.
10. Augšupielādējot skici, radās kļūda
Šis kļūdas ziņojums rodas, ja IDE nevar augšupielādēt kodu uz plates. To var izraisīt nepareizs IDE atlasīts plates veids, bojāts sāknēšanas ielādētājs vai bojāts USB kabelis. Lai atrisinātu šo problēmu, pārliecinieties, vai ir atlasīts pareizais plates veids un vai USB kabelis ir labā stāvoklī. Ja šī kļūda joprojām pastāv, varat mēģināt uzplaiksnīt jaunu sāknēšanas programmu.
Vairāk kodēšanas, mazāk atkļūdošanas
Arduino ir spēcīga platforma inovatīvu elektronikas projektu veidošanai. Lai gan tas ir salīdzinoši viegli lietojams rīks, joprojām var rasties kļūdas un problēmas. Izprotot izplatītākās kļūdas un to cēloņus, varat veikt darbības, lai tās novērstu un pārvarētu.