5 Buton İle 3 Led Yakma
Şimdi yapacağımız projenin şemasının Fritzing üzerindeki görünümü aşağıdaki gibidir.Ama yine temel noktalarını anlatalım.
Bu projede asıl amacımız if-else komutlarının nasıl kullanıldığını görmek.
İf (eğer),else(değilse) anlamına gelir.Proje sonucunda olması gerekenler;
1.butona bastığımız zaman 1.led yanmalı,
2.butona bastığımız zaman 1.led ve 2.led yanmalı,
3.butona bastığımız zaman 1.led,2.led ve 3.led yanmalı ,
4.butona bastığımız zaman 1.led,2.led ve 3.led sırasıyla yanıp sönmeli,
5.butona bastığımız zaman ise 1.led ,2.led ve 3.led aynı anda yanıp sönmeli.
Peki bunu yaparken kullanacağımız malzemeler neler?
- 3 adet 220Ω lık direnç
- 5 adet 10kΩlık direnç
- jumper kablo
- board
- arduino uno
- 5 adet buton
- 3 adet led
Yaptığımız uygulamanın sonucu aşağıdaki videodaki gibidir.
Uygulamamızın yazılımı aşağıdaki gibidir.
int buton1 = 2;
int buton2 = 3;
int buton3 = 4;
int buton4 = 5;
int buton5 = 6;int led1 = 8;
int led2 = 9;
int led3 = 10;int buton1durumu;
int buton2durumu;
int buton3durumu;
int buton4durumu;
int buton5durumu;void setup()
{
pinMode(buton1 , INPUT);
pinMode(buton2 , INPUT);
pinMode(buton3 , INPUT);
pinMode(buton4 , INPUT);
pinMode(buton5 , INPUT);pinMode(led1 , OUTPUT);
pinMode(led2 , OUTPUT);
pinMode(led3 , OUTPUT);
}void loop()
{
buton1durumu = digitalRead(buton1);
buton2durumu = digitalRead(buton2);
buton3durumu = digitalRead(buton3);
buton4durumu = digitalRead(buton4);
buton5durumu = digitalRead(buton5);if (buton1durumu == HIGH)
digitalWrite(led1 , HIGH);else if (buton2durumu == HIGH)
{
digitalWrite(led1 , HIGH);
digitalWrite(led2 , HIGH);
}else if (buton3durumu == HIGH)
{
digitalWrite(led1 , HIGH);
digitalWrite(led2 , HIGH);
digitalWrite(led3 , HIGH);
}
else if (buton4durumu == HIGH)
{
digitalWrite(led1 , HIGH);
delay(250);
digitalWrite(led1 , LOW);
digitalWrite(led2 , HIGH);
delay(250);
digitalWrite(led2 , LOW);
digitalWrite(led3 , HIGH);
delay(250);
digitalWrite(led3 , LOW);
}
else if (buton5durumu == HIGH)
{
digitalWrite(led1 , HIGH);
digitalWrite(led2 , HIGH);
digitalWrite(led3 , HIGH);
delay(250);
digitalWrite(led1 , LOW);
digitalWrite(led2 , LOW);
digitalWrite(led3 , LOW);
delay(250);
}
else
{
digitalWrite(led1 , LOW);
digitalWrite(led2 , LOW);
digitalWrite(led3 , LOW);
}
}
İYİ ÇALIŞMALAR…
Bilgi için yorum bırakabilirsiniz.