Sketš on Arduino platvormile kirjutatud programm ja sellel on spetsiifiline struktuur.

Esiteks vaatame lihtsal ja abstraktsel viisil, kuidas teie tahvel töötab tarkvara vaatenurgast. Arduino on tegelikult Atmega mikrokontrolleri pinout (mikrokontrolleri kontaktide suunamine hõlpsasti kasutatavateks sisenditeks/väljunditeks - kontaktideks). Nagu märkasite, sisaldavad erinevad plaadid erinevaid kontrollereid ja vastavalt sellele on neil erinevad tihvtide konfiguratsioonid. Tootja installib arduino plaadile hex püsivara (bootloader), mis käivitub sisselülitamisel ja annab juhtimise üle kasutaja kirjutatud ja üles laaditud visandile.

Visandi struktuur:

Sketš peab sisaldama 2 funktsiooni: funktsioon seadistamine ja funktsioon silmus.

Kui see on sisse lülitatud, kutsub Arduino püsivara häälestusfunktsiooni. Seadistusfunktsiooni kutsutakse ainult üks kord, iga kord, kui plaat käivitatakse. See koht sobib ideaalselt muutujate lähtestamiseks (algväärtuste seadmiseks), viigurežiimide (sisend/väljund) seadistamiseks, ühendatud andurite/servode/muude kontaktidega vastavuse seadistamiseks. Pärast häälestusfunktsiooni täitmist kutsutakse tsüklifunktsiooni tsükliliselt (st kohe pärast häälestusfunktsioonist väljumist käivitatakse tsüklifunktsioon, pärast sellest väljumist kutsutakse see uuesti. Protsess jätkub kuni toite väljalülitamiseni).

Selle tugevdamiseks vaatame lihtsat visandit LED-i vilkumiseks (omamoodi klassikaline Hello World Arduino jaoks). Sõna tühine funktsiooni nime ees ütleb meile, et funktsioon ei tagasta ühtegi väärtust (tagastab "tühjus" - "tühjus"). Funktsioonide struktuuri, kontseptsiooni ja eesmärki käsitleme järgmistes artiklites.

tühine seadistamine () { // Määra väljundiks 13-pin pinMode(13, VÄLJUND); ) tühine silmus() (digitalWrite(13, HIGH); // LED süttib viivitus(1000); // ootame sekundit digitalWrite (13, LOW ); // lülitage LED välja viivitus(1000); // oota sekund)

Nagu peaks juba selge olema, kutsutakse plaadi sisselülitamisel välja häälestusfunktsioon, mille väljundiks seatakse viik 13. Järgmisena kutsutakse tsüklifunktsiooni tsükliliselt.

Vaatame visandi Arduinosse üleslaadimise protsessi. Vaatleme kogu Arduino IDE protsessi. Toimingud on teistes keskkondades sarnased ja me usume, et need ei vaja eraldi kaalumist. Esiteks avage keskkond ja kopeerige meie visand.

Klõpsake nuppu "Täida".

Nagu näeme, on meie programm koostamisel. Kompileerimine on programmikoodi teisendamine tipptaseme keelest kahendkoodiks, mille mikrokontroller käivitab. Kui visand on kirjutatud ilma süntaksivigadeta, kompileeritakse see edukalt ja laaditakse üles arduinosse.

Meilt küsitakse sageli, kas enne uute visandite üleslaadimist on vaja vanu visandeid kuidagi puhastada ja kustutada. Pole vaja. Uue visandi üleslaadimisel ei jää vanast jälgegi;)

Esimest visandit laadides ei jäta see rõõmuseisund kauaks. Edu hetkel kogetut on väga raske kirjeldada, eriti kui te pole varem programmeeritava raadioelektroonikaga tegelenud. Mõtted ja ideed keerlevad peas ning tahan kiiresti selgeks teha, milleks see trükkplaadi tükk ja raadiokomponentide komplekt veel võimeline on! Kui olete lõpetanud Arduino uno R3 CH340G ühendamise ja seadistamise etapi. arvutisse, saame jätkata järgmiste sammudega.

Te ei pea esimest visandit Internetist otsima ega ise kirjutama. Arduino IDE-l on eelinstallitud teekide komplekt ja näited, mida saate kontrolleriga edasi töötades oma projektides kasutada. Kõigepealt avage Arduino IDE ja minge akna ülamenüüs vahekaardile Fail, seejärel viige hiirekursor üksuse Näited juurde. Sketšide näiteid on palju, kuid ma soovitan valida põhinäidete kategooriast Pilgutuse visand. Sketš on väga lihtne ega vaja selle demonstreerimiseks täiendavaid elemente.

