[ deletraj @ 30.04.2020. 00:40 ] @
Postovani, pocetnik sam ali se polako snalazim. Imam Arduino uno sa Atmega 328, napravio sam onako neke prve korake sa led diodama. Napravio sam i semafor koristeci 3 LEDa. To sve dobro radi: crvena se upali radi 7 sec pa se ugasi, pali se zuta 3 sec pa se ugasi, pali se zelena 5 sec pa se ugasi 1sec, pa se pali - gasi (treperi ) jos 3 puta po jednu sec.
Moje pitanje je:
da li moze da se napravi ( for - petlja ) kad radi zelena LED da bi smanjio redove u programu.
Imam neki PDF koji sam skinuo sa neta, o komandama i funkcijama Arduina. Ali meni ne polazi za rukom da napisem tu for petlju. I hteo bi da pitam isto u vezi petlje, sta znaci ono i++. Molim za pomoc, da li neko moze da napise tu for petlju , kako bih se naučio da je postavljam prvo na prostim primerima. Hvala unapred. Code izgleda ovako:
Sketch_int_in_semafor_8_7_6
Void setup
pinMode(8,OUTPUT);
digitalWrite(8,LOW);
pinMode(7,OUTPUT);
digitalWrite(7,LOW);
pinMode(6,OUTPUT);
digitalWrite(6,LOW);

Void loop
digitalWrite(8,HIGH);
delay(7000);
digitalWrite(8,LOW);
digitalWrite(7,HIGH);
delay(3000);
digitalWrite(7,LOW);
digitalWrite(6,HIGH);
delay(5000);
digitalWrite(6,LOW);
delay(1000);
digitalWrite(6,HIGH);
delay(1000);
digitalWrite(6,LOW);
delay(1000);
digitalWrite(6,HIGH);
delay(1000);
digitalWrite(6,LOW);
delay(1000);
digitalWrite(6,HIGH);
delay(1000);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
delay(3000);
digitalWrite(7,LOW);
[ JankoNIS @ 30.04.2020. 07:45 ] @
https://www.arduino.cc/referen...ructure/control-structure/for/

Ovde ti je dat primer petlje.

"i++" znaci isto sto u bejziku znaci "i=i+1". Povecaj vrednost promenljive "i" za jedan.
[ Living Light @ 30.04.2020. 08:23 ] @
Nije mi namera da unosim nikakvu pometnju,
možda je bitno a možda uopšte nije bitno za ovaj projekat.

Mislim da semafor ne radi ovako:
Citat:
deletraj: crvena se upali radi 7 sec pa se ugasi, pali se zuta 3 sec pa se ugasi, pali se zelena 5 sec pa se ugasi 1sec, pa se pali - gasi (treperi ) jos 3 puta po jednu sec.


Nego ovako:
-Svetli crvena,
-Pali se žuta, svetle zajedno i crvena i žuta,
-Gase se crvena i žuta, pali se zelena,
-Zelena trepče,
-Gasi se zelena, pali se žuta,
-Gasi se žuta, pali se crvena.

Opet ponavljam, možda to upšte nije bitno za projeka.

pOz
[ ZAS011 @ 30.04.2020. 08:49 ] @
Citat:
deletraj:
Postovani, pocetnik sam ali se polako snalazim. Imam Arduino uno sa Atmega 328, napravio sam onako neke prve korake sa led diodama. Napravio sam i semafor koristeci 3 LEDa. To sve dobro radi: crvena se upali radi 7 sec pa se ugasi, pali se zuta 3 sec pa se ugasi, pali se zelena 5 sec pa se ugasi 1sec, pa se pali - gasi (treperi ) jos 3 puta po jednu sec.
Moje pitanje je:
da li moze da se napravi ( for - petlja ) kad radi zelena LED da bi smanjio redove u programu.
Imam neki PDF koji sam skinuo sa neta, o komandama i funkcijama Arduina. Ali meni ne polazi za rukom da napisem tu for petlju. I hteo bi da pitam isto u vezi petlje, sta znaci ono i++. Molim za pomoc, da li neko moze da napise tu for petlju , kako bih se naučio da je postavljam prvo na prostim primerima. Hvala unapred. Code izgleda ovako:
Sketch_int_in_semafor_8_7_6
Void setup <- void, malim slovom
pinMode(8,OUTPUT);
digitalWrite(8,LOW);
pinMode(7,OUTPUT);
digitalWrite(7,LOW);
pinMode(6,OUTPUT);
digitalWrite(6,LOW);

Void loop <- void, malim slovom
digitalWrite(8,HIGH);
delay(7000);
digitalWrite(8,LOW);
digitalWrite(7,HIGH);
delay(3000);
digitalWrite(7,LOW);
digitalWrite(6,HIGH);
delay(5000);
digitalWrite(6,LOW);
delay(1000);
digitalWrite(6,HIGH);
delay(1000);
digitalWrite(6,LOW);
delay(1000);
digitalWrite(6,HIGH);
delay(1000);
digitalWrite(6,LOW);
delay(1000);
digitalWrite(6,HIGH);
delay(1000);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
delay(3000);
digitalWrite(7,LOW);


Evo ti kako bi mogao da izgleda taj tvoj semafor:
Code:
/* 
 * Semafor 
 */

#define Crvena 8
#define Zuta   7
#define Zelena 6

void setup() {
  pinMode(Crvena, OUTPUT);
  pinMode(Zuta, OUTPUT);
  pinMode(Zelena, OUTPUT);
}

void loop() {
  Crveno();
  Zuto();
  Zeleno();
  Zuto();
}

void Crveno(void)
{
  digitalWrite(Crvena, HIGH);
  delay(7000);
  digitalWrite(Crvena, LOW);
}

void Zuto(void)
{
  digitalWrite(Zuta, HIGH);
  delay(3000);
  digitalWrite(Zuta, LOW);
}

void Zeleno(void)
{
  byte i;
  for (i = 0; i < 2; i++)
  {
    digitalWrite(Zelena, HIGH);
    delay(1000);
    digitalWrite(Zelena, LOW);
    delay(1000);
  }
  digitalWrite(Zelena, HIGH);
  delay(1000);
  digitalWrite(Zelena, LOW);
}

BTW, u Arduino IDE klikneš na Help pa onda na Reference
[ mikikg @ 01.05.2020. 02:56 ] @
Prouci malo ovaj sajt i ove linkove. Jeste da je u pitanju C++ ali FOR i WHILE petlje su potpuno iste kao u C jeziku.

https://petlja.org/biblioteka/r/lekcije/prirucnik-cpp/funkcije
https://petlja.org/biblioteka/...ije/prirucnik-cpp/petlje-while
https://petlja.org/biblioteka/r/lekcije/prirucnik-cpp/petlje-for
[ deletraj @ 01.05.2020. 23:32 ] @
Hvala. U pravu ste trebalo da radi kako ste vi rekli.Ispavicu to, postavicu duze vreme za crvenu. Ovo je moj prvi korak sa Arduino i bila mi je bitna for petlja, kako bi program radio sa njom. Hvala jos jednom.
[ ZAS011 @ 02.05.2020. 08:36 ] @
Pazi, nije stvar u hardveru, u pitanju je programski jezik, koji je jedna varijanta C/C++. U tom pravcu treba da ide tvoja potraga za literaturom radi učenja.

Inače, sintaksa FOR petlje u Basic-u:
Code:
for i=1 to 10
  ....
next


u C-u
Code:
for (i=0; i (uslov); i++)
{
  ....;
}