- 1. Arduino padome nav atzīta
- 2. Dēlis nav sinhronizēts
- 3. Kods nesākas, izmantojot Power Reset
- 4. Nederīga ierīces paraksta kļūda
- 5. Launch4j kļūda
- 6. Seriālais ports jau tiek izmantots
- 7: Skices augšupielāde ir veiksmīga, bet nekas nenotiek
- 8. Neapmierināta saites kļūda
- 9. Pārāk liela skice
- 10. java.lang.StackOverflowError
Sākot ar Arduino iesācēju, tas var būt diezgan sarežģīts cilvēkiem bez elektronikas fona, jūs varētu sastapties ar kļūdām, no kurām dažām var būt vienkārši risinājumi, taču to risināšana var aizņemt vairākas dienas. Tāpēc, lai kaut ko atvieglotu, esmu izveidojis 10 populārāko Arduino kļūdu sarakstu ar iespējamiem to risinājumiem.
1. Arduino padome nav atzīta
Tas attiecas uz situāciju, kad dators neatpazīst Arduino dēli, kas savienots ar datoru. Kad tas notiek, dēlis parasti nav norādīts Arduino IDE portu sarakstos, un dažreiz ierīču pārvaldniekā to apzīmē ar USB2.0.
Risinājums
Tas notiek, ja izmantojat noteiktus lētus Arduino klonus, kas FTDI (FT232RL) un citu standarta Arduino dēļu vietā izmanto CH340g USB to Serial pārveidotāja mikroshēmu. Draiveri no USB uz sērijas mikroshēmām, ko izmanto standarta Arduino dēļi, vienmēr tiek iepakoti kopā ar Arduino IDE iestatīšanas failu, tāpēc, instalējot IDE, draiveri tiek automātiski instalēti jūsu datorā. Lai varētu izmantot šo CH340g USB to Serial Converter bāzes Arduino dēļus, jums būs jālejupielādē un jāinstalē mikroshēmas draiveris. Draiveri var lejupielādēt no šīs saites. Tā instalēšana ir tikpat vienkārša, kā noklikšķināt uz instalēšanas pogas zemāk redzamajā iestatīšanas saskarnē.
Kad tas izdarīts, jums tagad jāspēj atrast Arduino IDE portu, kuram ir pievienota tāfele.
2. Dēlis nav sinhronizēts
Parasti, kad tas notiek, jūs nevarēsiet augšupielādēt kodu (lai gan IDE dažreiz parādīs “augšupielāde pabeigta”) Arduino dēlī, un IDE parādīs kļūdas kodu; “ Avrdude: stk500_getsync (): nav sinhronizēts: resp = 0x00 ”.
Risinājums
Sinhronizācija: resp = 0x00 ir vispārējs reakcija, kas pārveido uz " ATmega mikroshēma nedarbojas " uz Arduino. Kad tas notiek, ir vesela virkne lietu, kas varētu būt nepareizas. Šeit ir daži soļi, kurus varētu veikt, lai notīrītu šo kļūdu.
1. Pārliecinieties, ka Arduino nekas nav saistīts ar digitālajām tapām 0 un 1 (ieskaitot vairogus).
2. Pārliecinieties, vai izvēlnē Rīki ir atlasīti pareizie com un board.
3. Pāris reizes nospiediet pogu reset uz Arduino un augšupielādējiet kodu no jauna.
4. Atvienojiet un atkārtoti pievienojiet Arduino datoram.
5. Restartējiet Arduino IDE.
Ja kaut kas no tā nedarbojas, iespējams, ir laiks mēģināt izmantot citu Arduino dēli ar datoru vai “kļūdainu” Arduino dēli izmantot citā datorā. Tam vajadzētu palīdzēt jums noteikt, kura no tām rada problēmu. Ja atklājat, ka problēma ir saistīta ar datoru, pārinstalējiet Arduino IDE. Tomēr, ja problēmas avots ir “kļūdainā” Arduino plāksne, galīgais risinājums būs paneļa zibspuldze ar Arduino programmaparatūru. Ja neviens no iepriekš minētajiem nedarbojas, iespējams, jums būs laiks nomainīt Arduino dēli.
3. Kods nesākas, izmantojot Power Reset
Tas attiecas uz gadījumiem, kad Arduino nedarbina tajā augšupielādēto skici, kad tas ir ieslēgts, un vairumā gadījumu vienkārši atgriežas pie mirgošanas skices, kas saistīta ar sāknēšanas ielādētāju.
Risinājums
Tāpat kā citas apstrādātās problēmas, to var izraisīt vairākas lietas.
Ja dēlis uzkaras un neko nedara, jums jāpārbauda kods, lai pārliecinātos, ka nesūtāt sērijas datus uz tāfeli, kad tas parādās. Kad Arduino ir ieslēgts, sāknēšanas ielādētājs pirmajās sekundēs noklausās datoru, lai tas tam nosūtītu jaunu skici augšupielādēšanai uz tāfeles. Ja jauna skice netiks saņemta, pēc neilga laika sāknēšanas ielādētājs noildzīs un palaidīs pēdējo uz kuģa augšupielādēto skici. Ja jūsu kods dažu pirmo minūšu laikā sūta sērijveida datus, sāknēšanas ielādētājs nederēs noildze un netiks sākta pēdējā dēlī augšupielādētā skice.
Ja sērijveida datu sūtīšana, tiklīdz dēlis ir ieslēgts, ir svarīga jūsu projekta sastāvdaļa, jums, iespējams, būs jāatrod veids, kā piešķirt tam zināmu kavēšanos, lai apturētu sērijveida datu ienākšanu uzreiz, kad Arduino ienāk. Ja korekciju veikšana ietekmēs projekta izpildāmo uzdevumu, iespējams, nāksies augšupielādēt skici uz tāfeles, izmantojot ārēju programmētāju, jo viņi var apiet sāknēšanas ielādētāju.
Ja dēlis nav pakārts, bet atgriežas pie Arduino mirgošanas skices (Led on 13. tapā ik pa brīdim mirgo), vienkāršs labojums būs paneļa zibspuldze ar Arduino sāknēšanas ielādētāju, jo tā, iespējams, ir bojāta..
4. Nederīga ierīces paraksta kļūda
Šī kļūda tiek parādīta, kad tiek mēģināts augšupielādēt kodu uz tāfeles, kas atšķiras no tā, kas atlasīta Arduino IDE sarakstā rīki> dēļu saraksts. Šī kļūda parasti rodas tāpēc, ka ierīces paraksts mērķa dēlī atšķiras no tā, kas ir izvēlēts IDE.
Risinājums
Šīs kļūdas risinājums ir tikpat vienkāršs kā pareizas plāksnes izvēles nodrošināšana Arduino IDE. Ja tas nedarbojas, iespējams, vajadzēs mirgot mikrokontrolleru ar jaunāko Arduino sāknēšanas ielādētāja versiju.
5. Launch4j kļūda
Arduino IDE pirms ielādes dažreiz aizņem kādu laiku, un, kad tas tiek ielādēts, ja jūs kaut ko noklikšķināt, tas parādīs Launch4J kļūdu, kā parādīts iepriekš. Launch4j ir rīks, ko izmanto Java lietojumprogrammu (burku) iesaiņošanai Windows vietējā izpildāmajā failā, ļaujot tos izmantot kā parastu Windows programmu.
Pats Arduino IDE ir rakstīts JAVA, un šī kļūda rodas Java Run Time Environment (JRE) bibliotēkas, kas piegādāta ar Arduino IDE, nesaderības dēļ.
Risinājums
No pieredzes šī kļūda var tikt notīrīta ar kaut ko tik vienkāršu kā datora Bluetooth vai WiFi savienojamības izslēgšana. Tomēr pilnīgāks un pastāvīgāks risinājums ir aizstāt JRE paketē Arduino ar jaunāko versiju.
6. Seriālais ports jau tiek izmantots
Šī, iespējams, ir viena no vienkāršāk novēršamajām kļūdām. Tas parasti notiek, mēģinot augšupielādēt kodu Arduino, kamēr tiek atvērts seriālais monitors (tas vairs nav problēma, ja izmantojat jaunākās IDE versijas) vai mēģinot palaist sērijveida monitoru, kad Arduino runā ar citu programmatūru vai ierīci izmantojot seriālo portu. Būtībā tas notiek, mēģinot izmantot Arduino sērijas portu divām dažādām lietām vienlaikus.
Risinājums
Tāpat kā IDE ieteica, aizveriet visu citu programmatūru / rīku (ieskaitot sērijveida monitoru / ploteri), kas, iespējams, izmanto com portu. Ja neesat pārliecināts par konkrēto programmatūru, atvienojiet Arduino. Kad to atkal pievienojat, tam jābūt gatavam darbam.
7: Skices augšupielāde ir veiksmīga, bet nekas nenotiek
Šī kļūda ir līdzīga dažām citām kļūdām, kas jau ir apstrādātas iepriekš. Par šo kļūdu Arduino IDE ieteiks kodu veiksmīgi augšupielādēt, taču tāfele neko nedara.
Risinājums
- Pārliecinieties, vai IDE izvēlētā tāfele ir tāda pati kā mērķa tāfele.
- Tas varētu būt rezultāts tam, ka skices izmērs ir lielāks par tāfeles ietilpību. Pārbaudiet skices izmēru un izmantojiet dažas no iepriekš minētajām metodēm, lai samazinātu izmēru.
- Visbeidzot, šī kļūda var rasties, ja tiek izmantots trokšņains barošanas avots. Pārliecinieties, vai barošanas avots ir pietiekami stabils.
8. Neapmierināta saites kļūda
Šī, iespējams, ir vienīgā retā kļūda, kas iekļuva šajā sarakstā. Tas notiek, kad datorā atrodas veca saziņas bibliotēkas versija, visticamāk, no iepriekšējās instalēšanas.
Risinājums
Lai novērstu šo kļūdu, meklējiet comm.jar vai jcl.jar mapē /System/Library/Frameworks/JavaVM.framework/ vai direktorijos datora vides mainīgajos CLASSPATH vai PATH .
9. Pārāk liela skice
Šī kļūda rodas, ja jūsu kods ir lielāks nekā konkrētās Arduino dēļa zibatmiņa. Piemēram, Arduino Uno zibatmiņas lielums ir 32 KB, bet 2 KB jau izmanto Arduino sāknēšanas ielādētājs. Ja augšupielādējat kodu, kura lielums pārsniedz 32 KB, Arduino parādīs šo brīdinājumu.
Risinājums
Kā minēts iepriekš, tas notiek, ja jūsu skice ir lielāka par konkrētās izmantotās dēļa zibatmiņu, tāpēc, lai to atrisinātu, jums jāatrod veidi, kā samazināt koda aizņemto vietu. Daži no padomiem, kā to panākt, ir:
- Ja iespējams, pludiņa vietā izmantojiet veselu skaitļu datu tipus.
- Deklarējot mainīgos, pēc iespējas izmantojiet “const” kvalifikatoru.
- Iekļaujiet tikai nepieciešamās bibliotēkas. Kur iespējams, izmantojiet vissvarīgāko bibliotēku vieglās versijas.
- Uzlabojiet kodu kopumā. Izstrādājiet algoritmus, kas varētu palīdzēt padarīt jūsu kodu īsāku un parasti vieglu.
Radikālāks risinājums būs projekta pārvietošana uz citu dēli, piemēram, Arduino Mega, kurai ir lielāka zibatmiņa salīdzinājumā ar Uno.
10. java.lang.StackOverflowError
Apstrādājot skici, Arduino izmanto dažus regulārus izteicienus apstrādei un dažreiz sajaucas, sastopot noteiktas virknes saistītās kļūdas, piemēram, trūkstošās pēdiņas.
Risinājums
Šī kļūda tiek atrisināta, otrreiz apskatot kodu, it īpaši tās daļas, kurās tiek izmantotas virkņu secības. Pārliecinieties, vai pēdiņas ir pilnīgas, vai pretēji tiek pareizi izmantoti slīpsvītras utt.
Kļūdu skaits, ko var ievietot vienā apmācībā, ir ierobežots, un šī iemesla dēļ mēs šeit apstāsimies. Tomēr šajā sarakstā ir dažas no visbiežāk sastopamajām kļūdām, ar kurām iesācēji saskaras, lietojot Arduin o. Vai jūs cīnāties ar kādu konkrētu kļūdu, nekautrējieties nomest komentāru, cerams, ka mēs to varēsim kopīgi izskatīt.
Nākamreiz.