Programiranje arduino Uno za početnike. Arduino programiranje. Što možete prikupiti

Uvod

FreeTino / Arduino je programiran u posebnom programskom jeziku - temelji se na C / C ++ i omogućuje vam da koristite bilo kakve funkcije. Strogo govoreći, poseban arduino jezik ne postoji, jer ne postoji Arduino kompilator - pisani programi se pretvaraju (uz minimalne promjene) na program C / C ++, a zatim sastavljeni od strane AVR-GCC kompilatora. Tako se zapravo koristi specijalizirana za AVR mikrokontroleri AVR varijanta C / C ++.

Razlika leži u činjenici da dobijete jednostavno razvojno okruženje i skup osnovnih knjižnica koje pojednostavljuju pristup perifernom mikrokontroleru koji se nalazi "na brodu".

Slažem se, vrlo je zgodno početi raditi s serijskim lukom brzinom od 9600 bitova u sekundi, čineći poziv na jednu liniju:

Serial.begin (9600);

I kada koristite "goli" C / C ++, morat ćete se nositi s dokumentacijom za mikrokontroler i uzrokovati nešto slično:

UbrR0H \u003d ((F_CPU / 16 + 9600/2) / 9600 - 1) \u003e\u003e 8;
UbrR0L \u003d ((F_CPU / 16 + 9600/2) / 9600 - 1);
SBI (UCSR0B, RXEN0);
SBI (UCSR0B, TXEN0);
SBI (UCSR0B, RXCIE0);

Ovdje je ukratko pregledao glavne funkcije i značajke programa Arduino. Ako niste upoznati s C / C ++ sintaksom, savjetujemo vam da se odnose na bilo koju literaturu o ovom pitanju ili internetskih izvora.

S druge strane, svi prikazani primjeri su vrlo jednostavni, a najvjerojatnije nećete imati poteškoća s razumijevanjem izvornih tekstova i pisanje vlastitih programa čak i bez čitanja dodatne literature.

Više potpuni dokumentacija (na engleskom) prikazuje se na službenoj web stranici projekta - http://www.arduino.cc. Tu je i forum, linkovi na dodatne knjižnice i njihov opis.

Po analogiji s opisom na službenoj internetskoj stranici Arduino projekta, pod "lukom" shvaća se kao kontakt mikrokontrolera, izveden iz priključka pod odgovarajućim brojem. Osim toga, postoji serijski podatkovni priključak (COM port).

Struktura programa

U vašem programu morate proglasiti dvije osnovne funkcije: postavke () i petlje ().

Funkcija SETUP () se ne zove jednom nakon svake napajanja ili FreeTino ploča ispuštena. Koristite ga za inicijalizaciju varijabli, postavite načine rada digitalnih portova itd.

Funkcija petlje () uzastopno ponovno izvršava naredbe koje su opisane u njegovom tijelu. Oni. Nakon završetka funkcije, to će ga ponovno nazvati.

Mi ćemo analizirati jednostavan primjer:

vOID SETUP () // Početne postavke
{
Početni (9600); // postavljanje brzine serijskog porta na 9600 bitova / s
Pinmode (3, ulaz); // postavljanje 3. porta za unos podataka
}

// Program provjerava 3. port za signal na njemu i šalje odgovor na
// obrazac za tekstualnu poruku na računalo serijskog porta
praznina () // tijelo tijela
{
ako (digitalno (3) \u003d\u003d visoke) // uvjet za pregled 3. porta
Serialwrite ("H"); // Slanje poruke u obliku slova "N" na COM portu
DRUGO.
Serialwrite ("l"); // Slanje poruke u obliku slova "L" na COM portu
Kašnjenje (1000); // kašnjenje 1 sek.
}

pinmode (port, način rada);

Opis:

Konfigurira navedeni priključak za unos ili izlaz signala.

Parametri:

port je broj porta, način na koji želite postaviti (vrijednost cijelog tipa od 0 do 13).

ili ulazni način ili izlaz (izlaz).

pinmode (13, izlaz); // 13. izlaz će biti izlaz
Pinmode (12, ulaz); // 12 - ulaz

Bilješka:

Analogni ulazi mogu se koristiti kao digitalni ulazi / izlazi kada im pristupaju brojevima od 14 (analogni ulaz 0) do 19 (analogni ulaz 5)

digitalni pisac (port, vrijednost);