Selle näite valimisel avaneb Arduino arenduskeskkonna uus aken, kus on allalaadimiseks valmis kontrolleri püsivara kood. See näeb välja selline.

Vaatame veidi, mida see sketš sisaldab. Ridadelt 1 kuni 23 näeme halli teksti. See tekst on informatiivsel eesmärgil ja kirjeldab kasutajale mõningaid selle visandi tööparameetreid, selle visandi autor võib jätta ka enda kohta kontaktandmed. Neid ridu kommenteeritakse ja kontrolleri püsivara vilkumisel neid sinna ei laadita. Teksti kommenteerimiseks on kaks võimalust. Esimene meetod on mugav, kui peate laaduri eest peitma mitu rida; sel juhul kasutage märki /* kommentaaride alguses, */ kommentaaride lõpus, nagu esimesel ja kahekümne kolmandal real. Teine meetod sobib rohkem koodi osa või mis tahes funktsiooni kirjeldamiseks, selleks // topeltkaldkriipsu taha // ühe rea sees jääv tekst või kood // peidetakse kontrollerisse laadimise eest, mida saame jälgida ülejäänud kood. Muide, kui kavatsete tulevikus ise visandeid kirjutada, peetakse heaks vormiks visandi tööparameetrite kirjelduse ja funktsioonide kommentaaride jätmist. Kirjeldusest, mille autor meile jättis, on selge, et see visand paneb kontrolleri plaadile sisseehitatud ja digitaalse kontaktiga 13 seotud LED-i vilkuma sagedusega 1000 millisekundit.

Ma tunnen, et te ei jõua ära oodata, millal saate kiiresti midagi oma Arduinosse laadida. Selleks leidke akna ülaosas 5 nuppu ja klõpsake allalaadimisnupul.

Pärast nupu klõpsamist algab koodi koostamise ja vigade kontrollimise protsess. Kui koodi allalaadimine õnnestub, teavitab meid sellest allalaadimise olekuriba.

Ja kontrolleril saame jälgida, kuidas ladina tähega L tähistatud LED hakkab antud sagedusel vilkuma.

Et paremini mõista, kuidas see sketš töötab, redigeerime veidi koodi ja vaatame, mis on muutunud. Minge koodi reale 34 ja muutke pausi aega, viivitus(1000); vahetame vastu viivitus(10000);.

Nende manipulatsioonide tulemusena on meie kontrolleri tööprogramm muutunud. Ja nüüd süttib kontrolleri LED mitte 1 sekundiks nagu lähtekoodi laadimisel, vaid 10 sekundiks. Nüüd andsime real 33 programmiliselt märku LED-i sisselülitamiseks ja see LED põleb seni, kuni saadakse uus käsk selle kohta. Seetõttu seadsime real 34 10-sekundilise pausi ja real 35 lülitame LED-i välja. See peaks välja nägema umbes nagu alloleval pildil.

Mulle tundub, et esitatud infost piisab kontrolleriga töö alustamiseks ning jään vaid soovida edu ja häid tulemusi ettevõtmistes.

Kui ma Arduino kallal töötama hakkasin, tundus mulle, et kogu maailm teeb sama asja. Tegelikult selgus, et paljudel on nagu minulgi lihtsalt raske alustada, teemasse endasse “sisse saada”. Seega otsustasin kirjutada kiirjuhendi, et saaksite kohe mõne komponendi haarata ja seda mänguasja proovida. Tõenäoliselt saate pärast lugemist isegi ilma minu tulevaste postitusteta mitmel viisil kohe aru, mis on mis. Niisiis.

Kui te pole Arduinot proovinud lihtsalt sellepärast, et te ei saa alustada, teadmata, mis on mis, siis ma päästan teid nüüd.

Arduino on sama lihtne kui Lego. Aga kui nad hakkavad seda seletama, hüppab välja hunnik moesõnu: arenduskeskkond, riistvara, kivi, püsivara, raamatukogu, draiver, sketš, käivitatav fail, komponendid, programmeerimisoskused, tarkvara ja riistvara, Arduinoga ühilduv platvorm... Kes Tahab siin hulluks minna? Läheb küll, sa pead lastele lihtsa mänguasjakomplekti nii keeruliseks tegema! =)
Tegelikult on kõik lihtne: meil on Arduino ise – see on meie tulevaste mänguasjade aju, mille me sellega kokku paneme.

Meil on valida kahe valmiskilbi vahel. Miks? Nüüd "ühendame" Arduino ühte kilbiga, vaatame, kuidas see töötab, ja seejärel programmeerime selle ümber ja ühendame teisega - ja veendume uuesti, et see töötab. Nii saab see meile kohe selgeks ja saame edasi - õnneks on Arduinoga koos arengusuundi palju.

2. Installige IDE tavalise programmina.
Lisateave: Windowsi jaoks

3. Ühendage Arduino USB kaudu

4. Käivitage IDE (superkasutaja õigustega, kui see teile midagi tähendab. Kui ei, siis unusta need õigused. Kui jah, siis laadige alla versioon 1.0.1 – kõik, mis on vanem, töötab Linuxis viltu).

5. Valige Arduino tüüp. (See valitakse suure tõenäosusega automaatselt. Aga meil on käes Arduino Nano 3.0 komplekt ja peal oleva nelinurkse protsessori peal on kirjas Amtel Mega 328p – see tähendab, et valime menüüst Nano ATmega328).

6. Kontrolli, kas arvuti näeb Arduinot: nähtav on selle port, mille kaudu me ta ühendasime.

Kas kõik on valmis? Nüüd mõtleme välja, mida ja kuidas laadida, ning 5 minuti pärast valgustavad meie uuel kilbil olevad lambipirnid (dioodid!) rõõmsalt meie maja.

Veaotsing:

Kui porti ei leitud, ühendage kõik lahti ja sulgege programm. Ühendage Arduino uuesti, võib-olla uue pordiga, avage programm. See on nagu mobiilirakendus teie telefonis: kui see hangub, siis taaskäivitate selle ja see töötab uuesti. Sama tõrkeotsingu põhimõte on siin. =)

3. samm: kasutage visandit ja teeki ettenähtud viisil

Siit algab maagia! =) Aga miskipärast olid just sel põneval hetkel seletused kõige igavamad:

Mikrokontrolleri programmeerimiseks on meil kolme tüüpi faile: .h, .cc, .ino Failid kompileeritakse, kõned saadetakse teekidesse. Kõik see on kirjutatud C-keeles, mis töötab funktsioonide, muutujatega, misjärel, et C-s kirjutatud programm saaks mikrokontrollerile arusaadavaks, tõlgitakse see masinkoodiks - kompileeritakse ja laaditakse seejärel kontrollerisse. . te ei kujuta ette, kui palju me sellest praegu ei hooli =) Kõik on palju lihtsam.

Avage kõik vajalikud teegid (vt pilti) + kopeerige eskiis siia. Koostada. Lae alla. Valmis! Saate Arduino tagasi raadiokilbi sisse panna ja selle (raadio) uuesti sisse lülitada.

Nii kiiresti saime hakkama:

1. Kuidas Arduino ümber programmeerida erinevate kilpide jaoks, kasutades valmis visandeid ja teeke.
2. Miks me vajame eskiisi, miks me vajame raamatukogu. Mida kuhu panna.
3. Kuidas töötada Arduino IDE programmiga, et visandid koos teegiga üles laadida.

Nagu näete, on kõik lihtne. Mul kulus mitu päeva, et üksinda "sisse kolida". Loodan, et päästan kellegi nende paari päeva jooksul. Edu teile Arduino isetegemisel ja kohtumiseni: kavatsen olemasolevate moodulite ja komponentide põhjal palju rohkem välja mõelda ning jagan kindlasti teiega oma ideid ja oskusi.

Traditsiooniliselt artikli lõpus - tänan teid!

Suur tänu kasutajale

Selles projektis tahan näidata, kuidas Androidi operatsioonisüsteemil põhinevat tavalist seadet kasutades visandit Arduinosse üles laadida. See seade võib olla kasulik püsivalt paigaldatud Arduino plaatide jaoks, näiteks valgustuskontrolleritel...

1. samm: materjalid ja tööriistad

Materjalid:

USB-A kuni USB-B kaabel
USB-hostikaabel (OTG-kaabel)
Arduino
1 LED (testimiseks)
Android-seade, Android OS-i versioon 4.0.0+ (või hostirežiimi toega)

Tarkvara:

ArduinoDroid või ArduinoCommander, mille saab alla laadida Google Play poest

