Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Greške
  • Arduino programiranje za početnike na ruskom. Arduino - Osnove programiranja

Arduino programiranje za početnike na ruskom. Arduino - Osnove programiranja

Trebaće ti

  • Arduino UNO ploča;
  • USB kabl (USB A - USB B);
  • PC;
  • Dioda koja emituje svjetlost;
  • par spojnih žica dužine 5-10 cm;
  • ako postoji - matična ploča.
Arduino IDE

Preuzmite Arduino razvojno okruženje (Arduino IDE) sa službene web stranice za vaš operativni sistem (Windows, Mac OS X, Linux su podržani). Možete odabrati instalatera ( Instalater), možete arhivirati ( ZIP fajl za instalaciju bez administratora). U drugom slučaju, program se jednostavno pokreće iz mape, bez instalacije. Preuzeta datoteka sadrži, pored razvojnog okruženja, drajvere za ploče Arduino porodice.

Preuzmite Arduino IDE sa službene web stranice

2 Arduino veza na kompjuter

Povežite Arduino ploču pomoću USB kabla (USB-A do USB-B tipa) na računar. Zelena ON LED dioda na ploči bi trebala zasvijetliti.


Kabl "USB-A - USB-B" za povezivanje Arduina sa računarom

3 Instalacija drajvera za Arduino

Instalirajte drajver za Arduino. Razmotrite opciju instalacije na Windows operativnom sistemu. Da biste to učinili, pričekajte dok operativni sistem od vas zatraži da instalirate upravljački program. Odbij. Pritisnite tipke Win+Pause, trči Menadžer uređaja. Pronađite odjeljak "Lukovi (COM i LPT)". Tamo ćete vidjeti port s imenom Arduino UNO (COMxx). Desni klik na njega i odaberite Ažurirajte drajver. Recite operativnom sistemu lokaciju drajvera. Nalazi se u poddirektorijumu vozači u folderu koji smo upravo preuzeli.

Obratite pažnju na port na koji je povezana Arduino ploča. Da biste saznali broj porta, pokrenite Upravitelj uređaja i potražite odjeljak "Portovi (COM i LPT)". Broj porta će biti naveden u zagradama iza naziva ploče. Ako ploča nije na listi, pokušajte da je odspojite sa računara i sačekajte nekoliko sekundi, a zatim je ponovo povežite.

Arduino u Windows upravitelju uređaja

4 Postavke Arduino IDE

Usmjerite svoje razvojno okruženje na svoju ploču. Da biste to učinili u meniju Tools Board izaberite Arduino UNO.


Odaberite Arduino UNO ploču u postavkama

Odredite broj COM porta na koji je Arduino ploča povezana: Tools Port.


Postavite serijski port na koji je povezana Arduino ploča

5 Otvorite primjer programe

Razvojno okruženje već sadrži mnoge primjere programa za proučavanje rada ploče. Otvorite primjer "Blink": Uzorci datoteka 01.Osnove Blink.Usput, programi za Arduino se zovu "skice".


Otvorite primjer skice za Arduino

6 Sklop kola sa LED

Odspojite Arduino sa računara. Sastavite krug kao što je prikazano na slici. Imajte na umu da kratka noga LED diode mora biti povezana na GND pin, duga noga na digitalni pin “13” Arduino ploče. Zgodno je koristiti matičnu ploču, ali ako je nemate, spojite žice okretanjem.

Digitalni pin "13" ima ugrađeni otpornik na ploči. Stoga, kada spajate LED na ploču, nije potrebno koristiti eksterni otpornik za ograničavanje struje. Prilikom povezivanja LED-a na bilo koji drugi Arduino pinovi, potrebno je koristiti otpornik, inače ćete pregorjeti LED, a u najgorem slučaju i Arduino port na koji je LED spojen!


Dijagram povezivanja LED-a na Arduino u Arduino memoriji

Sada možete učitati program u memoriju ploče. Povežite ploču sa računarom, sačekajte nekoliko sekundi dok se ploča ne pokrene. Kliknite na dugme Skinuti, a vaša skica će biti upisana u memoriju Arduino ploče. LED dioda bi trebala početi veselo treptati prema vama svake 2 sekunde (1 sekunda uključena, 1 sekunda isključena). Ispod je kod za naš prvi Arduino program.