Opis:

Postavlja visoku (visoku) ili nisku (nisku) naponsku razinu u navedenom priključkom.

Parametri:

port: Broj porta

vrijednost: visoka ili niska

digitalni pisac (13, visok); // postavite 13. zaključak u "visokom" stanju

vrijednost \u003d digitalni sloj;

Opis:

Čita vrijednost na navedenom priključku

Parametri:

port: Intervjuirani port

Vrijednost povratka: Vraća trenutnu vrijednost u priključak (visoki ili nizak) tip

int val;
Val \u003d digitalni sloj (12); // ljubazno 12 izlaz

Bilješka:

Ako ništa nije spojeno na priključak za čitanje, funkcija Digitalread () može slučajno vratiti vrijednosti visoke ili niske.

Analogni ulaz / izlaz

vrijednost \u003d analno;

Opis:

Čita vrijednost iz navedenog analognog priključka. FreeTino sadrži 6 kanala, analogno-digitalni pretvarač za 10 bita svaki. To znači da se ulazni napon od 0 do 5V pretvara u cijeli broj od 0 do 1023. Rezolucija očitanja je: 5 V / 1024 vrijednosti \u003d 0.004883 v / vrijednost (4,883 mV). Potrebna je približno 100 NS (0.0001 c) za čitanje vrijednosti analognog ulaza, tako da je maksimalna brzina čitanja oko 10.000 puta u sekundi.

Parametri:

Vrijednost povratka: vraća broj tipa int u rasponu od 0 do 1023, čitati iz navedenog porta.

int val;
Val \u003d analno (0); // Pročitajte vrijednost na analogni ulaz 0M

Bilješka:

Zadani analogni priključci su definirani na ulazu signala i za razliku od digitalnih priključaka, ne moraju biti konfigurirani pozivom na Pinmode funkciju.

analogpis (luka, vrijednost);

Opis:

Prikazuje analognu vrijednost u priključak. Ova značajka radi na: 3, 5, 6, 9, 10, 10 i 11 FreeTino digitalnih luka.

Može se koristiti za promjenu svjetline LED-a, za kontrolu motora itd. Nakon pozivanja funkcije analogrite, odgovarajući priključak počinje raditi u načinu rada modulacijskog napona i impuls dok sljedeći poziv je funkcija analogrite (ili DigitalDead / DigitalWrite funkcije na istom portu).

Parametri:

port: Broj ispitanog analognog ulaza

vrijednost: interno između 0 i 255. vrijednost 0 generira 0 u navedenom portu; Vrijednost 255 generira +5 V na navedenom priključku. Za vrijednosti između 0 i 255, luka počinje brzo izmjenjivati \u200b\u200brazinu napona 0 i +5 V - što je viša vrijednost, češće priključak generira visoku razinu (5 V).

analogrite (9, 128); // postavite vrijednost vrijednosti ekvivalentne 2.5V

Bilješka:

Nema potrebe za pozivanjem PINMODE Funkcije da biste postavili signalni izlazni priključak prije pozivanja funkcije analogrite.

Frekvencija generiranja signala je približno 490 Hz.

vrijeme \u003d milis ();

Opis:

Vraća broj milisekundi od izvršenja Freetuino Trenutni program. Brojač će se prelijevati i resetirati na oko 9 sati.

VRIJEDNOST POVRATAK: Vraća vrijednost nepotpisane

nepotpisana dugo vremena; // najava varijabilne vremenske vrste nepotpisana dugo
Vrijeme \u003d milis (); // Prijenos broja milisekundi

kašnjenje (time_ms);

Opis:

Natkriven program određenog broja milisekundi.

Parametri:

time_ms - vrijeme odgode u milisekundima

kašnjenje (1000); // pauza 1 sekunde

kantagemkrosekunda.

dršenjeMikrosekunda (time_mx);

Opis:

Suspendira program na određeni broj mikrosekundi.

Parametri:

time_mks - Vrijeme odgode programa u mikrosekundi

dETALJMICROSECONDS (500); // pauza 500 mikrosekundi

pulsein (luka, vrijednost);

Opis:

Čita puls (visokog ili niskog) C digitalnog porta i vraća trajanje impulsa u mikrosekundi.

Na primjer, ako je parametar "vrijednosti" kada se funkcija nazva visoka, pulsein () očekuje kada će priključak dobiti visoku razinu signala. Od trenutka primitka počinje odbrojavanje dok niska razina signala ne stigne u luku. Funkcija vraća duljinu impulsa (visoku razinu) u mikrosekundi. Radi s impulsima od 10 mikrosekundi do 3 minute. Imajte na umu da ova značajka neće vratiti rezultat dok se ne otkrije puls.

Parametri:

port: Broj porta iz kojeg čitate impuls

vrijednost: visoki ili nizak tip impulsa

Vrijednost povratka: Vraća trajanje impulsa u mikrosekundi (tip int)

int trajanje; // najava trajanja int trajanja
Trajanje \u003d pulsein (PIN, visok); // izmjeriti trajanje impulsa

Sekvencijalni prijenos podataka

FreeTino ima ugrađeni kontroler za serijski prijenos podataka, koji se može koristiti i za komunikaciju između FreeTino / Arduino uređaja, te za komunikaciju s računalom. Na računalu, odgovarajući spoj je predstavljen USB COM port.

Komunikacija se događa na digitalnim portovima 0 i 1, te da ih ne možete koristiti za digitalne i / o ako koristite serijske funkcije prijenosa podataka.

Serial.begin (Speed_start);

Opis:

Postavlja brzinu prijenosa podataka COM porta u sekundi za sekvencijalni prijenos podataka. Kako biste ostali u kontaktu s računalom, koristite jednu od ovih normaliziranih brzina: 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, ili 115200. Također možete definirati i druge brzine prilikom komunikacije s drugom mikrokontroler po priključcima 0 i 1.

Parametri:

početna brzina: brzina protoka podataka u bitovima u sekundi.

Serial.begin (9600); // instalirajte brzinu od 9600 bitova / s

Serijski.Avadible

count \u003d serijski.Available ();

Opis:

Bytes primljeni preko serijskog porta Unesite tampon mikrokontrolera, gdje ih može računati vaš program. Funkcija vraća broj akumuliranog pufera bajte. Serijski tampon može pohraniti do 128 bajtova.

Povratna vrijednost:

Vraća vrijednost tipa Int - broj bajtova dostupnih za čitanje, u serijskom puferu ili 0, ako ništa nije dostupan.

ako (serijski.AvaAlailable ()\u003e 0) (// ako je međuspremnik podataka
// ovdje mora biti primanje i obradu podataka
}

char \u003d serijski.Read ();

Opis:

Čita sljedeći bajt iz međuspremnika serijskog luka.

Povratna vrijednost:

Prvi dostupni bajt dolaznih podataka iz serijskog porta ili -1 ako nema dolaznih podataka.

incomingbyte \u003d serial.read (); // Pročitajte bajt

Opis:

Obriši ulazni ulazni pufer priključaka. Puferirani podaci su izgubljeni i daljnjim pozivima serial.Read () ili serijski.Avoilable () ima smisla za podatke dobivene nakon pozivanja serial.flush ().

Serial.flush (); // očistiti tampon - početi primati podatke "iz čiste liste"

Opis:

Izlaz podataka u serijski priključak.

Parametri:

Funkcija ima nekoliko obrazaca poziva ovisno o vrsti i formatu izlaznih podataka.

Serial.print (b, Dec) prikazuje ASCII niz - decimalni prikaz broja B.

int b \u003d 79;

Serial.print (B, Hex) prikazuje ASCII niz - heksadecimalni prikaz broja b.

int b \u003d 79;

Serial.print (b, okt) prikazuje ASCII niz - oktalni prikaz broja B.

int b \u003d 79;
Serial.print (b, okt); // će dati liniju "117"

Serial.print (B, BIN) prikazuje ASCII red - binarni prikaz broja B.

int b \u003d 79;
Serial.print (B, bin); // će dati liniju u luci "1001111"

Serial.print (b, bajt) prikazuje mlađi bajt broja b.

int b \u003d 79;
Serial.print (b, bajt); // će izlaz 79 (jedan bajt). U monitoru
// serijski port dobiti simbol "O" - to
// kod je 79

Serial.print (Str) Ako je Str niz ili niz znakova, raspršivači str do COM porta.

char bytes \u003d (79, 80, 81); // niz od 3 bajta s vrijednostima 79,80,81
Serial.print ("ovdje naši bajtovi:"); // prikazuje niz "ovdje naši bajtovi:"
Serial.print (bajtovi); // prikazuje 3 znaka s kodovima 79,80,81 -
// to su "OPQ" znakovi

