S tole vajo začenjam “Učenje Arduina”. Tukaj sem razložil kako se namesti Arduino programsko okolje na osebni računalnik in če ste ta korak uspešno naredili smo pripravljeni na prvo pisanje programa. Kot prvi izziv sem nam postavil utripanje LED diode. Spoznali se bomo z digitalnimi izhodi mikrokrmilnika ATmel 328, ki je na Arduino UNO platformi.

Najprej povežimo Arduino platformo z osebnim računalnikom. Odpremo Arduino programsko razvojno okolje in odpre se nam okno, kot je spodaj na sliki. Vanj bomo pisali naš program. Zadevo najprej shranimo na želeno lokacijo na disku osebnega računalnika.

 

Sedaj se vrnimo k našem strojnem delu projekta. Na pinu 13 je že priključena rumena LED dioda v SMD ohišju, ki nosi oznako “L”. Za vajo bom vzporedno k njej vezal še eno LED diodo s pred uporom. Če nimate pri roki nobene LED diode in zanj primernega pred upora upornosti med 330R in 1kR, lahko program preizkusite na LED diodi, ki je že na Arduino platformi. Vsi ki bi se radi srečali s praktičnim povezovanjem elementov z mikrokrmilnikom pa sledite spodnjim navodilom. Spodaj je prikazana vezalna shema LED diode in njenega predupora z mikrokrmilnikom.

Za tako preprosto vezavo se ne izplača razvijati namenskega tiskanega vezja. Predlagam uporabo “Bread board”-a ali razvojne ploščice. Vanjo preprosto zasadimo elemente in jih med seboj povežemo s kratkimi žičkami. Tisti, ki imate “bread board” prvič v rokah si oglejte spodnjo sliko, kjer je prikazana vezava.

Tako! Povezali smo našo LED diodo in njen pred upor na 13. pin mikrokrmilnika na Arduino platformi. Sedaj, kot opazimo, se z našo LED diodo ne dogaja nič, to pa zato, ker je treba vezje sprogramirat. Vrnimo se na računalnik v program Arduino.

Najprej zapišemo ime projekta in druge podatke, ki so del dokumentacije programa, le te zapišemo po sledečem receptu:

/*
 Vaja 1:
 Utripanje LED diode
 www.elektronika-start.com/arduino
 */

 

Sedaj je potrebno definirati kateri pin bomo uporabili. Uporabili smo pin 13 in dodelili smo mu ime “LEDdioda”. Komentar programu zapišemo za dvema poševnicama //.

int LEDdioda = 13;   // Definiramo na katerem pinu je LED dioda

 

Sedaj moramo definirati kakšen je naš izbrani pin. Ker je pin 13 digitalni pin kontrolerja, ga definiramo bodisi kot vhod (logično stanje “0”) ali kot izhod (logično stanje “1”). Če je stanje pina na logični enici bo tok tekel iz kontrolerja ven, če pa je stanje logične ničle, bo tok tekel v kontroler. Če želimo, da bo LED dioda svetila, mora teči tok iz kontrolerja, skozi pred upor, skozi LED diodo nazaj na ničelni potencial (GND) Arduino vezja. Torej, moramo 13. pin definirati kot izhod.

int LEDdioda = 13; // Definiramo na katerem pinu je LED dioda
void setup() { 
 pinMode(LEDdioda, OUTPUT); // Definiramo, da je pin 13 izhod (Ang. OUTPUT)
}

 

Deklarirali smo vse potrebne parametre in sedaj lahko skočimo v ponavljajočo se LOOP zanko, v kateri se bo izvajala naša željena operacija. Z ukazom digitalWrite(); spreminjamo logično stanje na digitalnih pinih kontrolerja. V oklepajih digitalWrite-a najprej zapišemo ime pina na katerem je LED dioda in šele na to želeno stanje pina. To stanje je lahko visoko (high) ali nizko (low).  Dokler je stanje visoko LED dioda sveti, ko pa je stanje nizko je LED dioda ugasnjena. Funckija delay(1000), zadrži izbrano stanje za 1000ms ali eno sekundo. Ta čas lahko poljubno spreminjamo.

void loop() {
 digitalWrite(LEDdioda, HIGH); // Prižgemo LED diodo (Visoko stanje izhoda)
 delay(1000); // Počakaj 1000 ms
 digitalWrite(LEDdioda, LOW); // Ugasnemo LED diodo (Nizko stanje izhoda)
 delay(1000); // Počakaj 1000 ms
}

 

Pa smo prilezli na konec našega prvega programa, čigar naloga je utripanje LED diode s frekvenco 0,5Hz. Sedaj pa sestavimo vse dele programa v eno kodo in jo zapišimo v kontroler.

Koda programa:

/*
 Vaja 1:
 Utripanje LED diode
 www.elektronika-start.com/arduino
 */
int LEDdioda = 13; // Definiramo na katerem pinu je LED dioda
void setup() {
pinMode(LEDdioda, OUTPUT); // Definiramo, da je pin 13 izhod (Ang. OUTPUT)
}
// LOOP je neskončno ponavljajoča se zanka
void loop() {
 digitalWrite(LEDdioda, HIGH); // Prižgemo LED diodo (Visoko stanje izhoda)
 delay(1000); // Počakaj 1000 ms
 digitalWrite(LEDdioda, LOW); // Ugasnemo LED diodo (Nizko stanje izhoda)
 delay(1000); // Počakaj 1000 ms
}

Ko je program napisan preverimo ali je sintaktično pravilen s klikom na kljukico.

 

Če je preverjanje uspešno (Na dnu okna izpiše “prevajanje končano”) lahko zapišemo program v kontroler. To storimo s klikom na sosednjo ikono, na puščico v desno.

 

Po končanem nalaganju se na dnu okna izpiše “Nalaganje končano”. Če smo program spisali pravilno bo pričela LED dioda utripati s frekvenco 0,5Hz.

 

S tem je prva vaja uspešno končana. Sedaj se lahko igrate in spreminjate vrednosti delay-ja in opazujete spremembe. Lahko poljubno spreminjate program in opazujete kaj lahko in česa ne smete narediti, da bo program še vedno deloval.

Spodaj si lahko snamete stisnjeno mapo s programom.

 

Program Vaja1: Utripanje LED diode