Arduino je elektronska ploščica (PCB), ki je bila narejena z namenom šolskega pripomočka na področju elektronike in programiranja. Gre pravzaprav za mali računalnik, v katerega lahko vnesemo lastno programsko kodo. Pogovorno rečemo, da je Arduino mikrokrmilnik. To ni tehnično pravilno, ker je Atmelov mikrokrmilnik samo ena izmed mnogih komponet na elektronski ploščici. Pravzaprav imamo dva mikrokrmilnika na večini Arduino ploščic. En je glavni mikrokrmilnik na keterema nalagamo program in ga on izvaja. Drugi je vmesnik za USB komunikacijo z računalnikom.
Originalno Arduino izhaja iz Italije. Podjetje dizajnira in prodaja elektronske ploščice. Za veliko popularnost je pripomoglo dejstvo, da podjetje strojno opremo podaja kot odprtokodno. Posledično so jih začeli izdelovati v Aziji in jih prodajati po celem svetu. Velike količine pa so močno znižale ceno.
Kaj lahko z njim naredimo?
Pravzaprav veliko. Kar se začetnika tiče zelo zelo veliko. Bolj smo omejeni z znanjem in domišljijo. Lahko krmilimo vse od LED diod, raznih LED prikazovalnikov, LCD prikazovalnikov, OLED prikazovalnikov, relejev, vekalanih relejev, SSR relejev, hobby servo motorjev, NEMA koračnih motorjev, robote itd.
Arduino svet je modularen. To pomeni, da imamo na voljo zelo veliko število LEGO kock, ki jih skupaj po žiljo povezujemo. Modularnost je mišljena na strojni kot na programski strani. Ker tudi na program lahko gledamo kot na LEGO kocke. Iz raznih primerov vzamemo tisto kar potrebujemo, ostalo preprosto pobrišemo.
Kaj so nadgradnje (shields)?
In smo ponovno pri LEGO kockah. Nadgradnje so dodatni specialni moduli, ki nadgradijo strojno opremo (hardware). Uporabimo tisto, ki je za naš projekt primerna seveda. Nadgradenj je mnogo vrst in jih je iz dneva v dan več. Naprimer motorna nadgradnja, LCD nadgradnja, nadgradnja za CNC/3D tiskalnik, mp3 nadgradnja, GPS nadgradnja, …
Komponente na ploščici
ATmega328: Glavni mikrokrmilnik na katerem je shranjen naš program.
ATmega16U2: Sekundarni mikrokrmilnik, ki ima nalogo prenosa programa iz računalnika in potencialno izmenjavo podatkov med samim delovanjem, če smo vnesli tak program.
Ničelni priključek – GND (Ground): Na ploščici je več GND (0 Vdc) priključkov. Več jih je zato, ker jih običajno več tudi porebujemo. Električno so vsi povezani skupaj.
PWM: Imamo 6 PWM priključkov (pinov). PWM je kratica za Pulse Width Modulation. PWM je metoda s pomočjo katere simuliramo analogni izhod. Lahko krmilimo servo motor, enosmerni motor itd.
Digitalni I/O priključeki: 14 digitalnih (0-13) I/O priključkov, ki jih ppo potrebi lahko povežemo z zunanjimi komponetami.
Analogni priključki: 6 analognih priključkov. Na njih lahko pripeljemo analogni signal (0 – 5 Vdc) in ga pretvorimo v digitalno vrednost (0 – 1023).
AREF: Analogni Referenčni priključek. Uporabljamo za nastavitev zunanje referenčne napetosti.
Reset tipka: S pomočjo tipke glavnemu mikrokrmilniku odvzamemo napajanje in posledično ponovno startamo program (resetiramo mikrokrmilnik).
USB povezava: To potrebujemo za povezavo z računalnikov in prenos programa. Preko te povezave lahko med nosmralnim izvajanjem programa serijsko prenašamo podatke.
DC napajalni konektor: Za Arduino zadostuje napajanje, ki ga dobi preko USB. Lahko pa uporabimo ta konektor in pripeljemo zunanje napajanje (2,1 mm moški konektor). V tem primeru ne potrebujemo USB povezave z računalnikom. Arduino Uno ima varovalko, ki ščiti vaš USB vhod na računalniku, pred kratkimi stiki in prevelikim električnim tokom. Kljub temu da večina računalnikov zagotavlja lastno zaščito, varovalka prinaša dodaten nivo zaščite. Če je na USB vhodu več kot 500 mA, bo varovalka samodejno prekinila povezavo, dokler kratek stik ali prevelik električni tok ni prekinjen.
LED indikacija napajanja: LED sveti, ko ima Arduino prisotno napajanje.
3.3V priključek: Ker ima ploščica vgrajen 3.3V regulator imamo na voljo ta napetostni potencial za zunanje komponente, ki ga zahtevajo.
5V prključek: Na pločici imamo prav tako 5V regulator, ki služi napajanju komponent na ploščici in ga lahko uporabimo za zunanje komponente.
VIN priključek: Možnost priklopa zunanjega napajanja
SPI konektor: SPI – Serial Peripheral Interface . Konektor za alternativno nalaganje programa na glavni mikrokrmilnik. Imamo štiri priključke 10(SS), 11(MOSI), 12(MISO) in 13(SCK).
TX/RX priključki: Priključka TX in RX sta namenjena serijski komunikaciji. TX (Transmit) je za serijsko pošiljanje in RX (Recive) je za sprejemanje podatkov.
Viri napajanja: DC konektor in USB type-B konektor
Arduino UNO razporen priključkov (ang: pinout)
R3 in CH340 verzija.
R3: Sekundarni mikrokrmilnik je ATmega16U2. Posledično pri povezavi na računalnik ne potrebujemo CH340 gonilnikov saj jih imajo Windows-i pravoloma že nameščene. IC je fizično pravokotne oblike.
CH340: Gre za oznako alternativnega sekundarnega krmilnika, ki nadomešča dražjega ATmega16U2. V tem primeru potebujemo dodatne USB gonilnike (povezava do gonilnikov). Zakaj komplikacija? Ker je CH340 cenejši in je posledično Arduino cenejši. IC je fizično pravokotne oblike.
DIL ali smd verzija
Poznamo veliko razičic Arduino krmilnikov. Lahko jih delimo na fizično verzijo glavnega mikrokrmilnika:
DIL verzija: Fizično večja verzija. True-hole tehnologija. Mikrokrmilnik lahko fizično odstranimo iz podnožja in ga zamenjamo
SMD verzija: Fizično manjša verzija. Surface-mounted tehnologija. Mikrokrmilnika ne moremo zamenjati. Razen če ga odspajkamo.
Sem mikrokrmilnik je po lastnostih enak. Le fizično je drugače pakiran.
Tipi USB konektorja
Arduino krmilnike delimo tudi na tip USB konektorja:
Type-B: Fizično največji konektor. Varen pred fizično poškodbo konektorja.
Micro USB: Običajno ga najdemo na fizično manjših Arduino krmilnikih.