Buton ile Random(Rastgele) Led Yakıp Söndürme
Arduino Kodları:
int dugme=8, numara=0;
int yesilLed=3, kirmiziLed=4, maviLed=5, sariLed=6;
void setup(){
Serial.begin(9600);//Arduino kartın bilgisayar ile saniyede 9600 bit hızında iletişim kuracağı anlamına gelir.
pinMode(dugme, INPUT);//Arduino karta butondan bir veri girişi olacağı için INPUT olarak tanımladık.
pinMode(yesilLed, OUTPUT);//Arduino karttan yesilLed'e bir veri gönderimi olacağı için OUTPUT olarak tanımladık.
pinMode(kirmiziLed, OUTPUT);
pinMode(maviLed, OUTPUT);
pinMode(sariLed, OUTPUT);
randomSeed(analogRead(A0));//Ürettiğimizi rastgele sayıların tekrarlanmamasını sağlamaktadır.
}
void loop(){
if(digitalRead(dugme)==HIGH){//Butona basıldıysa
numara=randomSeed(3,7);//3-7 arasından rastgele sayılar üret.
Serial.println(numara);//Üretilen sayıları seri port ekranına yazdır.
}
switch(numara){//Rastgele üretilen sayıları yazdırmamıza yarar.
//Switch-Case kullanımı if-else gibidir ancak tek fark koşullar arasından öncül ilişkisi yoktur.
//Yani şu olmazsa şu kod bloğuna geç değil hangi şart sağlanıyorsa o şartı gerçekleştir.
case 3://numara değişkeni 3 olursa çalışır.
Serial.println(":Yeşil Led");
digitalWrite(yesilLed, HIGH);//yesilLed değişkenine güç ver demektir.
digitalWrite(kirmiziLed, LOW);
digitalWrite(maviLed, LOW);
digitalWrite(sariLed, LOW);
break;//break komutu programı sonlandır ve baştan başla demektir.
case 4://numara değişkeni 4 olursa çalışır.
Serial.println(":Kırmızı Led");
digitalWrite(yesilLed, LOW);
digitalWrite(kirmiziLed, HIGH);//kirmiziLed değişkenine güç ver demektir.
digitalWrite(maviLed, LOW);
digitalWrite(sariLed, LOW);
break;//break komutu programı sonlandır ve baştan başla demektir.
case 5://numara değişkeni 5 olursa çalışır.
Serial.println(":Mavi Led");
digitalWrite(yesilLed, LOW);
digitalWrite(kirmiziLed, LOW);
digitalWrite(maviLed, HIGH);//maviLed değişkenine güç ver demektir.
digitalWrite(sariLed, LOW);
break;//break komutu programı sonlandır ve baştan başla demektir.
case 6://numara değişkeni 6 olursa çalışır.
Serial.println(":SarıLed");
digitalWrite(yesilLed, LOW);
digitalWrite(kirmiziLed, LOW);
digitalWrite(maviLed, LOW);
digitalWrite(sariLed, HIGH);//sariLed değişkenine güç ver demektir.
break;//break komutu programı sonlandır ve baştan başla demektir.
}
}
Seri Port Ekranı Çıktısı: