Üç Buton ile Şifreli Sistem
/* www.makersdukkan.com
3 butona buton2, buton1, buton3 sırasıyla basıldığında
led_dogru isimli ledi yakan,
yanlış sırada basıldığında led_hata isimli ledi yakan
programdır.
if komutunu kavramak için güzel bir çalışmadır.
Öncelikle kendiniz yazmaya çalışmalısınız.
*/
int led_dogru=2; // yeşil lede led_dogru ismini verdik
int led_hata=3;
int buton1=8;
int buton2=9;
int buton3=10;
int a=0;int b=0;int sayac=0;
void setup ()
{
pinMode (led_dogru,OUTPUT);
pinMode (led_hata,OUTPUT);
pinMode (buton1,INPUT);
pinMode (buton2,INPUT);
pinMode (buton3,INPUT);
}
void loop ()
{
digitalWrite(led_hata,0);digitalWrite(led_dogru,0);
if (digitalRead(buton1)==0) { a=0; sayac=sayac+1;}
if (digitalRead(buton2)==0) { a=1; sayac=sayac+1;} // basılan birinci buton doğru
if (digitalRead(buton3)==0) { a=0; sayac=sayac+1;}
delay(150); // bu gecikme komutunu kulanmazsak butona 2-3 kere basılmış gibi algılanacaktır.
if ((a==1)&(digitalRead (buton1)==0))
{ delay(50); b=1; } // basılan 2. buton da doğru
if ((b==1)&(digitalRead (buton3)==0))
{
delay(50); digitalWrite(led_dogru,1);delay(1000); // basılan 3. buton da dogru
a=0;b=0;sayac=0;
}
//———– YANLIŞ HAMLE ——————————-
if ((sayac==3)&(b==0))
{digitalWrite(led_hata,1);delay(500);a=0;b=0; sayac=0; }
}