Arduino učionica: 2. -SVETLEĆI KRUG 2. deo!

…Opet svetleći krug… Ovi primeri možda nisu naročito zanimljivi, ali verujem da će onome ko je apsolutni početnik veoma značiti.


 Nije potrebno dodavati ništa novo od komponenti, dakle sve ostavite kao iz prethodnog tutorijala. Ono što će biti drukčije je kod.

U ovom tutorijalu potrudiću se da vas upoznam sa nizovima u programiranju. Nećemo ni mnogo zalaziti u objašnjavanje već ćemo na datom primeru primeniti niz. Najbolje se uči uz praktičnu vežbu! 🙂


Nizovi

Predstavljaju niz promenljivih istog tipa. Nizu se definiše tip na osnovu toga kakve će promenljive on sadržati, ako želimo da napravimo niz celobrojnih vrednosti koristićemo int, ako želimo niz karaktera koristićemo char itd…

Sintaksa:

int niz_celobrojnih_vrednosti[broj_elemenata] = {0,1,2,3,4};

Naš niz u ovom slučaju ima 5 elemenata i zato na mestu broj_elemenata trebamo upisati broj 5. Pri deklarisanju niza, između [] pišemo broj elemenata niza, a kada koristimo neki od elemenata niza između [] ćemo pisati indeks niza tj. redni broj na kome se nalazi željeni element. Elemente niza definišemo unutar {} razdvojene zarezima.

int broj = niz_celobrojnih_vrednosti[4];

Promenljiva broj imaće vrednost 5. elementa niza što je = 4. Prvi element ima indeks 0, drugi ima indeks 1, dakle prvi član niza počinje od nultog indeksa pa nadalje.

U slučaju da želimo napraviti niz karaktera, koristićemo char tip i elemente niza ovog puta pisaćemo između jednostrukih apostrofa ‘element’, kao na primeru ispod.

char ime[6] = {‘A’,’L’,’E’,K’,’S’,’A’};

char prvo_slovo = ime[0];

//promenljivoj prvo_slovo dodeljujemo karakter prvog elementa niza, tj. slovo A

char drugo_slovo = ime[1];

//promenljivoj drugo_slovo dodeljujemo karakter drugog elementa niza, tj. slovo L


Ono što ćemo promeniti u odnosu na prethodni program je to što ćemo sada koristiti niz za definisanje pinova LED. Sada će kod izgledati ovako:


int led1 = 2;
int led2 = 3;
int led3 = 4;
int led4 = 5;
int led5 = 6;
int led6 = 7;

int LED[6] = {led1,led2,led3,led4,led5,led6};

int vreme;

void okretanje_nalevo();
void okretanje_nadesno();

void ubrzavanje_nalevo();
void usporavanje_nalevo();

void ubrzavanje_nadesno();
void usporavanje_nadesno();

void setup(){

  pinMode(led1,OUTPUT);
  pinMode(led2,OUTPUT);
  pinMode(led3,OUTPUT);
  pinMode(led4,OUTPUT);
  pinMode(led5,OUTPUT);
  pinMode(led6,OUTPUT);
  
  Serial.begin(9600);
}

void loop(){
  okretanje_nalevo();
  okretanje_nadesno();
}

void okretanje_nalevo(){
  ubrzavanje_nalevo();
  usporavanje_nalevo();
}

void okretanje_nadesno(){
  usporavanje_nadesno();
  ubrzavanje_nadesno();
}

void ubrzavanje_nalevo(){
  for (vreme = 100; vreme > 0; vreme=vreme-20){

    for (int i = 0; i < 6; i++){

      digitalWrite(LED[i],HIGH);
      delay(vreme);
      digitalWrite(LED[i],LOW);
      delay(vreme);
    }
  }
}

void usporavanje_nalevo(){
  for (vreme = 0; vreme < 100; vreme=vreme+20){

    for (int i = 0; i < 6; i++){

      digitalWrite(LED[i],HIGH);
      delay(vreme);
      digitalWrite(LED[i],LOW);
      delay(vreme);
    }
  }
}

void ubrzavanje_nadesno(){
  for (vreme = 100; vreme > 0; vreme=vreme-20){

    for (int i = 5; i >= 0; i--){

      digitalWrite(LED[i],HIGH);
      delay(vreme);
      digitalWrite(LED[i],LOW);
      delay(vreme);
    }
  }
}

void usporavanje_nadesno(){
  for (vreme = 0; vreme < 100; vreme=vreme+20){

    for (int i = 5; i >= 0; i--){

      digitalWrite(LED[i],HIGH);
      delay(vreme);
      digitalWrite(LED[i],LOW);
      delay(vreme);
    }
  }
}




U našem novom „Svetlećem krugu“ sve će se izvršavati potpuno isto kao i u prethodnom, tako da nemojte očekivati da će se desiti išta novo, ovo je bio samo primer kako biste se upoznali sa nizovima koje ćemo koristiti i provežbati u daljim tutorijalima, a do tad…eksperimentišite. 🙂

Autor:

Aleksa Ristić

Student, bloger, veliki entuzijast i kreativac

Advertisements

Оставите одговор

Попуните детаље испод или притисните на иконицу да бисте се пријавили:

WordPress.com лого

Коментаришет користећи свој WordPress.com налог. Одјавите се / Промени )

Слика на Твитеру

Коментаришет користећи свој Twitter налог. Одјавите се / Промени )

Фејсбукова фотографија

Коментаришет користећи свој Facebook налог. Одјавите се / Промени )

Google+ photo

Коментаришет користећи свој Google+ налог. Одјавите се / Промени )

Повезивање са %s