Serial.print (b) ako B ima tip bajte ili char, prikazuje broj B.

char b \u003d 79;
Serial.print (b); // će dati simbol "O"

Serial.print (b) ako B ima cijeli tip, prikazuje decimalni prikaz broja b.

int b \u003d 79;
Serial.print (b); // dat će liniju "79"

Opis:

Značajka serial.Println je slična serial.Print funkciji i ima iste mogućnosti poziva. Jedina razlika je u tome što se nakon podaci dodatno prikazuju dva znaka - simbol povratka prijevoza (ASCII 13 ili "R") i novi simbol linije (ASCII 10 ili "n").

Primjer 1 i Primjer 2 će isto donijeti na priključak:

int b \u003d 79;
Serial.print (B, dec); // dat će liniju "79"
Serial.print ("r"); // prikazuje znakove "r" - prijevod linije
Serial.print (b, hex); // će dati liniju "4f"
Serial.print ("R n"); // povlači znakove "r" - prijevod niza

int b \u003d 79;
Serial.println (B, dec); // će dati liniju "79 r"
Serial.println (b, hex); // će dati liniju "4f r"

U monitoru serijskog porta dobivamo.

U posljednjih nekoliko godina, programski krugovi i robotici su postali iznimno popularni i dostupni čak i za učenike osnovnih škola. To je bilo moguće zbog korištenja grafičkih programskih okruženja, koje treba napomenuti, aktivno koriste velike tvrtke. Da bismo ispričali o grafičkim programskim okruženjima, odabrali smo tri najpopularnije.

Vizuino.

Vizuino je slobodno grafičko okruženje koje radi na temelju kompatibilnih s kontrolerima Arduino Industrial kontrolera (PLC). To omogućuje stvaranje složenih sustava automatizacije i IOT rješenja (Internet stvari, Internet stvari), a to se može učiniti, jednostavno kretanje i povezivanje vizualnih blokova. Softversko okruženje automatski generira kod za industrijske kontrolere.

Pa što treba učiniti. Odaberite komponente (module) s panela komponenti i premjestite ih na područje dizajna. Tada moraju biti povezani i konfigurirani svojstva. To se radi uz pomoć inspektora objekta.

Prednosti Visuana uključuju veliki skup komponenti za matematičke i logičke funkcije, servos, prikazuje, internet itd.

Kada je PLC programiran, grafičko okruženje sugerira dostupni način povezivanja s kontrolerom. To može biti serijski port, Ethernet, Wi-Fi ili GSM.

Konačno je vaš projekt spreman: svi kontrolori su registrirani, sve radi. Sada, klikom na logotip Arduino, koji se nalazi na gornjoj ploči, prisilit ćete Visuano stvoriti kodove za arduino i otvoriti Arduino IDE, kroz koji je kod već može biti sastavljen i preuzmite ga na PLC.

Vijeće. Ako instalirana ploča ne odgovara vašem Arduinu, možete je promijeniti pomoću naredbe za odabir.

Ogrepsti.

Ovo grafičko programsko okruženje nastalo je 2003. godine, kada je skupina osoblja MIT Media Laboratorija odlučilo razviti programski jezik koji je dostupno apsolutno za svakoga. Kao rezultat toga, nakon nekog vremena, javnost je zastupala ogrebotina.

Najviše od svega, možda izgleda kao Lego. Barem je načelo isto: ovo je objektno orijentirano okruženje u kojem se programi prikupljaju iz dijelova, raznobojan i svijetli. Ovi detalji mogu se premjestiti, mijenjati, prisiliti na interakciju na drugačiji način. Scratch Base - naredbeni blokovi, kao što su senzori, varijable, pokret, zvuk, operateri, izgled, olovka, kontrola, itd. Ugrađeni grafički urednik omogućuje vam da nacrtate bilo koji objekt. Nije bilo pet godina od stvaranja ogrebotine, kao što je projekt ogrebotine nastao za Arduino (skraćeno - S4a), koji omogućuje programiranje Arduino dd.

Prednosti sustava uključuju činjenicu da je Rusicificirana i potpuno lokalizirana - svatko će pronaći mnogo podataka o tome. Osim toga, rad u ovoj grafici dostupan je čak i za školske djece mlađih razreda, koji se ne čitaju previše pouzdano.

Vijeće. Za početnike u ogrebotinu postoji poseban resurs: https://scratch-ru.info.

Ardubloks

Kada je osoba već ovladala ogrebotina, ali ne i doros do ožičenja, na kojima su arduino-kompatibilne kartice programirane, vrijeme je da ga savjetujemo napisano na Java alatu Ardublok. On je posebno dobar za one koji su zainteresirani za robotiku.

Koja je razlika? Činjenica je da ispočetka ne zna kako bljeskati Arduino, samo kontrolira svoj PLC putem USB-a. Dakle, Arduino ne može samo po sebi, jer ovisi o računalu.

U biti, Ardublox je srednja faza između dječje ogrebotine i prilično profesionalno, iako vizuino, od istog kao i potonji, ima sposobnost bljeskanja kontrolera Arduino-kompatibilnih.

Vijeće.Ne zaboravite instalirati Java stroj na računalo. Ne treba mnogo vremena.

Dakle, više grafičkih okruženja je dobro i drugačije. Neka Arduino bude s vama.

FOTO: Proizvođači, Pixabay.com

Ardublock je grafički programski jezik za arduino, dizajniran za početnike. Ovo okruženje je vrlo jednostavan za korištenje, lako je instalirati, gotovo je potpuno preveden na ruski. Vizualno konstruirani program nalik blokovima ...

Prekid je vrlo važan arduino mehanizam koji omogućuje vanjski uređaji za interakciju s kontrolerom kada se pojave različite događaje. Instaliranjem Hardvera prekidača u skicu, moći ćemo odgovoriti na uključivanje ili isključivanje gumba, pritiskom na tipkovnicu, ...

Serial.print () i serial.println () su osnovne funkcije Arduina za prijenos informacija iz Arduino ploče na računalo kroz serijski port. Na najpopularnijem Arduino Uno, mega, nano ploče, ne postoji ugrađeni zaslon, pa ...

Je li moguće sudjelovati u Arduino projektima bez Arduino naknade? Ispada, sasvim. Zahvaljujući brojnim online uslugama i programima koji imaju svoje ime: Arduino emulator ili simulator. Najpopularniji predstavnici takvih programa su ...

Serial Početak je iznimno važan arduino instrukcije, omogućuje vam da uspostavite kontrolne veze s vanjskim uređajima. Najčešće se ispostavlja da je ovaj "vanjski uređaj" računalo na koje se povezujemo Arduino. Dakle, serijski početak je intenzivan ...

Globalna varijabla u Arduinu je varijabla, čiji se opseg odnosi na cijeli program, može se vidjeti u svim modulima i funkcijama. U ovom članku ćemo pogledati na nekoliko primjera korištenja globalnih varijabli, ...

Arduino nizovi su jezični element koji se aktivno koriste programeri za rad s skupovima iste vrste podataka. Nizovi su gotovo u svim programskim jezicima, a ne iznimku od Arduina, čija je sintaksa vrlo slična ...

Povijesno gledano, tako se dogodilo da se Arduino softverski dio sastoji od integriranog softverskih okruženja (IDE) koji vam omogućuje pisanje, sastavljanje, kao i preuzimanje pismenog koda u hardver. Arduinoide vjerodajnice, a jezik sam ožičenja temelji se, prije svega, na obradi, neizravno na c / c ++. U biti, Arduino Ide je veliki kolektivni slanijan, a ne smijeh i sadržaji za.

Čak i izvana I.Arduino.Ide I.Obrada su slična


Koji je program (skica)?
Svaki program, koji se kompleks ne čini da se sastoji od odvojenih skupova blokovi Kod koji je označen za nosače (). Minimalni program zahtijeva samo 2 bloka: postavljanje i petlju. Njihova prisutnost je nužno u bilo kojem programu na C ++ za Arduino, inače je moguće dobiti pogrešku u fazi kompilacije.
VOID SETUP () () praznina () () ()
U funkciji postavke (), pojavljuju se početne postavke varijabli, registri. Nakon završetka postavljanja (), kontrolu se nastavlja na funkciju petlje (), koja je beskonačna petlja zabilježena u tijelu (između ()). To su ove naredbe koje čine sve algoritamske akcije kontrolera.

Hardver "Zdravo., svijet! " - Trepće LED.
Ono što počinje s prvim poznanstvom s Arduinom na spoju softvera i hardveru treperi LED.


