Mozak robota — Arduino mikrokontroler deo 2.

U četvrtom tekstu serijala o robotici upoznajemo se sa vrstama i upotrebom Arduino mikrokontrolera.

Danimir Ljepava - 20. April, 2018.

Dobrodošli na četvrti u serijalu članaka za juniore (kategorija osnovnih i srednjih škola uzrasta do 18 godina) koji će vam pomoći da naučite nešto više o robotici, elektronici i programiranju kako bi napravili svog prvog robota.

U prvom članku ovog serijala smo naučili šta je robotika i kakvi sve roboti postoje. U drugom članku serijala smo napravili uvod u osnove elektronike, materijale i alate za pravljenje robota. U trećem članku smo naučili šta je to mikrokontroler, kao i razlike između digitalnih i analognih ulaza i izlaza kojima on upravlja.

U ovom članku ćemo se pozabaviti konkretno Arduino mikrokontrolerom i različitim modelima koji postoje. Predstavićemo i virtuelni simulator Arduina koji vam omogućava da odmah danas počnete sa eksperimentisanjem online. Pozabavićemo se i time kako da fizički priključite, programirate i pokrenete stvarni Arduino mikrokontroler.

Ono što ćete naučiti u ovom članku je:

U ovom članku ćemo vas uputiti i u naredne korake – kako možete odmah da isprobate vaše elektronske zamisli uz pomoć online simulatora Arduino mikrokontrolera. Za one koji žele i da fizički sklope svoje naprave, uputićemo vas i gde možete da nabavite elektronske komponente za samostalan rad. Članak se završava sa predlozima materijala za dodatno čitanje, kao i škole gde možete da naučite više o elektronici i robotici.

Koji model Arduina da izaberem?

Postoji više modela Arduino mikrokontrolera. Svi modeli Arduino mikrokontrolera su skoro identični, a razlikuju se po broju ulaznih i izlaznih nožica (pinova), brzini mikroprocesora i količini memorije koju poseduju.

Programi koje pišemo za jedan model Arduina su u velikoj većini slučajeva kompatibilni i mogu da se prebace na drugi model Arduino mikrokontrolera, uz malo prilagođavanja.

Pregled osnovnih modela Arduino mikrokontrolera i njihove razlike su predstavljeni ispod.

Model: Arduino Uno

Arduino Uno je osnovni model ovog mikrokontrolera i ima mogućnost da upravlja sa 20 ulazno-izlaznih nožica (pinova).

To praktično znači da njega može da se priključi kombinacija od 14 uređaja/komponenti sa kojima se upravlja robotom i senzora za osluškivanje i osećaj spoljnjeg sveta.

Model: Arduino Nano

Arduino Nano ima iste mogućnosti kao Uno, i takođe ima mogućnost da upravlja sa 20 ulazno-izlaznih nožica (pinova).

Arduino Nano je duplo manji u dimenzijama od Arduino Uno kontrolera, i lako može da se smesti na minijaturna mesta vašeg robota, kao što je to naprimer unutar kućišta džojstika, ili na samu platformu robota.

Modela: Arduino Mega

Arudino Mega je “veliki brat” u ovoj familiji mikrokontrolera i poseduje čak 54 ulazno-izlaznih nožica (pinova).
On je nešto veći po dimenzijama, a koristi se za izradu mnogo kompleksnijih robota jer sa toliko mnogo pinova možete da pokrenete dosta više komponenti i da priključite dosta više senzora.

Pored gore navedenih verzija, postoji još nekoliko modela Arduino kontrolera koje možete da pogledate na zvaničnoj stranici proizvođača.

Lično preferiram da u radu sa juniorima koristim Arduio Nano jer je malih dimenzija i ne zauzima previše prostora na robotu, a vrši iste funkcije kao i većina drugih modela ovog kontrolera. Naravno, ako pravite mnogo kompleksnijeg robota, možete da koristiti Arduino Mega.

Kako pokrenuti vaš prvi Arduino mikrokontroler?

Virtuelni Arduino online

Pre nego što fizički nabavite Arduino mikrokontroler i ostale elektronske komponente, vašeg robota možete ovog trenutka virtuelno dizajnirati i testirati online pomoć online Arduino simulatora Tinkercard Circuits. Neophodno je da otvorite korisnički nalog online na ovom sajtu da biste mogli da ga koristite.

Postoji i veoma veliki broj gotovih primera virtuelnih Arduino sklopova uz ovu platformu koje možete pogledati u Circuits.io galeriji. Uputstvo kako da naučite da koristite ovaj simulator možete da pogledate na ovom YouTube kanalu.