void setup() (// blok inicijalizacije pinMode(13, OUTPUT); // postavlja pin 13 kao izlaz. } void loop() (// petlja koja se beskrajno ponavlja sve dok je ploča uključena: digitalWrite(13, HIGH); // primijeniti visoki nivo na pin 13 - upaliti LED delay(1000); // za 1000 ms = 1 sek. digitalWrite(13, LOW); // primijeniti niski nivo na pin 13 - isključiti LED kašnjenje (1000); // za 1 sek. } // tada se ciklus ponavlja

Pročitajte komentare u tekstu programa - oni su dovoljni za razumijevanje našeg prvog eksperimenta. Prvo opisujemo blok inicijalizacije postaviti(), u kojem postavljamo početne vrijednosti varijabli i funkcije Arduino pinova. Slijedi beskonačna petlja petlja(), koji se ponavlja iznova i iznova sve dok se ploča napaja. U ovom ciklusu obavljamo sve potrebne radnje. U ovom slučaju uključujemo i gasimo LED. Operater kašnjenje() specificira trajanje izvršenja (u milisekundama) prethodnog izraza. Operater digitalWrite() govori Arduinu na koji pin treba primijeniti napon i koji nivo napona. Vaša prva skica je spremna!

Na internetu postoji mnogo stranica posvećenih radu sa pločama Arduino porodice. Čitajte, savladajte, ne bojte se eksperimentirati i učiti nove stvari! Ovo je zabavna i korisna aktivnost koja će vam donijeti puno zadovoljstva.

Bilješka

Budite oprezni kada radite s Arduino pločom - ovo je elektronički proizvod koji zahtijeva pažljivo rukovanje. Na dnu ploče su izloženi provodnici, a ako ploču postavite na vodljivu površinu, postoji mogućnost da ploča izgori. Takođe, nemojte dirati dasku vlažnim ili mokrim rukama i izbjegavajte vlažne prostore prilikom rada.

Zdravo! Ja sam Alikin Aleksandar Sergejevič, nastavnik dodatnog obrazovanja, vodim klubove „Robotika“ i „Radiotehnika“ u Centru za omladinu i tehnologiju mladih u Labinsku. Želio bih malo govoriti o pojednostavljenoj metodi programiranja Arduina pomoću programa ArduBlock.

Uveo sam ovaj program u obrazovni proces i oduševljen sam rezultatom, veoma je tražen među djecom, posebno pri pisanju jednostavnih programa ili za kreiranje neke početne faze složenih programa. ArduBlock je grafičko programsko okruženje, odnosno sve radnje se izvode sa nacrtanim slikama sa potpisanim akcijama na ruskom jeziku, što uvelike pojednostavljuje učenje Arduino platforme. Djeca od 2. razreda lako mogu savladati rad sa Arduinom zahvaljujući ovom programu.

Da, neko bi mogao reći da Scratch još uvijek postoji i da je također vrlo jednostavno grafičko okruženje za Arduino programiranje. Ali Scratch ne flešuje Arduino, već ga samo kontroliše preko USB kabla. Arduino je ovisan o računaru i ne može raditi autonomno. Prilikom kreiranja vlastitih projekata, autonomija je glavna stvar za Arduino, posebno kada kreirate robotske uređaje.

Čak ni dobro poznati LEGO roboti, kao što su NXT ili EV3, više nisu toliko zanimljivi našim učenicima s pojavom ArduBlock programa u Arduino programiranju. Arduino je također mnogo jeftiniji od bilo kojeg LEGO kompleta za konstrukciju, a mnoge komponente se jednostavno mogu uzeti iz stare kućne elektronike. Program ArduBlock pomoći će ne samo početnicima, već i aktivnim korisnicima Arduino platforme.

Dakle, šta je ArduBlock? Kao što sam već rekao, ovo je grafičko programsko okruženje. Gotovo u potpunosti preveden na ruski. Ali vrhunac ArduBlock-a nije samo to, već i činjenica da se ArduBlock program koji smo napisali pretvara u Arduino IDE kod. Ovaj program je ugrađen u Arduino IDE programsko okruženje, odnosno predstavlja dodatak.

Ispod je primjer trepereće LED diode i konvertovanog programa u Arduino IDE. Sav rad sa programom je vrlo jednostavan i svaki učenik ga može razumjeti.

Kao rezultat rada s programom, ne možete samo programirati Arduino, već i proučavati naredbe koje ne razumijemo u tekstualnom formatu Arduino IDE, ali ako ste previše lijeni da pišete standardne komande, možete brzo koristiti miša za skiciranje jednostavnog programa u ArduBloku i otklanjanje grešaka u Arduino IDE.

Da biste instalirali ArduBlok, prvo morate preuzeti i instalirati Arduino IDE sa službene Arduino web stranice i razumjeti postavke kada radite s Arduino UNO pločom. Kako to učiniti opisano je na istoj web stranici ili na Amperki, ili pogledajte na YouTube-u. Pa, kada sve ovo shvatite, trebate preuzeti ArduBlok sa službene web stranice, ovdje. Ne preporučujem preuzimanje najnovijih verzija, vrlo su komplicirane za početnike, ali verzija od 2013-07-12 je najbolja, ova datoteka je tamo najpopularnija.

Zatim preimenujte preuzetu datoteku u ardublock-all i u folder “documents”. Kreiramo sljedeće foldere: Arduino > tools > ArduBlockTool > tool i u potonji bacamo preuzetu i preimenovanu datoteku. ArduBlok radi na svim operativnim sistemima, čak i na Linuxu, lično sam ga testirao na XP, Win7, Win8, svi primjeri su za Win7. Instalacija programa je ista za sve sisteme.

Pa, jednostavnije rečeno, pripremio sam arhivu na 7z Mail disku, raspakujući koju ćete naći 2 foldera. U jednom već postoji Arduino IDE program koji radi, au drugom folderu sadržaj mora biti poslat u folder dokumenata.

Da biste radili u ArduBloku, morate pokrenuti Arduino IDE. Zatim idemo na karticu Alati i tamo nalazimo ArduBlok stavku, kliknemo na nju - i evo ga, naš cilj.

Pogledajmo sada interfejs programa. Kao što ste već shvatili, u njemu nema postavki, ali ima dosta ikona za programiranje i svaka od njih nosi naredbu u Arduino IDE tekstualnom formatu. Nove verzije imaju još više ikona, tako da je razumijevanje najnovije verzije ArduBloka teško i neke od ikona nisu prevedene na ruski.

U odjeljku "Upravljanje" naći ćemo razne cikluse.

U odjeljku „Priključci“ možemo upravljati vrijednostima portova, kao i emiterom zvuka, servo ili ultrazvučnim senzorom blizine koji je na njih povezan.

U odjeljku "Brojevi/konstante" možemo odabrati digitalne vrijednosti ili kreirati varijablu, ali malo je vjerovatno da ćete koristiti ono što je ispod.

U odeljku „Operatori“ naći ćemo sve potrebne operatore za poređenje i izračunavanje.

Odjeljak Uslužni programi uglavnom koristi tempirane ikone.

"TinkerKit Bloks" je odjeljak za kupljene TinkerKit senzore. Mi, naravno, nemamo takav set, ali to ne znači da ikone nisu prikladne za druge setove, naprotiv, momcima je vrlo zgodno da koriste ikone poput uključivanja LED-a ili dugme. Ovi znakovi se koriste u gotovo svim programima. Ali oni imaju posebnost - kada ih odaberete, postoje pogrešne ikone koje označavaju portove, pa ih morate ukloniti i zamijeniti ikonu iz odjeljka „brojevi/konstante“ na vrhu liste.

"DF Robot" - ovaj odjeljak se koristi ako su senzori navedeni u njemu prisutni, ponekad se pronađu. I naš današnji primjer nije izuzetak, imamo „podesivi IR prekidač“ i „linijski senzor“. “Lini senzor” se razlikuje od onog na slici, jer je kompanije Amperka. Njihove radnje su identične, ali Ampere senzor je mnogo bolji, jer ima regulator osjetljivosti.

“Seedstudio Grove” - nikada nisam koristio senzore u ovoj sekciji, iako postoje samo džojstici. U novim verzijama ovaj odjeljak je proširen.

I posljednji odjeljak je “Linker Kit”. Nisam naišao na senzore predstavljene u njemu.

Želio bih pokazati primjer programa na robotu koji se kreće duž trake. Robot je vrlo jednostavan, i za sklapanje i za kupovinu, ali prije svega. Počnimo s njegovom nabavkom i montažom.

Evo i samog kompleta delova, sve je kupljeno na sajtu Amperke.

  1. AMP-B001 Štitnik motora (2 kanala, 2 A) 1.890 RUB
  2. AMP-B017 Troyka Shield 1.690 RUB
  3. AMP-X053 Pretinac za baterije 3×2 AA 1 60 RUR
  4. AMP-B018 Digitalni linijski senzor 2.580 RUB
  5. ROB0049 MiniQ platforma na dva točka 1.1890 RUB
  6. SEN0019 Infracrveni senzor prepreka 1.390 RUB
  7. FIT0032 Nosač za infracrveni senzor prepreka 1,90 RUB
  8. A000066 Arduino Uno 1 1150 RUR

Prvo, sastavite platformu s kotačima i zalemimo žice na motore.

Zatim ćemo ugraditi stalke za montažu Arduino UNO ploče, koje su preuzete sa stare matične ploče ili drugih sličnih nosača.

Zatim pričvrstimo Arduino UNO ploču na ove police, ali ne možemo pričvrstiti jedan vijak - konektori su na putu. Možete ih, naravno, odlemiti, ali ovo je po vašem nahođenju.

Zatim pričvršćujemo infracrveni senzor prepreka na njegov poseban nosač. Imajte na umu da se regulator osjetljivosti nalazi na vrhu, radi lakšeg podešavanja.

Sada ugrađujemo digitalne linijske senzore, ovdje ćete morati potražiti par vijaka i 4 matice za njih.Ugrađujemo dvije matice između same platforme i linijskog senzora, te fiksiramo senzore sa ostatkom.

Zatim instaliramo Motor Shield, ili ga na drugi način možete nazvati upravljačkim programom motora. U našem slučaju obratite pažnju na džemper. Nećemo koristiti odvojeno napajanje za motore, tako da je ugrađeno u ovu poziciju. Donji dio je zalijepljen izolacijskom trakom kako ne bi došlo do slučajnih kratkih spojeva sa Arduino UNO USB konektora, za svaki slučaj.

Instaliramo Troyka Shield na motorni štit. Neophodan je za praktičnost povezivanja senzora. Svi senzori koje koristimo su digitalni, tako da su linijski senzori povezani na portove 8 i 9, kako se još nazivaju pinovima, a infracrveni senzor prepreka je povezan na port 12. Imajte na umu da ne možete koristiti portove 4, 5, 6, 7 jer ih koristi Motor Shield za kontrolu motora. Čak sam i posebno obojio ove luke crvenim markerom kako bi učenici mogli to shvatiti.

Ako ste već primijetili, dodao sam crnu čahuru, za svaki slučaj, da ne bi izletio pretinac za baterije koji smo postavili. I na kraju, cijelu strukturu učvršćujemo običnom gumenom trakom.

Postoje 2 vrste povezivanja odeljka za baterije. Prvo povezivanje žica na Troyka Shield. Također je moguće zalemiti utikač i spojiti ga na samu Arduino UNO ploču.

Naš robot je spreman. Prije nego počnete programirati, morat ćete naučiti kako sve funkcionira, odnosno:
- Motori:
Priključci 4 i 5 se koriste za upravljanje jednim motorom, a 6 i 7 drugim;
Reguliramo brzinu rotacije motora koristeći PWM na portovima 5 i 6;
Naprijed ili unazad slanjem signala na portove 4 i 7.
- Senzori:
Svi smo mi digitalni, tako da oni daju logičke signale u obliku 1 ili 0;
A da bi ih prilagodili, imaju posebne regulatore, a uz pomoć odgovarajućeg odvijača mogu se kalibrirati.

Detalje možete pronaći u Amperke. Zašto ovdje? Jer postoji mnogo informacija o radu sa Arduinom.

Pa, vjerovatno smo sve pogledali površno, proučili i, naravno, sastavili robota. Sada ga treba programirati, evo ga - dugo očekivanog programa!

I program je konvertovan u Arduino IDE:

Void setup() ( pinMode(8, INPUT); pinMode(12, INPUT); pinMode(9, INPUT); pinMode(4, OUTPUT); pinMode(7, OUTPUT); pinMode(5, OUTPUT); pinMode(6 , OUTPUT); ) void loop() ( if (digitalRead(12)) ( if (digitalRead(8)) ( if (digitalRead(9)) ( digitalWrite(4, HIGH); analogWrite(5, 255); analogWrite( 6, 255); digitalWrite(7, HIGH); ) else ( digitalWrite(4, HIGH); analogWrite(5, 255); analogWrite(6, 50); digitalWrite(7, LOW); ) ) else ( if (digitalRead (9)) ( digitalWrite(4, LOW); analogWrite(5, 50); analogWrite(6, 255); digitalWrite(7, HIGH); ) else ( digitalWrite(4, HIGH); analogWrite(5, 255); analogWrite(6, 255); digitalWrite(7, HIGH); ) ) ) else ( digitalWrite(4, HIGH); analogWrite(5, 0); analogWrite(6, 0); digitalWrite(7, HIGH); ) )

U zaključku, želim reći da je ovaj program jednostavno dar za obrazovanje; čak i za samostalno učenje, pomoći će vam da naučite Arduino IDE komande. Glavni naglasak je da postoji više od 50 ikona za instalaciju, počinje da "kvari". Da, zaista, ovo je vrhunac, budući da vas programiranje samo na ArduBloku cijelo vrijeme neće naučiti programiranju u Arduino IDE. Takozvani “kvar” vam daje priliku da razmislite i pokušate da zapamtite komande za precizno otklanjanje grešaka u programima.

Želim ti uspjeh.

Ciljna publika Arduina su neprofesionalni korisnici u oblasti robotike i jednostavnih sistema automatizacije. Glavni proizvod je set ploča, kombinovanjem kojih je moguće kreirati različite uređaje sposobni za obavljanje širokog spektra zadataka.

Na primjer, iz seta dasaka koje proizvodi ova kompanija, možete sastaviti automatsku hranilicu za svoje ljubimce. A ovo je samo jedan od najjednostavnijih primjera. Opseg njihove moguće primjene ograničen je samo maštom korisnika.

Pored štampanih ploča proizvedenih pod brendom Arduino, oni imaju i sopstveni Arduino programski jezik, koji je baziran na jeziku koji je nadaleko poznat među programerima. C/C++. Pogledajmo pobliže šta je to.

Programski jezik Arduino prilično je jednostavan za naučiti, jer su glavna ciljna publika za njegovu upotrebu amateri. Međutim, smatra se jednim od najboljih jezika za programiranje mikrokontrolera.

Arduino IDE je besplatan program koji svako može preuzeti. Na našoj web stranici možete koristiti bilo koju verziju okruženja koja vam odgovara. Također, pristup preuzimanju IDE-a je omogućen na službenoj web stranici kompanije, a po želji programeri se mogu zahvaliti transferom novca.

Program napisan u Arduino programskom jeziku naziva se skica. Gotove skice se snimaju na ploču za izvođenje.

IDE podržavaju operativni sistemi kao što su Windows, MacO i Linux. Na službenoj web stranici kompanije stoji da je ovaj programski jezik napisan u Wiringu, ali u stvari ne postoji i da je napisan korištenjem C++ uz manje izmjene.

Šta vam je potrebno da biste započeli sa Arduino IDE?

Za početak će nam trebati sljedeće stvari:

  • Arduino ploče;
  • USB kabel;
  • računar sa Arduino IDE instaliranim na njemu.

Imajući ovaj set, možete početi eksperimentirati s pločama koje imate, snimajući svoje prve skice na njima.

Kako podesiti Arduino na računaru?

Ovo se radi jednostavno. Potrebno je da uradite sledeće:

  • potrebno je da povežete proizvod koji ste sastavili sa svojim računarom pomoću USB kabla;
  • U upravitelju uređaja morate provjeriti na koji port je povezan vaš mikrokontroler. Ako se ne prikazuje ili piše da uređaj nije prepoznat, to znači da niste ispravno instalirali drajver ili je vašoj ploči potrebna dijagnostika;
  • Sljedeći korak je pokretanje našeg Arduino IDE programskog jezika. U meniju morate odabrati karticu Alati. Kada kliknete na njega, otvorit će se lista u kojoj trebate odabrati stavku porta. Tamo trebate odabrati port naveden u upravitelju uređaja;
  • Posljednji korak je odabir ploče koju ćemo koristiti za učitavanje skica.

Bitan! Prilikom povezivanja ploče na drugi USB port, sva podešavanja će morati ponovo da se izvrše.

Uvod u Arduino interfejs

Jedan od glavnih elemenata Arduina je glavni meni programa, koji vam omogućava pristup svim dostupnim funkcijama našeg programa.

Ispod je panel sa ikonama koje prikazuju najčešće korišćene funkcije Arduino IDE:

  • provjeravanje grešaka;
  • kreiranje nove skice;
  • otvaranje prozora porta mikrokontrolera;
  • Sljedeći najvažniji element je kartica projektnih datoteka. Ako je ovo jednostavna skica, tada će postojati samo jedna datoteka. Međutim, složene skice se mogu sastojati od više datoteka. U tom slučaju možete brzo prebaciti prikaz s jedne datoteke na drugu na traci kartica. Veoma je udoban.

    Najveći blok je polje editora za naše skice. Ovdje možemo pogledati i, ako je potrebno, urediti programski kod koji nam je potreban. Implementirano je posebno polje za prikaz sistemskih poruka. Pomoću njega možete provjeriti da li je spremanje ili učitavanje vaše skice bilo uspješno i možete nastaviti na sljedeće korake. U programu postoji i prozor koji prikazuje prisustvo vaše skice tokom kompilacije.

    Kompilacija– pretvaranje izvornog koda jezika visokog nivoa u mašinski kod ili asemblerski jezik.

    Osnovne funkcije programskog jezika

    Pređimo konačno na najosnovnije funkcije Arduino programskog jezika.

    Recimo odmah da sve funkcije možete pronaći na našoj prikladnoj web stranici.

    Tačka i zarez;

    Tačka-zarez mora pratiti svaki izraz napisan u Arduino programskom jeziku. Na primjer:

    Int LEDpin = 9;

    U ovom izrazu dodjeljujemo vrijednost varijabli i primjećujemo tačku i zarez na kraju. Ovo govori kompajleru da ste završili dio koda i da prelazite na sljedeći dio. Tačka i zarez u Arduino kodu odvaja jedan potpuni izraz od drugog.

    Dvostruka obrnuta kosa crta za komentare u jednom redu //

    // Sve što dolazi nakon dvostruke kose crte bit će sivo i program neće čitati

    Komentari su ono što koristite za komentiranje koda. Dobar kod je dobro komentiran. Komentari imaju za cilj da vama, i svima drugima koji bi naišli na vaš kod, kažu o čemu ste razmišljali kada ste ga pisali. Dobar komentar bi bio otprilike ovako:

    // Povežite LED na ovaj Arduino pin int LEDpin = 9;

    Sada, čak i nakon 3 mjeseca kada pogledam ovaj program, znam gdje je LED spojen.

    Kompajler će ignorisati komentare, tako da možete pisati šta god želite. Ako vam je potrebno puno teksta za komentar, možete koristiti komentar u više redaka prikazan ispod:

    /* Višeredni komentar se otvara sa jednom obrnutom kosom crtom praćenom zvjezdicom. Sve što slijedi bit će zasivljeno i ignorirano od strane kompajlera dok ne zatvorite komentar koristeći prvo zvjezdicu, a zatim obrnutu kosu crtu */

    Komentari su slični fusnotama koda, ali su češći od onih koji se nalaze na dnu stranica u knjigama.

    Kovrčave zagrade ( )

    Vitičaste zagrade se koriste za dodavanje instrukcija koje treba izvršiti funkcija (o funkcijama ćemo raspravljati kasnije). Uvek postoji otvorena vitičasta zagrada i zatvorena vitičasta zagrada. Ako zaboravite da zatvorite vitičastu zagradu, kompajler će ispisati kod greške.

    Void loop() ( //ova vitičasta zagrada se otvara //ovdje cool program) //ova vitičasta zagrada se zatvara

    Zapamtite - nijedna vitičasta zagrada ne može ostati nezatvorena!

    funkcije ()

    Sada je vrijeme da razgovaramo o funkcijama. Funkcije su dijelovi koda koji se koriste toliko često da su inkapsulirani u određene ključne riječi tako da ih možete lakše koristiti. Na primjer, funkcija može biti sljedeći skup uputa ako trebate oprati psa:

    1. Uzmi kantu
    2. Napunite ga vodom
    3. Dodajte sapun
    4. Nađi psa
    5. Namažite psa
    6. Operi psa
    7. Isperite psa
    8. Osušite psa
    9. Ostavite kantu na stranu

    Ovaj skup jednostavnih instrukcija može se inkapsulirati u funkciju koju možemo nazvati WashDog. Svaki put kada želimo da izvršimo sve ove instrukcije, jednostavno ukucamo WashDog i voila - sve instrukcije se izvršavaju.

    Arduino ima određene funkcije koje se često koriste u . Kada ih unesete, naziv funkcije će biti narandžasti. Na primjer, funkcija pinMode() je uobičajena funkcija koja se koristi za označavanje Arduino pin moda.

    Što je sa zagradama nakon funkcije pinMode? Mnoge funkcije zahtijevaju argumente. Argument je informacija koju funkcija koristi kada se pokrene. Za našu WashDog funkciju, argumenti mogu biti ime psa i vrsta sapuna, kao i temperatura i veličina kante.

    PinMode(13, IZLAZ); //Postavlja Arduino izlazni mod

    Argument 13 se odnosi na pin 13, a OUTPUT je način u kojem želite da pin radi. Kada unesete ove argumente, u terminologiji se to naziva prosljeđivanje podataka, prosljeđujete potrebne informacije funkcijama. Nisu sve funkcije potrebne argumente, ali otvarajuće i zatvarajuće zagrade ostaju, iako prazne.

    Millis(); // Dobiva vrijeme u milisekundama za koje se Arduino pokreće

    Imajte na umu da je riječ OUTPUT obično plava. Postoje određene ključne riječi u Arduino programskom jeziku koje se često koriste, a plava boja pomaže da se identifikuju. Arduino IDE ih automatski pretvara u plavo.

    void setup()

    Funkcija setup(), kao što ime kaže, koristi se za konfiguraciju Arduino ploče. Arduino izvršava sav kod koji se nalazi između vitičastih zagrada nakon setup() samo jednom. Tipične stvari koje se dešavaju u setup() su, na primjer, postavljanje načina rada na kontakte:

    Void setup() (//kod između vitičastih zagrada se izvršava samo jednom)

    Možda se pitate šta znači void prije funkcije setup(). Void znači da funkcija ne vraća informacije.

    Neke funkcije vraćaju vrijednosti - naša funkcija DogWash može vratiti broj kanti potrebnih za čišćenje psa. Funkcija analogRead() vraća cjelobrojnu vrijednost između 0 i 1023. Ako vam ovo sada izgleda malo čudno, ne brinite jer ćemo pokrivati ​​svaku uobičajenu Arduino funkciju kako se kurs nastavlja.

    Pogledajmo nekoliko stvari koje biste trebali znati o setup():

    1. setup() se pokreće samo jednom;
    2. setup() bi trebala biti prva funkcija u Arduino skici;
    3. setup() mora imati otvarajuće i zatvarajuće vitičaste zagrade.

    void loop()

    Morate voljeti Arduino programere jer su se pobrinuli da nazivi funkcija govore sami za sebe. Kao što ime govori, sav kod između vitičastih zagrada u loop() ponavlja se iznova i iznova, a riječ petlja doslovno znači „petlja“. Funkcija loop() je mjesto gdje će ići tijelo vašeg programa.

    Kao i kod setup(), loop() ne vraća nikakvu vrijednost, pa joj prethodi riječ void.

    Void loop() ( //bilo koji kod koji navedete ovdje se izvršava iznova i iznova)

    Da li vam se čini čudnim da se kod izvodi u jednoj velikoj petlji? Ovaj prividni nedostatak varijacija je iluzija. Većina vašeg koda će imati određene uvjete čekanja koji će pokrenuti nove radnje.

    Postoje li još neki programi koji rade sa Arduinom?

    Pored zvaničnog Arduino IDE-a, postoje programi trećih strana koji nude svoje proizvode za rad sa Arduino baziranim mikrokontrolerima.

    Sličan skup funkcija nam može pružiti program koji se zove Processing. Vrlo je sličan Arduino IDE, jer su oba napravljena na istom motoru. Obrada ima opsežan skup funkcija koje nisu mnogo inferiorne u odnosu na originalni program. Uz pomoć serijske biblioteke za preuzimanje, korisnik može uspostaviti vezu između prijenosa podataka koje ploča i Processing međusobno prenose.U tom slučaju možemo natjerati ploču da izvršava programe direktno sa našeg PC-a.

    Postoji još jedna zanimljiva verzija originalnog programa. Zove se B4R, a njegova glavna razlika je u tome što ne koristi jezik C kao osnovu, već drugi programski jezik - Basic. Ovaj softverski proizvod je besplatan. Postoje dobri tutorijali za rad s njim, uključujući i one koje su napisali kreatori ovog proizvoda.

    Postoje i plaćene opcije za Arduino IDE. Jedan od njih je program PROGROMINO. Njegova glavna prednost je mogućnost kompletiranja koda. Prilikom sastavljanja programa više nećete morati tražiti informacije u referentnim knjigama. Sam program će vam ponuditi moguće opcije za korištenje određene procedure. Njegov set uključuje još mnogo zanimljivih funkcija koje nedostaju u originalnom programu i mogu vam olakšati rad sa pločama.

    Arduino konkurenti

    Ovo tržište za proizvodnju mikrokontrolera za kreiranje raznih elektronskih kola i robotike ima brojne obožavatelje širom svijeta. Ovakva situacija doprinosi pojavi na tržištu ne samo konkurenata koji nude slične proizvode. Osim njih, proizvodi se značajan broj falsifikata različitog kvaliteta. Neke je vrlo teško razlikovati od originala, jer su identične kvalitete, druge imaju vrlo loše karakteristike i možda uopće neće raditi s originalnim proizvodima.

    Postoje čak i Arduino ploče koje podržavaju mikroprocesore koji koriste JavaScript interpretatore. Oni su relevantni, prije svega, za one koji žele koristiti jezik Java umjesto C. Na kraju krajeva, jednostavnije je i omogućava vam postizanje rezultata većom brzinom. Međutim, ove ploče su skuplje u odnosu na Arduino, što je značajan nedostatak.

    Ako tražite hobi i zanima vas polje kao što je elektrotehnika, možete sigurno odabrati Arduino za ovo. Ovaj hobi ima mnogo prednosti. Intelektualno ćete se razvijati, jer će ova aktivnost zahtijevati znanje iz različitih oblasti.

    Osim zabave, vaš hobi će vam pomoći da kreirate mnoštvo korisnih proizvoda kojima možete olakšati svakodnevni život. Svaki put ćete pronaći sve više i više novih načina da iskoristite svoju strast.

    Savladavanje ove aktivnosti neće biti tako teško, zahvaljujući dostupnosti velikog broja udžbenika i tutorijala. U budućnosti ćete širom svijeta pronaći mnoge istomišljenike koji će podijeliti svoje znanje s vama i dati vam poticaj za nove eksperimente!

    " predstavlja kurs obuke "Arduino za početnike". Serija se sastoji od 10 lekcija, kao i dodatnog materijala. Lekcije uključuju tekstualne upute, fotografije i video zapise s uputama. U svakoj lekciji naći ćete listu potrebnih komponenti, listu programa i dijagram povezivanja. Nakon što završite ovih 10 osnovnih lekcija, moći ćete prijeći na zanimljivije modele i izgradnju robota baziranih na Arduinu. Kurs je namijenjen početnicima, za početak nisu potrebne dodatne informacije iz elektrotehnike ili robotike.

    Kratke informacije o Arduinu

    Šta je Arduino?

    Arduino (Arduino) je hardverska računarska platforma, čije su glavne komponente ulazno-izlazna ploča i razvojno okruženje. Arduino se može koristiti za kreiranje samostalnih interaktivnih objekata ili povezivanje sa softverom koji radi na računaru. Arduino je računar sa jednom pločom.

    Kako su Arduino i roboti povezani?

    Odgovor je vrlo jednostavan - Arduino se često koristi kao robotski mozak.

    Prednost Arduino ploča u odnosu na slične platforme je njihova relativno niska cijena i gotovo široka distribucija među amaterima i profesionalcima u robotici i elektrotehnici. Jednom kada uđete u Arduino, naći ćete podršku na bilo kojem jeziku i istomišljenike koji će odgovarati na vaša pitanja i razgovarati o vašem razvoju.

    Lekcija 1. Treperi LED na Arduinu

    U prvoj lekciji naučit ćete kako spojiti LED na Arduino i kontrolirati ga da treperi. Ovo je najjednostavniji i najosnovniji model.

    Dioda koja emituje svetlost- poluvodički uređaj koji stvara optičko zračenje kada se električna struja propušta kroz njega u smjeru naprijed.

    Lekcija 2. Povezivanje dugmeta na Arduinu

    U ovom vodiču ćete naučiti kako spojiti dugme i LED diodu na Arduino.

    Kada se dugme pritisne, LED će se upaliti; kada se dugme pritisne, neće se upaliti. Ovo je ujedno i osnovni model.

    Lekcija 3. Povezivanje potenciometra na Arduino

    U ovom vodiču ćete naučiti kako spojiti potenciometar na Arduino.

    Potenciometar- Ovo otpornik sa podesivim otporom.Potenciometri se koriste kao regulatori različitih parametara - jačine zvuka, snage, napona itd.Ovo je također jedna od osnovnih shema. U našem modelu od okretanja dugmeta potenciometraOsvetljenost LED-a će zavisiti.

    Lekcija 4. Servo kontrola na Arduinu

    U ovom vodiču ćete naučiti kako spojiti servo na Arduino.

    Servoje motor čiji se položaj osovine može kontrolisati podešavanjem ugla rotacije.

    Servo se koriste za simulaciju različitih mehaničkih pokreta robota.

    Lekcija 5. Trobojna LED dioda na Arduinu

    U ovom vodiču ćete naučiti kako spojiti trobojni LED na Arduino.

    Trobojna LED(rgb led) - ovo su tri LED diode različitih boja u jednom kućištu. Dolaze sa malom štampanom pločom na kojoj se nalaze otpornici ili bez ugrađenih otpornika. Lekcija pokriva obe opcije.

    Lekcija 6. Piezoelektrični element na Arduinu

    U ovoj lekciji ćete naučiti kako spojiti piezo element na Arduino.

    Piezo element- elektromehanički pretvarač koji prevodi električni napon u vibracije membrane. Ove vibracije stvaraju zvuk.

    U našem modelu, frekvencija zvuka se može podesiti postavljanjem odgovarajućih parametara u programu.

    Lekcija 7. Fotootpornik na Arduinu

    U ovoj lekciji našeg tečaja naučit ćete kako spojiti fotootpornik na Arduino.

    Fotootpornik- otpornik čiji otpor zavisi od jačine svetlosti koja pada na njega.

    U našem modelu LED svijetli samo ako je jačina svjetla iznad fotootpornika manja od određene; ova svjetlina se može podesiti u programu.

    Lekcija 8. Senzor pokreta (PIR) na Arduinu. Automatsko slanje e-pošte

    U ovoj lekciji našeg kursa naučićete kako da povežete senzor pokreta (PIR) na Arduino, kao i da organizujete automatsko slanje e-pošte.

    Senzor pokreta (PIR)- infracrveni senzor za detekciju kretanja ili prisutnosti ljudi ili životinja.

    U našem modelu, kada primi signal o ljudskom kretanju od PIR senzora, Arduino šalje naredbu kompjuteru da pošalje e-mail i pismo se šalje automatski.

    Lekcija 9. Povezivanje senzora temperature i vlažnosti DHT11 ili DHT22

    U ovoj našoj lekciji naučit ćete kako spojiti DHT11 ili DHT22 senzor temperature i vlažnosti na Arduino, a također ćete se upoznati s razlikama u njihovim karakteristikama.

    Senzor temperature i vlage je kompozitni digitalni senzor koji se sastoji od kapacitivnog senzora vlažnosti i termistora za mjerenje temperature.

    U našem modelu, Arduino čita očitanja senzora i prikazuje očitanja na ekranu računara.

    Lekcija 10. Povezivanje matrične tastature

    U ovoj lekciji našeg tečaja naučit ćete kako spojiti matričnu tipkovnicu na Arduino ploču, a također ćete se upoznati s raznim zanimljivim krugovima.

    Matrična tastatura izumljen da pojednostavi povezivanje velikog broja dugmadi. Takvi uređaji se nalaze posvuda - u kompjuterskim tastaturama, kalkulatorima i tako dalje.

    Lekcija 11. Povezivanje DS3231 modula sata realnog vremena

    U poslednjoj lekciji našeg kursa naučićete kako da povežete modul sata realnog vremena iz porodice
    DS na Arduino ploču, a također se upoznajte sa raznim zanimljivim krugovima.

    Modul sata realnog vremena- ovo je elektronsko kolo dizajnirano za snimanje hronometrijskih podataka (trenutno vrijeme, datum, dan u sedmici, itd.), a predstavlja sistem koji se sastoji od autonomnog izvora napajanja i uređaja za snimanje.

    Aplikacija. Gotovi okviri i Arduino roboti


    Arduino možete početi učiti ne samo sa same ploče, već i kupovinom gotovog, punopravnog robota baziranog na ovoj ploči - robota pauka, robotskog automobila, robota kornjače itd. Takve način Pogodan je i za one koje ne privlače posebno električna kola.

    Kupovinom radnog modela robota, tj. zapravo, gotova igračka visoke tehnologije može probuditi zanimanje za neovisni dizajn i robotiku. Otvorenost Arduino platforme omogućava vam da napravite nove igračke od istih komponenti.

    Druga opcija je kupovina okvira ili tijela robota: platforma na kotačima ili gusjenica, humanoid, pauk itd. U tom slučaju ćete morati sami obaviti punjenje robota.

    Aplikacija. Mobilni imenik


    – pomoćnik za programere algoritama za Arduino platformu, čija je svrha dati krajnjem korisniku mogućnost mobilnog skupa komandi (referenca).

    Aplikacija se sastoji od 3 glavna dijela:

    • Operateri;
    • Podaci;
    • Funkcije.

    Gdje kupiti Arduino


    Arduino kompleti

    Kurs će biti ažuriran dodatnim časovima. Prati nas

    Istorijski gledano, Arduino softverski dio se sastojao od integriranog softverskog okruženja (IDE) koje vam je omogućilo pisanje, kompajliranje i otpremanje pisanog koda na hardver. Okruženje ArduinoIDE i sam jezik Wiring bazirani su prvenstveno na Processingu, a indirektno na C/C++. U stvari, Arduino IDE je velika mešavina, ne za zabavu, već za praktičnost.

    Čak i spolja iArduinoIDE iObrada je slična


    Od čega se sastoji program (skica)?
    Svaki program, ma koliko se činio složenim, sastoji se od zasebnih setova blokovi kod, koji je označen vitičastim zagradama (). Minimalni program zahtijeva samo 2 bloka: postavljanje i petlju. Njihovo prisustvo je obavezno u bilo kom C++ programu za Arduino, inače možete dobiti grešku u fazi kompilacije.
    void setup() ( ) void loop() ( )
    U funkciji setup() dolazi do početnih postavki varijabli i registara. Nakon što setup() završi, kontrola prelazi na funkciju loop(), koja je beskonačna petlja zapisana u tijelu (između ()). Ove naredbe izvode sve algoritamske radnje kontrolera.

    hardver"zdravo, svijetu! - treperi LED.
    Ono što počinje prvo upoznavanje sa Arduinom na interfejsu softvera i hardvera je trepereća LED lampica.


    Prvo morate dopuniti minimalni program. Za Arduino (na primjer UNO), povezujemo LED na pin 12 i GND (boja same LED diode bira se prema ličnim željama).

    Void setup() ( pinMode(12, OUTPUT); ) void loop() ( digitalWrite(12, HIGH); kašnjenje (100); digitalWrite(12, LOW); kašnjenje (900); )
    Učinite Ctrl+C -> Ctrl+V, kompajlirajte, učitajte, kontrolirajte. Vidimo svjetlosnu predstavu koja ne traje duže od sekunde. Hajde da shvatimo zašto se to dešava.

    Dodali smo nekoliko prethodno praznih blokova izrazi . Postavljeni su između vitičastih zagrada funkcija podešavanja i petlje.
    Svaki izraz je instrukcija za procesor. Izrazi unutar jednog bloka se izvršavaju jedan za drugim, strogo po redu, bez ikakvih pauza ili prebacivanja. Odnosno, ako govorimo o jednom specifičnom bloku koda, može se čitati od vrha do dna da bi se razumjelo šta se radi.

    Šta se dešava između{ } ?
    Kao što znate, Arduino pinovi mogu raditi i kao izlaz i kao ulaz. Kada želimo nešto kontrolirati, moramo prebaciti kontrolni pin u izlazno stanje. To se radi izrazom u funkciji postaviti:
    pinMode(12, IZLAZ); U ovoj situaciji, izraz se ostvaruje poziv funkcije . U pinModeu, pin specificiran brojem je postavljen na specificirani način rada (INPUT ili OUTPUT). O kojem pinu i o kojem modu je riječ označeno je u zagradama, odvojeno zarezima. U našem slučaju, želimo da 12. pin djeluje kao izlaz. OUTPUT znači izlaz, INPUT znači ulaz. Pozivaju se kvalifikacione vrijednosti kao što su 12 i OUTPUT argumenti funkcije . Koliko argumenata ima funkcija zavisi od prirode funkcije i volje njenog kreatora. Funkcije ne mogu imati nikakve argumente, kao što je slučaj sa podešavanjem i petljom.

    Zatim prelazimo na blok petlje, redom:
    -pozovite ugrađenu funkciju digitalWrite. Dizajniran je za primjenu logičke nule (LOW, 0 volti) ili logičke jedinice (HIGH, 5 volti) na dati pin.Dva argumenta se prosljeđuju funkciji digitalWrite: broj pina i logička vrijednost.
    - pozvati funkciju odgode. Ovo je, opet, ugrađena funkcija koja uzrokuje da procesor "spava" određeno vrijeme. Potreban je samo jedan argument: vrijeme u milisekundama za spavanje. U našem slučaju to je 100 ms. Čim istekne 100 ms, procesor se budi i odmah prelazi na sljedeći izraz.
    - pozvati ugrađenu funkciju digitalWrite. Samo ovaj put drugi argument je LOW. Odnosno, postavili smo logičku nulu na 12. pin -> primijeniti 0 volti -> isključiti LED.
    - pozivanje funkcije odgode. Ovog puta „spavamo“ malo duže – 900 ms.

    Čim se izvrši posljednja funkcija, blok petlje se završava i sve se ponavlja iznova. Zapravo, uvjeti prikazani u primjeru su prilično promjenjivi, a možete se poigrati s vrijednostima kašnjenja, spojiti nekoliko LED dioda i napraviti nešto poput semafora ili policijskog bljeskalice (sve ovisi o mašti i volji kreatora).

    Umjesto zaključka, malo o čistoći.
    Zapravo, svi razmaci, prijelomi redova, tabulatori ne znače mnogo kompajleru. Tamo gdje postoji razmak, može doći do prijeloma reda i obrnuto. U stvari, 10 razmaka u nizu, 2 prijeloma reda i još 5 razmaka ekvivalentno je jednom razmaku.


    Uz pomoć praznog prostora, program možete učiniti razumljivim i vizualnim, ili, naprotiv, unakaziti ga do neprepoznatljivosti. Na primjer, primjer programa može se promijeniti ovako:

    void setup() ( pinMode(12, OUTPUT); ) void loop () ( digitalWrite(12,HIGH); kašnjenje (100); digitalWrite(12,LOW); kašnjenje (900); )

    Kako biste spriječili da neko krvari iz očiju dok čitate, možete slijediti nekoliko jednostavnih pravila:


    1. Uvijek, na početku novog bloka između( i ) povećati udubljenje. Obično se koriste 2 ili 4 razmaka. Odaberite jednu od vrijednosti i držite je se cijelo vrijeme.

    Void loop() ( digitalWrite(12, HIGH); kašnjenje (100); digitalWrite(12, LOW); kašnjenje (900); )
    2. Kao u običnom jeziku: stavite razmak iza zareza.

    digitalWrite(12, HIGH);
    3. Postavite znak za početak bloka (na novi red na trenutnom nivou uvlačenja ili na kraj prethodnog. I znak za kraj bloka) u poseban red na trenutnom nivou uvlačenja:

    void setup() ( pinMode(12, OUTPUT); ) void setup() ( pinMode(12, OUTPUT); )
    4. Koristite prazne redove da odvojite blokove značenja:

    void loop() ( digitalWrite(12, HIGH); kašnjenje (100); digitalWrite(12, LOW); kašnjenje (900); digitalWrite(12, HIGH); kašnjenje (100); digitalWrite(12, LOW); kašnjenje( 900);)
    5. Kako bi vaše dijete uživalo u čitanju, postoje tzv. komentari. To su konstrukcije u programskom kodu koje kompajler potpuno ignoriše i bitne su samo osobi koja ih čita. Komentari mogu biti višeredni ili jednoredni:

    /* ovo je višeredni komentar */ // ovo je komentar u jednom redu

    Najbolji članci na ovu temu