- 1. Arduino Boardia ei tunneta
- 2. Hallitus ei ole synkronoitu
- 3. Koodi ei ala virran palautuksessa
- 4. Virheellinen laitteen allekirjoitusvirhe
- 5. Launch4j-virhe
- 6. Sarjaportti on jo käytössä
- 7: Luonnoksen lataus onnistui, mutta mitään ei tapahdu
- 8. Tyytymätön linkkivirhe
- 9. Luonnos liian suuri
- 10. java.lang.StackOverflowError
Aloittaminen aloittelijana Arduinon kanssa voi olla melko haastavaa ihmisille, joilla ei ole elektroniikkaa, saatat kohdata virheitä, joista joillakin saattaa olla yksinkertaisia ratkaisuja, mutta niiden ratkaiseminen voi viedä päiviä. Joten helpottaakseni asioita hieman, olen luonut luettelon 10 suosituimmasta Arduino-virheestä sekä mahdolliset ratkaisut niihin.
1. Arduino Boardia ei tunneta
Tämä viittaa tilanteeseen, jossa tietokone ei tunnista tietokoneeseen liitettyä Arduino-korttia. Kun näin tapahtuu, levyä ei yleensä ole lueteltu Arduino IDE: n porttiluettelossa ja se on joskus merkitty USB2.0: lla laitehallinnassa.
Ratkaisu
Näin tapahtuu, kun käytät tiettyjä halpoja Arduino-klooneja, jotka käyttävät CH340g USB-sarjamuunninsirua FTDI: n (FT232RL) sijasta ja muita, joita Arduino-tavalliset levyt käyttävät. Arduino-standardilevyjen käyttämät USB - sarjapiirit -ohjaimet on aina pakattu Arduino IDE -asennustiedoston mukana, joten kun asennat IDE: n, ohjaimet asennetaan automaattisesti tietokoneellesi. Jotta voit käyttää tätä CH340g USB - Sarjamuunnin-pohjaisia Arduino-kortteja, sinun on ladattava ja asennettava sirun ohjain. Ohjain voidaan ladata tältä linkiltä. Sen asentaminen on yhtä helppoa kuin napsauttamalla asennuspainiketta alla olevassa asennusliittymässä.
Kun tämä on tehty, sinun pitäisi nyt pystyä löytämään portti, johon levy on kytketty, Arduino IDE: ssä.
2. Hallitus ei ole synkronoitu
Yleensä, kun näin tapahtuu, et voi ladata koodia (Vaikka IDE näyttää ajoittain "valmis lataus") Arduino-levylle ja IDE näyttää virhekoodin; " Avrdude: stk500_getsync (): ei synkronoitu: resp = 0x00 ".
Ratkaisu
Sync: vast = 0x00 on yleinen vastaus, joka kääntää sen ” ATmega siru ei toimi ” Arduino. Kun näin tapahtuu, on joukko asioita, jotka voivat olla väärin. Tässä on joitain vaiheita, jotka voidaan suorittaa tämän virheen poistamiseksi.
1. Varmista, että Arduinon digitaalisiin nastoihin 0 ja 1 ei ole kytketty mitään (mukaan lukien suojat).
2. Varmista, että työkaluvalikosta on valittu oikea portti ja kortti.
3. Paina Arduinon nollauspainiketta pari kertaa ja lataa koodi uudelleen.
4. Irrota ja yhdistä Arduino uudelleen tietokoneeseen.
5. Käynnistä Arduino IDE uudelleen.
Jos jokin näistä ei toimi, saattaa olla aika yrittää käyttää toista Arduino-korttia tietokoneen kanssa tai käyttää “viallista” Arduino-korttia toisen tietokoneen kanssa. Tämän pitäisi auttaa sinua tunnistamaan, mikä niistä on ongelman syy. Jos huomaat, että ongelma liittyy tietokoneeseen, asenna Arduino IDE uudelleen. Jos kuitenkin ongelmallinen lähde on "viallinen" Arduino-kortti, lopullinen ratkaisu on levyn salama Arduino-laiteohjelmistolla. Jos mikään yllä olevista ei toimi, saattaa olla aika vaihtaa Arduino-kortti.
3. Koodi ei ala virran palautuksessa
Tämä viittaa tapauksiin, joissa Arduino ei suorita siihen ladattua luonnosta virran ollessa päällä ja useimmissa tapauksissa palaa vain käynnistyslataimeen liittyvään vilkkuvaan luonnokseen.
Ratkaisu
Aivan kuten muutkin hoidetut ongelmat, tämän voi aiheuttaa useita asioita.
Jos alusta roikkuu eikä tee mitään, tarkista koodisi varmistaaksesi, ettet lähetä sarjatietoja taululle sen syttyessä. Kun Arduino käynnistetään, käynnistyslatain kuuntelee muutamassa sekunnissa tietokonetta lähettämään sille uuden luonnoksen taululle lataamista varten. Jos uutta luonnosta ei vastaanoteta, käynnistyslatain aikakatkaisee hetken kuluttua ja suorittaa viimeisen taululle ladatun luonnoksen. Jos koodisi lähettää sarjatietoja muutaman ensimmäisen minuutin aikana, käynnistyslatausohjelma ei aikakatkaise eikä viimeinen taululle ladattu luonnos käynnisty.
Jos sarjatietojen lähettäminen heti, kun piirilevy käynnistyy, on tärkeä osa projektiasi, joudut ehkä etsimään tapaa antaa sille viive lopettaa sarjatietojen saapuminen heti, kun Arduino käynnistyy. Jos säätöjen tekeminen vaikuttaa projektin tehtävään, sinun on ehkä ladattava luonnos taululle ulkoisen ohjelmoijan avulla, koska he voivat ohittaa käynnistyslataimen.
Jos lauta ei roiku, mutta palaa Arduinon välkkyvään luonnokseen (nastalla 13 oleva led vilkkuu silloin tällöin), suoraviivainen tapa on levyn vilkkuminen Arduino-käynnistyslataimen avulla, koska pöydällä oleva on ehkä vioittunut.
4. Virheellinen laitteen allekirjoitusvirhe
Tämä virhe näkyy, kun yritetään ladata koodi taululle, joka poikkeaa Arduino IDE: n työkalut> -luettelosta valitusta. Tämä virhe esiintyy yleensä seurauksena siitä, että kohdekortilla oleva laitteen allekirjoitus eroaa IDE: ssä valitun kortin virheestä.
Ratkaisu
Ratkaisu tähän virheeseen on yhtä yksinkertaista kuin varmistaa, että oikea kortti on valittu Arduino IDE: ssä. Jos tämä ei toimi, mikro-ohjain saattaa olla tarpeen välähtää Arduino-käynnistyslataimen uusimmalla versiolla.
5. Launch4j-virhe
Arduino IDE vie joskus jonkin aikaa ennen lataamista ja kun se latautuu, jos napsautat jotain, se näyttää Launch4J -virheen, kuten yllä on esitetty. Launch4j on työkalu, jota käytetään Java-sovellusten (purkkien) käärimiseen Windowsin alkuperäisessä suoritustiedostossa, jolloin niitä voidaan käyttää tavallisena Windows-ohjelmana.
Itse Arduino IDE on kirjoitettu JAVA-muodossa ja tämä virhe johtuu Arduino IDE: n mukana toimitetun Java Run Time Environment (JRE) -kirjaston yhteensopimattomuudesta.
Ratkaisu
Kokemuksesta tämä virhe voidaan poistaa niin yksinkertaisella tavalla kuin sammuttamalla tietokoneen Bluetooth- tai WiFi-yhteys. Täydellisempi ja pysyvämpi ratkaisu on kuitenkin korvata Arduino-paketin JRE uudella versiolla.
6. Sarjaportti on jo käytössä
Tämä on luultavasti yksi helpoimmista virheistä. Se tapahtuu yleensä, kun yrität ladata koodia Arduinoon, kun sarjamonitori on auki (tämä ei ole enää ongelma, jos käytät viimeisimpiä IDE-versioita), tai kun yrität käynnistää sarjakuvan, kun Arduino puhuu toisen ohjelmiston tai laitteen kanssa sarjaportin kautta. Pohjimmiltaan se tapahtuu, kun yrität käyttää Arduino-sarjaporttia kahteen eri asiaan samanaikaisesti.
Ratkaisu
Aivan kuten IDE ehdotti, sulje kaikki muut ohjelmistot / työkalut (mukaan lukien sarjavalvonta / piirturi), jotka saattavat käyttää Com-porttia. Jos et ole varma tietystä ohjelmistosta, irrota Arduino pistorasiasta. Sen pitäisi olla valmis menemään, kun liität sen takaisin.
7: Luonnoksen lataus onnistui, mutta mitään ei tapahdu
Tämä virhe on samanlainen kuin jotkut muut jo käsiteltävät virheet. Tätä virhettä varten Arduino IDE ehdottaa koodin lataamista onnistuneesti, mutta hallitus ei tee mitään.
Ratkaisu
- Varmista, että IDE: ssä valittu levy on sama kuin kohdelauta.
- Tämä voi johtua siitä, että luonnoksen koko on suurempi kuin levyn kapasiteetti. Tarkista luonnoksen koko ja pienennä jotakin edellä mainituista menetelmistä.
- Lopuksi tämä virhe voi tapahtua, kun käytetään meluisaa virtalähdettä. Varmista, että virtalähde on riittävän vakaa.
8. Tyytymätön linkkivirhe
Tämä on luultavasti ainoa harvinainen virhe, joka teki sen tähän luetteloon. Tämä tapahtuu, kun tietokoneessasi on vanha versio viestintäkirjastosta, todennäköisesti edellisestä asennuksesta.
Ratkaisu
Voit ratkaista tämän virheen etsimällä comm.jar- tai jcl.jar-tiedostoja hakemistosta /System/Library/Frameworks/JavaVM.framework/ tai hakemistosta tietokoneen CLASSPATH- tai PATH- ympäristömuuttujista.
9. Luonnos liian suuri
Tämä virhe tapahtuu, kun koodisi on suurempi kuin kyseisen Arduino-kortin flash-muisti. Esimerkiksi Arduino Unon flash-muistin koko on 32 kt, ja Arduino-käynnistyslatain käyttää jo 2 kt. Jos lataat koodin, jonka koko on yli 32 kt, Arduino näyttää tämän varoituksen.
Ratkaisu
Kuten edellä mainittiin, tämä tapahtuu, kun luonnoksesi on suurempi kuin käyttämäsi kortin flash-muisti, joten tämän ratkaisemiseksi sinun on löydettävä tapoja vähentää koodisi viemää tilaa. Joitakin vinkkejä tämän saavuttamiseksi ovat;
- Käytä mahdollisuuksien mukaan kokonaislukutietotyyppejä kelluvan osan sijaan.
- Käytä mahdollisuuksien mukaan "const" -määritintä muuttujia ilmoitettaessa.
- Sisällytä vain tarvittavat kirjastot. Käytä mahdollisuuksien mukaan tärkeimpien kirjastojen kevyitä versioita.
- Paranna koodia yleensä. Kehitä algoritmeja, jotka voivat auttaa tekemään koodistasi lyhyemmän ja yleensä kevyemmän.
Radikaali ratkaisu on siirtää projekti toiselle levylle, kuten Arduino Mega, jolla on suurempi flash-muisti kuin Unoon.
10. java.lang.StackOverflowError
Käsitellessään luonnosta Arduino käyttää joitain säännöllisiä lausekkeita käsittelyyn ja joskus hämmentyy, kun se kohtaa tiettyjä merkkijonoihin liittyviä virheitä, kuten puuttuvia lainauksia.
Ratkaisu
Tämä virhe ratkaistaan katsomalla toinen koodi, erityisesti osat, joissa merkkijonoja käytetään. Varmista, että lainaukset ovat täydelliset, taaksepäin viivoja käytetään oikein
Yhdelle opetusohjelmalle mahtuu virheiden lukumäärä, ja tästä syystä lopetamme tässä. Tämä luettelo sisältää kuitenkin joitain yleisimpiä virheitä, joita aloittelijat kohtaavat käyttäessään Arduin o: ta. Taisteletko tiettyä virhettä vastaan, pudota kommentti, toivottavasti voimme selvittää sen yhdessä.
Seuraavalla kerralla.