Prvo je potrebno dopuniti minimalni program. Arduino (na primjer, UNO), do 12 PIN i GND spojite LED (boja same LED odabrana je iz osobnih preferencija).

VOID SETUP () (PINMODE (12, izlaz);) praznina (digitalna pisaca (12, visoka); kašnjenje (100); digitalni pisac (12, nizak); kašnjenje (900);)
Izrađujemo Ctrl + C -\u003e Ctrl + V, kompil, opterećenje, Weiss. Vidimo osvjetljenje, koje nije više od sekunde. Razumijemo zašto je to upravo slučaj.

U ranijim praznim blokovima dodali smo nekoliko izrazi , Bili su postavljeni između zagrada za podešavanje i petlje.
Svaki izraz je uputa za procesor. Izrazi unutar jednog bloka izvršavaju jedni drugima, strogo u redu bez pauza i prebacivanja. To jest, ako govorimo o određenom bloku koda, može se čitati od vrha do dna kako bi se razumjelo što se radi.

Što se događa između{ } ?
Kao što znate, Arduino igle mogu raditi i na izlazu i unosu. Kada želimo nešto upravljati, onda moramo prevesti kontrolu PIN-a u stanje rada. To se radi izrazom u funkciji.pOSTAVITI:
Pinmode (12, izlaz); U takvoj situaciji se izvodi izraz funkcija poziva , Pinmode postavlja PIN postavljen na određeni način (ulaz ili izlaz). Kakvu vrstu bora i o tome koji način govore, označen je u zagradama, kroz zarez. U našem slučaju želimo 12. Ping da radi kao izlaz. Izlaz znači izlaz, ulazni ulaz. Pozivaju se vrijednosti za razjašnjenje, kao što je 12 i izlaz argumenti funkcije , Koliko funkcija argumenata ovisi o suštini funkcije i volje svog Stvoritelja. Funkcije mogu biti bez argumenata, kao što je primjer postavke i petlje.

Zatim idite na jedinicu petlje, kako biste:
- Digitalna ugrađena funkcija. Dizajniran je da se hrani na danom iglu logičke nule (niska, 0 volta) ili logičku jedinicu (visoka, 5 volti) na Argumente DigitalWrite 2 se prenose: PINA broj i logička vrijednost.
- kašnjenje funkcije. To opet, ugrađena funkcija, koja uzrokuje procesor "zaspati" u određeno vrijeme. Potrebno je samo jedan argument: vrijeme u milisekundima za spavanje. U našem slučaju, to je 100 ms. Čim istekne 100 ms, procesor se budi i odmah nastavlja na sljedeći izraz.
- Pozivanje značajke ugrađenog digitalnog pisanja. Samo ovaj put drugi argument je nizak. To jest, mi instaliramo logičnu nulu u redu na 12. PIN -\u003e Dati 0 Volt -\u003e HAMIM LED.
- Pozivanje značajke kašnjenja. Ovaj put, "Spike" malo više - 900 ms.

Čim je posljednja funkcija završena, blok petlje je dovršen i sve se događa i opet. U stvari, uvjeti prikazani u primjeru su prilično varijabilni, a možete se igrati s vrijednostima odgode, povezati nekoliko LED dioda i napraviti sličnost semafora ili policijskog bljeskalica (sve to ovisi o fantaziji i volji Stvoritelja).

Umjesto zatvora, malo o čistoći.
Zapravo, svi prostori, nizovi transferi, tab simboli nemaju veliku vrijednost za kompajler. Tamo gdje postoji prostor, može doći do prijenosa i obrnuto. Zapravo, 10 praznina u nizu, 2 red prijenosa i još 5 mjesta su ekvivalentni jedan prostor.


Uz pomoć praznog prostora, možete napraviti program koji je razumljiv i vizualni, ili naprotiv da se ne slažete da bude neprepoznatljiv. Na primjer, program naveden kao primjer može se promijeniti ovako:

VOID SETUP () (PINMODE (12, izlaz);) praznina (digitalna pisaca (12, visoka); kašnjenje (100); digitalni pisac (12, nizak); kašnjenje (900);)

Čitati krv iz oka kada čitate, možete slijediti nekoliko jednostavnih pravila:


1. Uvijek, na početku novog bloka između(i) Povećanje alineje. Obično koristite 2 ili 4 mjesta. Odaberite jednu od vrijednosti i držite ga tijekom cijelog.

Praznina () (digitalna pisaca (12, visoka); kašnjenje (100); digitalni pisac (12, nisko); kašnjenje (900);)
2. Kao iu uobičajenom jeziku: stavite prostor nakon zareza.

Digitalni pisac (12, visok);
3. Stavite ikonu Start (na novog retka na trenutnoj razini umirovljenja ili na kraju prethodnog. I ikona bloka) na zasebnoj liniji na trenutnoj razini uvlačenja:

VOID SETUP () (PINMODE (12, izlaz);) Postavljanje praida () (Pinmode (12, izlaz);)
4. Koristite prazne žice za odvajanje semantičkih blokova:

prazna petlja () (digitalna pisaca (12, visoka); kašnjenje (100); digitalni pisac (12, nisko); kašnjenje (900); digitalni pisaći (12, visok); kašnjenje (100); digitalni pisanje (12, niska); Kašnjenje (900);)
5. Da bi vaš zamišljen, lijepo je čitati postoje takozvane komentare. To su strukture u programu koji je potpuno ignoriran od strane kompilatora i samo su važni za ono što ga čita. Komentari mogu biti multi-line ili jednokratni:

/ * Ovo je višenamjenski komentar * /// je jednokratni

Arduino je vrlo popularan među svim ljubavnicima dizajniran. Trebate se upoznati s njima i onima koji nikada nisu čuli za njega.

Što je arduino?

Kako ukratko mogu opisati arduino? Optimalne riječi će biti sljedeće: Arduino je alat s kojim možete stvoriti različite elektroničke uređaje. U biti, ovo je prava hardverska računalna platforma za univerzalne destinacije. Može se koristiti i za izgradnju jednostavnih shema i za provedbu prilično složenih projekata.

Dizajner se temelji na hardveru, koji je i / o ploča. Za programski ploču koriste se jezici koji se temelje na c / c ++. Imali su ime, odnosno, obradu / ožičenje. Iz grupe s da su naslijedili najveću jednostavnost, zahvaljujući kojoj se vrlo brzo savladaju svaka osoba, te primjenjivati \u200b\u200bznanje u praksi nije prilično značajan problem. Da biste razumjeli lakoću posla, često kažu da je Arduino za početnike dizajnerskog čarobnjaka. Čak se i djeca mogu nositi s Arduino pločama.

Što možete prikupiti na njemu?

Arduino Koristi se prilično raznoliko, može se koristiti, kao i za najjednostavnije primjere, koji će se preporučiti na kraju članka i za prilično složene mehanizme, među kojima manipulatori, roboti ili proizvodni strojevi. Neki obrtnici se upravljaju na temelju takvih sustava za izradu tableta, telefona, nadzora i sigurnosnih sustava kuća, pametnih kućnih sustava ili samo računala. Arduino-projekti za početnike koji mogu imati čak i iskustva na kraju članka mogu početi početi. Oni se čak mogu koristiti za stvaranje primitivnih virtualnih stvarnosti sustava. Sve zahvaljujući sadržajnoj univerzalnoj hardverskoj komponenti i mogućnostima koje Arduino programiranje pruža.

Gdje steći komponente?

Komponente proizvedene u Italiji smatraju se originalnim. Ali cijena takvih skupova nije niska. Stoga su brojne tvrtke ili čak pojedini ljudi po rukotvornoj metodi proizvedeni od strane Arduino-kompatibilnih uređaja i komponenti koje šale s proizvodnim klonovima. Kada kupujete takve klonove, nemoguće je s povjerenjem reći da će raditi, ali želja da se spasi.

Komponente se mogu kupiti ili kao dio skupova ili odvojeno. Postoje čak i unaprijed pripremljeni setovi za prikupljanje automobila, helikoptera s različitim vrstama kontrole ili brodova. Set, kao na fotografiji na vrhu, proizveden u Kini, koštat će 49 USD.

Pročitajte više o opremi

Arduino ploča je jednostavan AVR mikrokontroler, koji je bio zašiven s bootloader i ima minimalno neophodan minimalni USB-UART priključak. Još uvijek postoje važne komponente, ali unutar granica članka bit će bolje zaustaviti se samo na ove dvije komponente.