2. samm: USB-hostikaabel

USB-hostikaabel on põhimõtteliselt sama, mis USB-kaabel, kuid mikro-USB-pistikul on erinevad takistid. Sisemised takistid võimaldavad Android-seadmel aktiveerida USB-hosti režiimi. Selles režiimis saate kasutada ka USB-mälupulki või muid USB-liidest toetavaid seadmeid. See on väga kasulik funktsioon ja nüüd saate isegi USB-printeri ühendada.

Probleem on selles, et kui USB-seade on ühendatud, saab see hostseadmelt toidet, tühjendades sellega selle aku.

3. samm: ühendused

See on väga lihtne samm ja ei nõua palju tähelepanu. Lihtsalt ühendage USB-A–USB-B kaabel hostikaabli USB-masselisse. Seejärel ühendage USB-B-pistik Arduinoga ja mikro-USB Android-seadmega.

4. samm: Arduino sisselülitamine

Kõik ühendused tuleb teha nii, nagu fotol näidatud. Järgmisena saate oma Arduino sisse lülitada ja sellesse laadida uusima allalaaditud koodi. Ma kasutasin oma Arduinol Blinki visandit. Kui Arduino ei käivitu, kontrollige, kas ühendused on õiged.

5. samm: rakendused

Nüüd on Arduino valmis koodi alla laadima, kuid teie Android-seade pole veel...

Muudame seda olukorda!

Praegu on kaks rakendust, mis võimaldavad teil töötada meie Arduinoga hostirežiimi kaudu.

Nende allalaadimiseks minge Play poe veebisaidile ja sisestage otsinguribale "Arduino". Järgmisena klõpsake nuppu "Rakendused", misjärel kuvatakse ainult rakendused. Vajame kahte rakendust: "ArduinoDroid" ja "ArduinoCommander". Installige need ja seejärel käivitage "ArduinoDroid". See rakendus peab värskendama IDE-d, mis võtab veidi aega. Järgmisena on vaja rakendust "ArduinoCommander".

Märkus. Mõlemat rakendust pole vaja korraga kasutada, tahan lihtsalt näidata, kuidas mõlemad töötavad!

6. samm: ArduinoCommander, programmi autor Anton Smirnov

Noh, alustame ArduinoCommanderi rakendusega. Selle töötas välja Anton Smirnov Andoridi versiooni 2.2 või uuema jaoks.

See rakendus on loodud töötama koos Arduinoga, kasutades Android-seadet. Sellega saate hõlpsalt muuta tihvtide olekuid (otse kõrge või madala), laadida üles visandeid või lugeda ostsilloskoobi režiimis analoogtihvte.

Seda rakendust on lihtne mõista, isegi kui juhtnupud on ebastandardsed. See tuvastab automaatselt Arduino ja töötab väga stabiilselt.

Mõned funktsioonid aga ei tööta. Loodan, et need vead parandatakse rakenduse tulevastes versioonides. Visandi üleslaadimine õnnestus!

Annan sellele rakendusele 4.0 tärni 5-st.

Nüüd vaatame kiiresti Arduinoga ühenduse loomist.

7. samm: 1. osa

Muud valikud hõlmavad järgmist:
Ethernet
Bluetooth
USB-lisad

8. samm: 2. osa

Nüüd klõpsake nuppu "Automaatne tuvastamine". Android-seade otsib automaatselt Arduinot ja kuvab seda siis ekraanil. Nüüd valime oma Arduino (klõpsake sellel).

9. samm: 3. osa

Pärast eelmise sammu täitmist kuvatakse ekraanil meie Arduino. Tavaliselt kuvatakse see värviliselt ja tihvtidele klõpsates saate nende režiimi muuta. Kuid režiimi valik ei töötanud minu jaoks ja ma ei saanud seda probleemi lahendada; Võib-olla töötab kõik teie jaoks ebaõnnestumisteta. Kui klõpsate paremas alanurgas, suunatakse teid menüüsse, mis võimaldab teil visandid SD-kaardilt alla laadida. See funktsioon töötab väga hästi.

10. samm: ArduinoDroid

Liigume nüüd edasi teise rakenduse juurde, mis võimaldab teil visandeid oma Arduinosse üles laadida. Selle rakenduse nimi on "ArduinoDroid" ja see töötab Androidi versiooniga 4.2.2 või uuemaga. Selle rakenduse autor on ka Anton Smirnov!