Seri Haberleşme Uygulaması
Bilgisayar ile LED Kontrolü
Serial
Monitör ekranına klavyeden A,B,C,D harflerinden herhangi biri girilerek o
harflere karşılık gelen LED’lerin yanması veya sönmesi sağlanıyor.
// 9,10,11
ve 12 numaralı pinleri karışıklık olmaması için harf ile adlandırıyorum
#define A 12
#define B 11
#define C 10
#define D 9
char key;
boolean
durum[4]= {false, false, false, false}; // başlangıçta hiçbir LED’lin yanmadığı
bilgisi saklanıyor
void setup()
{
// 9,10,11 ve 12 Numaralı pinleri dijital
çıkış olarak yönlendiriyoruz
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
Serial.begin(9600);
}
void loop()
{
if(Serial.available()>0) // Arduino’nun klavyeden ona bilgi gönderip göndermediğimizi
anlamasını sağlıyoruz
{
key = Serial.read(); // Klavyeden girilen harfi okutuyoruz
ve key değişkeninde saklıyoruz
Serial.print("Gelen karakter:");
Serial.println(key);
if(key=='A') // 12 numaralı pin
{
yak(A);
}
else if(key=='B') // 11 numaralı pin
{
yak(B);
}
else if(key=='C') // 10 numaralı pin
{
yak(C);
}
else if(key=='D') // 9 numaralı pin
{
yak(D);
}
}
}
void yak(int
LED)
{
if(LED==A) // 12 numaralı pin ise
{
if(durum[0]==false) // sömüş durumda ise yakıyoruz
{
digitalWrite(LED, HIGH);
durum[0]=true; // yanmaya başladığı bilgisini
saklıyoruz
}
else if(durum[0]==true) // yanmış durumda ise söndürüyoruz
{
digitalWrite(LED, LOW);
durum[0]=false; // sönmeye başladığı bilgisini
saklıyoruz
}
}
else if(LED==B)
{
if(durum[1]==false)
{
digitalWrite(LED, HIGH);
durum[1]=true;
}
else if(durum[1]==true)
{
digitalWrite(LED, LOW);
durum[1]=false;
}
}
else if(LED==C)
{
if(durum[2]==false)
{
digitalWrite(LED, HIGH);
durum[2]=true;
}
else if(durum[2]==true)
{
digitalWrite(LED, LOW);
durum[2]=false;
}
}
if(LED==D)
{
if(durum[3]==false)
{
digitalWrite(LED, HIGH);
durum[3]=true;
}
else if(durum[3]==true)
{
digitalWrite(LED, LOW);
durum[3]=false;
}
}
}