Prvo, mikrokontroler, mehanizam izgrađen na istom dijagramu u kojem je postavljen razvijeni program. Program može utjecati na gumbe za pritisnite, primanje signala iz komponenti stvorenja (otpornici, tranzistori, senzori, itd.), Itd., Senzori mogu biti najrazličitiji u svojoj namjeni: rasvjeta, ubrzanje, temperatura, udaljenost, tlak, tlak, Prepreke itd. Kao indikatorski uređaji, mogu se koristiti upotreba jednostavnih dijelova, od LED-ova i škaka do složenih uređaja, kao što su grafički prikazi. Dok smatramo motor, ventili, releji, servo, elektromagnete i mnoge druge, koje su vrlo duge i vrlo duge. S nečim od tih popisa MK radi izravno pomoću spojnih žica. Za neke mehanizme su potrebni prijelazni uređaji. Ali ako počnete konstruirati, to će vam biti teško. Sada ćemo razgovarati o programiranju Arduina.

Pročitajte više o procesu programskog odbora

Već ste spremni za rad na mikrokontroleru, program se zove firmware. To može biti i jedan projekt projekta i Arduino, tako da bi bilo poželjno pohraniti svaki firmware u zasebnoj mapi kako bi ubrzao proces pronalaženja željenih datoteka. Treperi na MK Crystal kroz specijalizirane uređaje: programeri. A onda "arduino" ima jednu prednost - ne treba programer. Sve je učinjeno tako da Arduino programiranje za početnike nije bio rad. Pismeni kod može se preuzeti na MC putem USB kabela. Ova prednost se postiže ne-ugrađenim programeri već izgrađen unaprijed, ali poseban izgled - bootloader. Bootloader je poseban program koji traje odmah nakon povezivanja i sluša hoće li biti naredbi, da li će kristal treptati ako su Arduino projekti ili ne. Iz korištenja bootloader pluta nekoliko vrlo atraktivnih prednosti:

  1. Koristeći samo jedan komunikacijski kanal, koji ne zahtijeva dodatne troškove. Dakle, Arduino projekti ne zahtijevaju od vas povezati mnoge različite žice i došlo je do konfuzije pri korištenju. Za uspješan rad ima dovoljno pojedinačnih USB kabela.
  2. Zaštita od zakrivljenih ruku. Donesite mikrokontroler u stanje opeke koristeći izravni firmware je vrlo jednostavno, nije potrebno naprezati mnogo. Kada radite s bootloader potencijalno opasnim postavkama, ne možete dobiti (koristeći razvojni program, naravno, sve se može slomiti). Stoga je Arduino za početnike namijenjen ne samo sa stajališta da je razumljiv i zgodan, i dalje će izbjeći neželjenu novčanu potrošnju koja se odnosi na neiskustvo osobe koja radi s njima.

Projekti za početak

Kada ste dobili set, lemljenje željezo, rosin i lem, ne biste trebali odmah oblikovati vrlo složene dizajne. Naravno, mogu se opustiti, ali mogućnost uspjeha u Arduinu za početnike je prilično niska sa složenim projektima. Za obuku i "pakiranje" ruke možete pokušati shvatiti neke jednostavnije ideje koje će pomoći u rješavanju interakcije i rada Arduina. Kao prvi koraci u radu s Arduinom za početnike, možete savjetovati da razmislite:

  1. Stvoriti koje će raditi s "arduino".
  2. Povezivanje zasebnog gumba za "arduino". U ovom slučaju, to se može učiniti tako da gumb može podesiti svjetlost LED iz stavka broj 1.
  3. Potentiometarska veza.
  4. Menadžment servo.
  5. Povezivanje i rad s tricolor LED.
  6. Povezivanje piezoelamenta.
  7. Povezivanje fotorezistora.
  8. Povezivanje senzora pokreta i signala o njegovom radu.
  9. Povezivanje senzora vlažnosti ili temperature.

Projekti za budućnost

Malo je vjerojatno da ćete biti zainteresirani za "arduino" kako biste povezali odvojene LED diode. Najvjerojatnije, privučeni ste stvoriti svoj pisaći stroj ili leteći okretni okretni. Takvi projekti su složeni u svojoj implementaciji, oni će zahtijevati mnogo vremena i pojačanja, ali dovršavajući ih, dobit ćete ono što ste htjeli: vrijedno iskustvo dizajna s Arduino za početnike.