- 1. Hindi Kinikilala ang Lupon ng Arduino
- 2. Board hindi sa Sync
- 3. Ang code ay hindi nagsisimula sa Power Reset
- 4. Di-wastong Error sa Lagda ng Device
- 5. Error sa Launch4j
- 6. Ginagamit na ang Serial Port
- 7: Matagumpay na Nag-upload ng Sketch ngunit Walang Mangyayari
- 8. Hindi nasiyahan na Link ng Link
- 9. Masyadong Malaki ang Sketch
- 10. java.lang.StackOverflowError
Simula bilang isang nagsisimula sa Arduino, maaaring maging isang mapaghamong para sa mga taong walang background sa electronics, mahahanap mo ang mga error, ang ilan sa mga ito ay maaaring magkaroon ng mga simpleng solusyon ngunit maaaring tumagal ka ng mga araw upang malutas. Kaya upang gawing mas madali ang mga bagay, lumikha ako ng isang listahan ng 10 pinakatanyag na mga error sa Arduino kasama ang mga posibleng solusyon sa kanila.
1. Hindi Kinikilala ang Lupon ng Arduino
Ito ay tumutukoy sa isang sitwasyon kung saan ang isang Arduino board, na konektado sa isang computer ay hindi kinikilala ng computer. Kapag nangyari ito, ang board ay karaniwang hindi nakalista sa ilalim ng mga listahan ng port ng Arduino IDE at kung minsan ay may label na USB2.0 sa ilalim ng manager ng aparato.
Solusyon
Nangyayari ito kapag gumamit ka ng ilang murang mga clone ng Arduino na gumagamit ng CH340g USB sa Serial converter chip sa halip na FTDI (FT232RL) at iba pa na ginagamit ng karaniwang Arduino boards. Ang mga driver para sa USB sa Serial Chips na ginamit ng Standard Arduino boards ay palaging naka-package kasama ang Arduino IDE Setup file, kaya kapag na-install mo ang IDE, ang mga driver ay awtomatikong naka-install sa iyong PC. Upang magamit ang CH340g USB na ito sa Serial converter batay sa mga board ng Arduino, kakailanganin mong i-download at mai-install ang driver para sa maliit na tilad. Maaaring ma-download ang driver mula sa link na ito. Ang pag-install nito ay kasing simple ng pag-click sa pindutan ng pag-install sa interface ng pag-setup na ipinakita sa ibaba.
Sa tapos na ito, dapat mo na ngayong mahanap ang port kung saan nakakonekta ang board sa Arduino IDE.
2. Board hindi sa Sync
Kadalasan, kapag nangyari ito, Hindi ka makakapag-upload ng code (Kahit na ang IDE sa oras ay ipapakita ang "tapos na sa pag-upload") sa Arduino board at ipapakita ng IDE ang error code; " Avrdude: stk500_getsync (): hindi naka-sync: resp = 0x00 ".
Solusyon
Ang pag- sync: resp = 0x00 ay isang pangkaraniwang tugon na isinalin sa " Atmega chip ay hindi gumagana " sa Arduino. Kapag nangyari ito, mayroong isang buong bungkos ng mga bagay na maaaring mali. Narito ang ilang mga hakbang na maaaring gawin upang ma-clear ang error na ito.
1. Tiyaking walang konektado sa mga digital na pin na 0 at 1 sa Arduino (kabilang ang mga kalasag).
2. Tiyaking napili ang tamang com port at board sa ilalim ng menu ng mga tool.
3. Pindutin ang pindutan ng pag-reset sa Arduino ilang beses at muling i-upload ang code.
4. Idiskonekta at ikonekta muli ang Arduino sa PC.
5. I-restart ang Arduino IDE.
Kung ang alinman sa mga ito ay hindi gumagana, maaaring oras na upang subukang gumamit ng ibang Arduino board sa PC o gamitin ang "may sira" na Arduino board sa isa pang PC. Makakatulong ito sa iyo na makilala kung alin sa kanila ang pinagmulan ng problema. Kung matuklasan mo ang problema ay nasa PC, muling i- install ang Arduino IDE. Gayunpaman, kung ang "may sira" na Arduino board ay ang mapagkukunan ng problema, isang panghuli na solusyon ay ang pag- flash ng board gamit ang Arduino firmware. Kung wala sa nabanggit na gumagana, maaaring oras na para sa iyo na baguhin ang Arduino Board.
3. Ang code ay hindi nagsisimula sa Power Reset
Ito ay tumutukoy sa mga kaso kung saan hindi pinapatakbo ng Arduino ang sketch na na-upload dito kapag naka-on at sa karamihan ng mga kaso, bumalik lamang sa blink sketch na nauugnay sa bootloader.
Solusyon
Tulad ng iba pang mga problemang ginagamot maraming mga bagay na maaaring maging sanhi nito.
Kung ang board ay nakabitin at walang ginawa, dapat mong suriin ang iyong code upang matiyak na hindi ka nagpapadala ng serial data sa board pagdating nito. Kapag nakabukas ang Arduino, ang bootloader, sa unang ilang segundo, ay nakikinig para sa computer na magpadala ito ng isang bagong sketch para i-upload sa board. Kung walang natanggap na bagong sketch, makalipas ang ilang sandali, mawawala ang bootloader at patakbuhin ang huling sketch na na-upload sa board. Kung ang iyong code ay nagpapadala ng serial data sa unang ilang minuto, ang bootloader ay hindi magtatapos at ang huling sketch na na-upload sa board ay hindi magsisimula.
Kung ang pagpapadala ng serial data sa lalong madaling dumating ang board ay isang mahalagang bahagi ng iyong proyekto, maaaring kailanganin mong makahanap ng isang paraan upang mabigyan ito ng ilang pagkaantala upang ihinto ang serial data na dumating kaagad pagdating ng Arduino. Kung ang paggawa ng mga pagsasaayos ay makakaapekto sa gawain na nais gampanan ng proyekto, maaaring kailangan mong i-upload ang iyong sketch sa board gamit ang isang panlabas na programmer, dahil ang bootloader ay maaaring mapalampas ng mga ito.
Kung ang board ay hindi nabitin ngunit bumalik sa Arduino blink sketch (Pinangunahan sa pin 13 na kumukurap paminsan-minsan), isang direktang pag-aayos ay upang i-flash ang board sa Arduino bootloader, dahil ang isa sa board ay maaaring nasira.
4. Di-wastong Error sa Lagda ng Device
Ang error na ito ay ipinakita kapag ang isang pagtatangka ay nagawa upang mag-upload ng code, sa isang board, naiiba mula sa isang napili sa ilalim ng mga tool> listahan ng board sa Arduino IDE. Karaniwang nangyayari ang error na ito bilang isang resulta ng lagda ng aparato sa target board ay naiiba mula sa board na napili sa IDE.
Solusyon
Ang solusyon sa error na ito ay kasing simple ng pagtiyak na ang tamang board ay napili sa Arduino IDE. Kung hindi ito gumana, maaaring kailanganing i-flash ang microcontroller gamit ang pinakabagong bersyon ng Arduino bootloader.
5. Error sa Launch4j
Ang Arduino IDE minsan ay tumatagal bago mag-load at kapag naglo-load ito, kung nag-click ka sa anumang bagay, ipapakita nito ang error na Launch4J tulad ng ipinakita sa itaas. Ang Launch4j ay isang tool na ginagamit para sa pagbabalot ng mga aplikasyon ng Java (garapon) sa katutubong ipinapatupad ng Windows, na pinapayagan silang magamit bilang isang regular na programa sa Windows.
Ang Arduino IDE mismo ay nakasulat sa JAVA at ang error na ito ay nangyayari dahil sa hindi pagkakatugma ng Java Run Time Environment (JRE) library na ibinigay sa Arduino IDE.
Solusyon
Mula sa karanasan, ang error na ito ay maaaring malinaw ng isang bagay na kasing simple ng pag-off sa Bluetooth o WiFi Connectivity ng iyong PC. Gayunpaman, ang isang mas kumpleto at permanenteng solusyon ay upang palitan ang JRE sa Arduino package na may isang kamakailang bersyon.
6. Ginagamit na ang Serial Port
Marahil ito ang isa sa pinakamadaling pagkakamali upang malutas. Karaniwan itong nangyayari kapag sinubukan mong mag-upload ng code sa isang Arduino habang binubuksan ang serial monitor (hindi na ito isyu kung gumagamit ng mga kamakailang bersyon ng IDE) o kapag sinubukan mong ilunsad ang serial monitor kapag nakikipag-usap ang Arduino sa ibang software o aparato sa pamamagitan ng serial port. Mahalaga, nangyayari ito kapag sinubukan mong gamitin ang serial port ng Arduino para sa dalawang magkakaibang bagay nang sabay.
Solusyon
Tulad ng iminungkahi ng IDE, isara ang bawat iba pang software / tool (kasama ang serial monitor / plotter) na maaaring gumagamit ng com port. Kung hindi ka sigurado sa partikular na software, i-unplug ang Arduino. Dapat itong maging handa na sa oras na ibalik mo ito.
7: Matagumpay na Nag-upload ng Sketch ngunit Walang Mangyayari
Ang error na ito ay katulad ng ilan sa iba pang mga error na nagamot na sa itaas. Para sa error na ito, imumungkahi ng Arduino IDE na ang code ay matagumpay na na-upload, ngunit ang board ay walang ginawa.
Solusyon
- Tiyaking ang board na napili sa IDE ay kapareho ng target board.
- Maaaring ito bilang isang resulta ng laki ng sketch na mas malaki kaysa sa kapasidad ng board. Suriin ang laki ng sketch at gamitin ang ilan sa mga pamamaraan na nabanggit sa itaas upang mabawasan ang laki.
- Panghuli, maaaring mangyari ang error na ito kapag ginagamit ang isang maingay na supply ng kuryente. Tiyaking ang supply ng kuryente ay matatag na sapat.
8. Hindi nasiyahan na Link ng Link
Marahil ito lang ang bihirang error na nakarating sa listahang ito. Nangyayari ito kapag mayroon kang isang lumang bersyon ng library ng komunikasyon na nakalatag sa iyong PC, malamang mula sa dating pag-install.
Solusyon
Upang malutas ang error na ito, maghanap para sa comm.jar o jcl.jar in /System/Library/Frameworks/JavaVM.framework/ o sa direktoryo sa iyong PC CLASSPATH o PATH na kapaligiran variable.
9. Masyadong Malaki ang Sketch
Ang error na ito ay nangyayari kapag ang iyong code ay mas malaki kaysa sa flash memory ng partikular na board ng Arduino. Ang laki ng memorya ng flash ng Arduino Uno, halimbawa, ay 32Kb na ang 2KB ay ginagamit na ng Arduino bootloader. Kung dapat kang mag-upload ng isang code na may sukat na mas mataas sa 32Kb, ipapakita ng Arduino ang babalang ito.
Solusyon
Tulad ng nabanggit sa itaas, nangyayari ito kapag ang iyong sketch ay mas malaki kaysa sa flash memory ng partikular na board na iyong ginagamit, sa gayon, upang malutas ito, kailangan mong maghanap ng mga paraan upang mabawasan ang dami ng puwang na sinakop ng iyong code. Ang ilan sa mga tip para makamit ito ay kasama;
- Kung saan posible, gumamit ng mga uri ng data ng integer bilang kapalit ng isang float.
- Kung saan posible gamitin ang kwalipikadong "const" kapag nagdeklara ng mga variable.
- Isama lamang ang mga kinakailangang aklatan. Kung saan posible, gamitin ang mga magaan na bersyon ng pinakamahalagang mga aklatan.
- Pagbutihin sa code sa pangkalahatan. Bumuo ng mga algorithm na maaaring makatulong na gawing mas maikli ang iyong code at sa pangkalahatan ay magaan.
Ang isang mas radikal na solusyon ay ang paglipat ng proyekto sa isa pang board, tulad ng Arduino Mega, na mayroong isang mas malaking flash memory kumpara sa Uno.
10. java.lang.StackOverflowError
Kapag pinoproseso ang sketch, ang Arduino ay gumagamit ng ilang mga regular na expression para sa pagproseso at kung minsan ay nalilito kapag nakatagpo ito ng ilang mga error na nauugnay sa mga string tulad ng nawawalang mga quote.
Solusyon
Nalulutas ang error na ito sa pamamagitan ng isang pangalawang pagtingin sa code, lalo na ang mga bahagi kung saan ginagamit ang mga pagkakasunud-sunod ng string. Siguraduhin na ang mga quote ay kumpleto, backslashes ay wastong ginamit atbp.
Mayroong isang limitasyon sa bilang ng mga error na maaaring magkasya ang isa sa isang solong tutorial at sa kadahilanang iyon, titigil kami rito. Gayunpaman, naglalaman ang listahang ito ng ilan sa mga pinaka-karaniwang nangyayari sa mga nagsisimula ng error kapag ginagamit ang Arduin o. Nakikipaglaban ka ba sa isang partikular na error, huwag mag-atubiling mag-drop ng isang puna, sana, maaari kaming magtrabaho kasama nito.
Sa susunod.