/* Bu programda buton1 e basınca displeyde 1, buton2 ye basınca 2, buton3 e basınca 3,
1 ve 2 ye basınca displeyde 4, 2 ve 3 e basınca 5, 1 ve 3 e basınca 6 gösterilecektir.
fonksiyon kullanımının ve if komutunda and operatörü kullanımının anlaşılması için tasarlanmıştır
robotkursu başlangıç modülüne göre yazılmıştır.
www.robotkursu.com 26.02.2016
*/int a=A5; // 7 segmentli displeyin a segmenti arduinonun A5 pinine bağlıdır
int b=A4;
int c=A3;
int d=5; //7 segmentli displeyin d segmenti arduinonun 5 nolu pinine bağlıdır
int e=4;
int f=2;
int g=3;
int buton1=8; // butonlar arduinonun 8-9-10 nolu pinlerine bağlıdır
int buton2=9;
int buton3=10;
void setup()
{
pinMode(a, OUTPUT);pinMode(b, OUTPUT);pinMode(c, OUTPUT);pinMode(d, OUTPUT);
pinMode(e, OUTPUT);pinMode(f, OUTPUT);pinMode(g, OUTPUT);
pinMode(buton1,INPUT_PULLUP); pinMode(buton2,INPUT_PULLUP); pinMode(buton3,INPUT_PULLUP);
// butonlara 10 k direnç bağlı olmadığından dahili pullup dirençleri aktif ediliyor.
}
void loop()
{
//———– Yalnızca buton 1 e basılmışsa ———————
if((digitalRead(buton1)==0) && (digitalRead(buton2)==1) && (digitalRead(buton3)==1)) // basılan butondan arduinoya 0 bilgisi gelir. basılı değilse gelen değer 1 dir.
{ bir();sondur(); }
if((digitalRead(buton1)==1) && (digitalRead(buton2)==0) && (digitalRead(buton3)==1)) // sadece buton2 ye basılmışsa
{ iki();sondur(); }
if((digitalRead(buton1)==1) && (digitalRead(buton2)==1) && (digitalRead(buton3)==0)) // sadece buton3 e basılmışsa
{ uc();sondur(); }
if((digitalRead(buton1)==0) && (digitalRead(buton2)==0) && (digitalRead(buton3)==1)) // buton1 ve buton2 ye basılmışsa
{ dort();sondur(); }
if((digitalRead(buton1)==1) && (digitalRead(buton2)==0) && (digitalRead(buton3)==0)) // buton2 ve buton3 ye basılmışsa
{ bes();sondur(); }
if((digitalRead(buton1)==0) && (digitalRead(buton2)==1) && (digitalRead(buton3)==0)) // buton1 ve buton3 e basılmışsa
{ alti();sondur(); }
}
//————— ANA PROGRAM SONU ————–
void bir()
{
digitalWrite(b,HIGH);digitalWrite(c,HIGH); // dipleyde 1 yandı
delay(500);
}
void iki()
{
digitalWrite(a,HIGH);digitalWrite(b,HIGH);digitalWrite(d,HIGH);
digitalWrite(e,HIGH);digitalWrite(g,HIGH);
delay(500);
}
void uc()
{
digitalWrite(a,HIGH);digitalWrite(b,HIGH);digitalWrite(c,HIGH);
digitalWrite(d,HIGH);digitalWrite(g,HIGH);
delay(500);
}
void dort()
{
digitalWrite(b,HIGH); digitalWrite(c,HIGH);
digitalWrite(f,HIGH); digitalWrite(g,HIGH);
delay(500);
}
void bes()
{
digitalWrite(a,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH);
digitalWrite(f,HIGH); digitalWrite(g,HIGH);
delay(500);
}
void alti()
{
digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(e,HIGH);
digitalWrite(f,HIGH); digitalWrite(g,HIGH);
delay(500);
}
void sondur()
{
digitalWrite(a,LOW); digitalWrite(b,LOW); digitalWrite(c,LOW); digitalWrite(d,LOW);
digitalWrite(e,LOW); digitalWrite(f,LOW); digitalWrite(g,LOW);
} |