Svi primeri i programi napisani online u Tinkercard Circuits mogu da se prebace da rade na fizičkom Arduino mikrokontroleru u stvarnosti.

Programiranje Arduino mikrokontrolera u Tinkercard Curcuit se može naučiti na dva načina, jedan je kroz sastavljanje logičkih blokova, koncept sličan scratch programiranju.

Emulsimulatorator Arduino mikrokontrolera sa blok programiranjem

Drugi (i možda preferabilniji) način da naučite da programirate Arduino mikrokontroler je koristeći Arduino tekstualni programski jezik (baziran na jeziku “C”) za malo naprednije osnovce i srednjoškolce.

Simulator Arduino mikrokontrolera sa programiranjem u Arduino programskom jeziku

Kada ste zadovoljni kako program napisan online u simulatoru funkcioniše, možete da ga preuzmete na vaš računar i pokrenete na stvarnom Arduino mikrokontroleru.

Priključite stvarni Arduino mikrokontroler

Da bi ste koristili stvarni Arduino mikrokontroler za vašeg robota, potrebno je da program za njega prebacite sa virtuelnog simulatora Tinkercard Circuits na vaš računar. Ako niste koristili simulator, program možete da napišete i direktno na vašem laptop ili desktop računaru (PC, Mac ili Linux).

Potrebno je da na vaš računar preuzmete i instalirate Arduino IDE softver. Ovaj softver je takozvano “razvojno okruženje” koje mogućava da program za Arduino mikrokontroler prebaci (uploaduje) na stvarni Arduino mikrokontroler koji će upravljati robotom.

Program se uz pomoć standardnog USB kabla prebacuje na mikrokontroler.

Povezivanje računara sa Arduino mikrokontrolerom

U zavisnosti od toga koji konkretno Arduino mikrokontroler posedujete, sledite sledeće instrukcije za instaliranje drajvera i povezivanje mikrokontrolera sa vašim računarom:

Za povezivanje ostalih tipove Arduino kontrolera, pronađite verziju za vaš mikrokontroler na ovoj stranici.

Prvi put kada pokrenete Arduino IDE okruženja potrebno je da izberete tip Arduino mikrokontrolera koji koristite. Ovu opciju nema potrebe menjati sve dok koristite isti Arduino mikrokontroler.

Izbor modela mikrokontrolera u Arduino IDE okruženju

Takođe je neophodno da izaberete serijski port na koji je priključen Arduino. Kada priključite Arduino uz pomoć USB kabla na računar, novi port će se pojaviti i tipično ćete moći da ga prepoznate na meniju. Ovaj korak je izuzetno bitan jer bez izbora tačnog serijskog porta Arduino mikrokontrolera, nećemo biti u mogućnosti da prenesemo program sa računara na mikrokontroler.

Izbor serijskog porta spojenog mikrokontrolera u Arduino IDE okruženju

Po završenom izboru modela Arduino mikrokontrolera i serijskog porta, možemo da počnemo da pišemo naš prvi program (praktični projekat i primer u tekstu dole), ili da otvorimo fajl sa programom koji je već napravljen u online simulatoru.

Izgled Arduino IDE razvojnog okruženja na vašem računaru

Program iz uz pomoć Arduino IDE okruženja prenosimo sa računara na Arduino pločicu izborom komande “Upload Using Programmer”. Prilikom prenosa programa, videćemo da na Arduino pločici ugradjene LED diode će početi da trepere sve dok se program u potpunosti ne prebaci.

Kada je program prebačen na Arduino mikrokontroler, a sa obzirom da je on mini računar, program će se neovisno izvršavati na njemu, bez potrebe za vašim laptop ili desktop računarom. Ovo omogućava autonomno pokretanje robota samo uz pomoć Arduina.

U slučaju problema sa drajverima, ili drugih problema u prebacivanju programa sa računara na Arduino mikrokontroler, pogledajte zvaničnu stranicu proizvodjača za rešavanje problema, ili potražite podršku na Internet forumima.

Kako da naučim da programiram Arduino?

Da bi ste naučili da programirate Arduino, pogledajte ovaj serijal YouTube snimaka za Programiranje u Arduino programskom jeziku.

Takođe možete da potražite i sledeće knjige u našim knjižarama “C programiranje za Arduino” i “Arduino Uno”.

Pratite i najave Startita za kurseve programiranja za juniore.

Naredni koraci

U zavisnosti od toga da li želite više da čitate, da čujete od drugih ili iskusite kroz samostan rad, preporučujem neke od sledećih aktivnosti kao naredni korak za ulazak u svet elektronike, robotike i programiranja: