/* 09.11.2014
www.robotkursu.com
3 adet ledin 2 buton ile kontrolü
if komutunu öğrenmek için ideal bir düzenek ve programdır
Öğrenci butona 1 kere basınca işlemin yalnızca 1 kere çalıştığını görür.
*/
int button1 = 2;
int button2 = 3;
int led1 = 8;
int led2 = 9;
int led3 = 10;
int t=300; // ledler arası kayma süresi
int sayac=0;
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(button1, INPUT);
pinMode(button2, INPUT);
}
void saga()
{
digitalWrite(led1, 1);
digitalWrite(led2, 0);
digitalWrite(led3, 0);
delay(t);
digitalWrite(led1, 0);
digitalWrite(led2, 1);
digitalWrite(led3, 0);
delay(t);
digitalWrite(led1, 0);
digitalWrite(led2, 0);
digitalWrite(led3, 1);
delay(t);
}
void sola()
{
digitalWrite(led1, 0);
digitalWrite(led2, 0);
digitalWrite(led3, 1);
delay(t);
digitalWrite(led1, 0);
digitalWrite(led2, 1);
digitalWrite(led3, 0);
delay(t);
digitalWrite(led1, 1);
digitalWrite(led2, 0);
digitalWrite(led3, 0);
delay(t);
}
void flash()
{
digitalWrite(led1, 0);
digitalWrite(led2, 0);
digitalWrite(led3, 0);
delay(t);
digitalWrite(led1, 1);
digitalWrite(led2, 1);
digitalWrite(led3, 1);
delay(t);
}
void loop(){
if (digitalRead(button1)==LOW) // buton1 e basılırsa sayac 5 olacak
sayac=5;
if (digitalRead(button2)==LOW) // buton2 ye basılırsa sayac 10 olacak
sayac=10;
if ((digitalRead (button1)==0) and (digitalRead (button2)==0))
sayac=15;
if (sayac==5) saga(); // sayac 5 ise saga animasyonuna git
if (sayac==10) sola();// sayac 10 ise sola animasyonuna git
if (sayac==15) flash();// sayac 15 ise flash animasyonuna git
}