Una sa lahat, nais kong sabihin na hindi ito gabay sa paglutas ng lahat ng mga problema sa arduino sa mundo, ngunit ang mga dapat kong harapin. Gayunpaman, nahaharap sa mga problemang ito, gumugol ako ng maraming oras upang maghanap ng impormasyon kung paano malutas ang mga ito, kaya sa palagay ko magiging kapaki-pakinabang ang artikulo. Gayundin, hindi ko isasaalang-alang ang mga problema na may kaugnayan sa compilation. Ang mga error sa compilation ay mga error sa programming, ito ay mga espesyal na kaso at isinasaalang-alang din itong pribado sa iba't ibang mga forum.
Pamamaraan 1. Pamantayang firmware
Sa kabila ng pagiging simple ng arduino sa mga tuntunin ng programming, kahit na sa yugtong ito ang mga problema ay maaaring lumitaw. Ang mga ito ay bumangon, bilang isang patakaran, kapag gumagamit ng mga clon ng Tsino. Ngunit magiging sistematikong tayo. Upang maiprograma ang Arduino sa paraang inilaan ng mga developer, kailangan mong i-download at mai-install ang kapaligiran sa pag-unlad mula sa offsite Arduino IDE at i-install tulad ng itinuro. Mayroong daan-daang, kung hindi libu-libo, ng mga artikulo tungkol dito, kahit na sa segment na wikang Ruso ng Internet; hindi ako tatahan dito. Kapag gumagamit ng mga orihinal na problema sa arduino ay hindi dapat lumabas. Ngunit sa amin, bilang isang patakaran, ang lahat ay gumagamit ng mas murang mga clon ng Tsino. Sila, sa pangkalahatan, ay hindi naiiba sa orihinal, hindi bababa sa mga tuntunin ng pagganap. Personal, mayroon akong isang layout ng Intsik Arduino Pro Mini sa mga contact A4 at A5 kasama ang natitira, gusto ko ang higit pa sa layout ng orihinal na board. Ngunit sa parehong pagliko, ang mga Intsik, sa kabila ng sistema ng komunista, sa katunayan ang pinaka tunay na kapitalista, at naka-save sa lahat ng kanilang makakaya upang ma-export. Ang mga chip ng USB interface ng mga arduino ay nahuhulog din sa ilalim ng ekonomiya na ito. Dito nagsisimula ang mga problema. Ang katotohanan ay sa mga clones ng Tsino, hindi ginagamit ang orihinal na Ch340 chip. At kung gayon, ipapalagay namin na nakumpleto mo na ang lahat ng mga karaniwang pamamaraan para sa pag-install ng software at mga driver, ngunit ang arduino ay hindi natahi. Unang bagay na pupuntahan natin START> Control Panel> Manager ng aparato. Narito iginuhit namin ang pansin sa dalawang puntos: USB Controllers at COM LPT port.
Kung ang item Mga Ports (COM at LPT) hindi man, ito ang unang salin sa paglutas ng problema. Kung ang lahat ay maayos, kung gayon sa kung saan ang mga port ng isang bagong port ay dapat lumitaw kapag kumokonekta sa isang arduino. Kung hindi ito nangyari, pagkatapos ay tingnan kung ano ang nangyayari sa "USB Controller". Kapag kumokonekta sa isang arduino, dapat lumitaw ang isang bagong aparato gamit ang inskripsyon ng USB 2.0 Serial. Ito ay talagang isang magandang senyales. Kung nakikita ng computer na konektado sila dito, ngunit hindi maintindihan, kung gayon ang arduinka ay buhay, at ang problema ay kahoy na panggatong. Kung hindi ito nangyari, nabasa namin ang pamamaraan 2 at pamamaraan 3. Upang malutas ang problemang ito, dapat mong manu-manong i-install ang bagong driver. I-download ang driver, ilagay ang folder na ito sa isang maginhawang lugar. Balikan natin to Tagapamahala ng aparatohigit pa USB 2.0 Serial> RMB> Properties> Driver> Update> Maghanap para sa mga driver sa computer na ito at piliin ang folder kasama ang driver. Pagkatapos nito, ang sistema ay maaaring magsimulang manumpa na ang driver ay hindi mula sa mapagkakatiwalaang mga mapagkukunan. Mag-click mag-install pa rin.
Pag-download ng driver
Na-download mo ang driver, na-install, ngunit ang arduino ay hindi pa rin naakit. Ang problema ay maaaring pareho mula sa pabrika at kasalanan ng gumagamit, hindi mahalaga. Anong ginagawa natin? Nagpapasa kami sa pangalawang pamamaraan.
Pamamaraan 2. firmware sa pamamagitan ng TTL converter
Lahat ng Arduino boards na nagsisimula sa serye Nanomagkaroon ng isang interface ng USB. Serye Mini at Pro mini wala itong isa, at eksklusibo na flashed Ang converter ng TTL. Ngunit ang katotohanan ay ang anumang iba pang mga arduinka ay na-sewn ng programmer na ito. Kung wala ka nito, mariing inirerekumenda kong bilhin ito, lalo na dahil nagkakahalaga ito ng 50-60 rubles (sa oras ng pagsulat), ito ay isang unibersal na programmer na maaaring madaling gamitin nang higit sa isang beses. Kaya, halimbawa, sa tulong niya, ipinakita ko ang aking kagamitan sa kontrol sa radyo ng FlySky i6 at ang Kenwood T2000 na walkie-talkie, nang hindi binibili ang mga espesyal na naka-brand na programmer, na higit na nagkakahalaga. Ngunit lumayo ako sa paksa. Sa pangkalahatan, ang lahat ng mga arduino boards ay may mga konklusyon Rx at TX (ito ang interface ng komunikasyon, "paghahatid / pagtanggap"), kung saan maaari mong i-flash ang arduino sa pamamagitan ng pag-iwas sa chip ng interface ng USB. Ang mga nagko-convert, gayunpaman, ay mayroon ding iba't ibang mga bersyon. Kapag binili ko ang minahan, ang pinakakaraniwan at pinakamurang ay isang converter, nang walang output i-reset. Ang kakaiba ng programming ng arduino sa pamamagitan ng tulad ng isang programmer ay eksakto sa pagtatapos ng compilation at pagsisimula ng pag-load, kailangan mong pindutin ang pindutan ng pag-reset sa board. Dito, sa katunayan, kailangan namin ng ilang kasanayan. Kung napalampas mo sa unang pagkakataon, magpatuloy na pindutin ang pindutan na may dalas ng halos 2 segundo. Ang Miyerkules ay nagbibigay ng 10 mga kahilingan, kung maaari kang makapasok sa isa sa mga ito - voila, tinanong namin ang arduino. Ang mas maraming mga modernong programmer ay may isang ikalimang pin, na kumokonekta sa parehong pag-reset, at awtomatiko nitong iginuhit. Ngunit ang pinakamahalaga, inilarawan ko ang nuance. Isa pang sandali. Karaniwan, ang RX ay kailangang konektado sa TX at kabaligtaran. Ngunit sa mga bihirang kaso (well, ang Intsik) kailangan mong kumonekta sa RX sa RX, at sa TX sa TX. Mali lang sign. At kung gayon, kung hindi ito makakatulong, pumunta sa pamamaraan 3.
Ngunit ikabit lang kahoy na panggatong para sa CP2102
Mga Tampok
Ang programmer ay nangangailangan ng pag-install ng mga driver, wala akong mga problema sa ito, walang napansin ng iba, ilagay lamang ang driver sa CP2102, o isa na inaalok ng tagagawa.
Pamamaraan 3. Direktang programming sa chip
Dahil bersyon Nano Ang mga arduino boards ay may isang in-circuit programming connector ISP . Ito ay isang anim na pin na konektor, na, bilang isang panuntunan, walang nagbabantay. Gamit ito, maaari mong i-flash ang microcontroller nang direkta, nang direkta, sa pamamagitan ng pag-iwas sa lahat na maaari lamang i-bypass, parehong pisikal na bahagi at software. Iyon ay kung paano ako nag-flash ng aking pinakabagong arduino board. Sa totoo lang, gamit ang pamamaraang ito maaari kang lumikha ng iyong sariling mga arduino clones sa pamamagitan ng pag-flash sa arduino bootloader sa atmega. Sinulat ko ang tungkol dito sa aking artikulo tungkol sa avionics ng isang sports rocket. Ngunit muli, hindi tungkol doon. Para sa firmware, kailangan mo ng programmer na ito:
Ito ay ordinaryong USBasp, ang pinaka-karaniwang AVR microcontroller programmer. Nagkakahalaga ito ng ali sa parehong penny.
Mga Tampok
Ang programmer ay may isang karaniwang 10-pin na konektor, gayunpaman, maaari kang bumili ng isang 6-pin adapter sa kit. Siyempre, maaari mong gawin ito sa iyong sarili o simpleng ikinonekta ito sa mga wire, ngunit mas madali at mas maginhawa.
Ang firmware ay hindi isinasagawa sa isang karaniwang paraan. Upang magsimula, pumunta sa Mga tool> Programmer> USBasp
Susunod Sketch / Pag-download sa pamamagitan ng programmer.
Ang mga problema
Tulad ng sinabi ko, narito ko inilarawan ang mga problema na nakatagpo ko. Ang programmer na ito ay nangangailangan din ng mga driver. Ang paghahanap ng mga ito ay hindi mahirap. Gayunpaman, kapag nakikipag-ugnay sa Intsik upang makatipid ng pera, kailangan mong maging handa para sa hindi inaasahang pagliko. Personal, kapag nagtatrabaho ako sa programmer na ito, nakatagpo ako ng sumusunod na problema, na kung minsan ay inilarawan ko sa isang cell ng radyo:
avrdude.exe: error: hindi mahanap ang USB aparato na "USBasp" na may vid = 0x16c0 pid = 0x5dc
Siya ay nagpupumig ng mahabang panahon upang malutas ang kalamidad, at natagpuan lamang ito sa mga dayuhang forum. At kung gayon:
1) Sumusunod sa link I-download ang archive ng LibUSB-64bit.zip
2) Ikinonekta namin ang programmer sa USB port.
3) Buksan ang archive at sumama sa landas kung saan nila binuksan ang \ LibUSB-64bit \ libusb-win32-bin-1.2.1.0 \ bin \ x86
4) Patakbuhin ang inf-wizard.exe
5) mag-click Susunod
6) Pumili USBasp at i-click Susunod
7) Ang mga sumusunod na patlang ay napuno sa ganitong paraan:
Mag-click sa Susunod
8) I-save ang nabuong file sa landas:
LibUSB-64bit \ libusb-win32-bin-1.2.1.0 \ bin \ amd64 - kung mayroon kang isang 64-bit system o
LibUSB-64bit \ libusb-win32-bin-1.2.1.0 \ bin \ x86 - kung 32-bit
9) Mag-click sa pag-install ngayon
10) Inaalam ng system na ang driver ay hindi mula sa mapagkakatiwalaang mga mapagkukunan. I-click ang "I-install Pa rin"
11) Magsisimula ang pag-install ng driver. Sa panahon ng pag-install, naririnig namin ang tunog ng pag-disconnect at pagkonekta sa isang USB device. Sa pagtatapos ng pag-install, i-click ang OK.
Ang ilan pang mga tip
Ang pinakakaraniwang mga module ng NRF24L01 ay may malaking jamb. Para sa normal at matatag na pagpapatakbo ng mga modyul na ito, kinakailangan upang mai-hang ang kapasitor ng hindi bababa sa 10 μF 5 V para sa kapangyarihan.Ang mas kaunti ay hindi kanais-nais, higit na walang silbi. Ngunit kung hindi sa 10, siyempre, tumaya sa 22 o 47. Pinapayuhan din na mag-hang ng isa pang ceramic sa 10-100 nF kahanay dito. Bukod dito, mas malapit hangga't maaari sa module mismo, sa isip - sa mga konklusyon. Kung hindi man, tila nakikita ang modyul, ngunit karaniwang hindi nagpapadala.
Kung ang mga natuklasan Rx at TX ang ilang mga executive na aparato ay nakabitin - ang arduinka ay hindi mai-sewn. Unang flash, pagkatapos ay ikonekta ang kinakailangang aparato sa mga output na ito.
Iyon lang, inaasahan kong ang impormasyon ay magiging kapaki-pakinabang sa isang tao.
Good luck sa lahat sa iyong trabaho!