Bugünkü yazımızda led kontrolleri; ledin tanımlanması aktif ve pasif hale getirilmesi; buton tanımlanması; butonun kontrol edilmesi ve buton kontrolünün led ile birleştirmişi konusunda sırası ile led kontrolü, flip flop devresi ve buton ile led kontrolü konusunda üç tane uygulamamızı yapacağız.
Arduino İDE’den kullanılacak işlemciyi seçip bağlantılarımızı yaptıktan sonra ilk olarak led yakıp söndürme uygulamamızı yapacağız.
İşlemcide Led yakmak programlamanın “Hello Word” tür. 🙂
Ben uygulamamda Arduino Leonarda kullandım. Sizde ister Leonardo ister başka bir işlemci kullanabilirsiniz. Kodlama konusunda bir farklılık oluşmaz sadece çıkış pinlerine dikkat etmeniz yeterli olur.
Bu bağlantıları kendinize özgü rasgele seçtiğiniz dijital çıkışlardan gerçekleştirebilirsin.
Uygulama 1: Led Yakıp Söndürme
Uygulamamızın bağlantı şekli :
Uygulama için yazılan örnek kod:
int led = 5; //işlemcimizden 5 numaralı çıkışını led değişkenine atadık. void setup() { pinMode(led, OUTPUT); // led değişkenini pinini çıkış olarak ayarlanıyor. } void loop()// sonsuz döngü { digitalWrite(led, HIGH); // HGIH led çıkışını aktif yapar Pin çıkışına 1 gönderir delay(1000); // 1 saniye bekler. (1000 1sn’ye eşit gelir) digitalWrite(led, LOW); // LOW led çıkışını pasif yapar Pin çıkışına 0 gönderir. delay(1000); // 1 saniye bekler }
Uygulama 2: Flip Flop
İkinci uygulama olarak bir flip flop yapalım.
Flip Flop’un çalışma mantığı mevcut iki led den biri yanarken diğeri sönecek ve bu zıt işlem sıra ile birbirini takip edecek.
Uygulamamızın bağlantı şekli :
Uygulama için yazılan örnek kod:
int led1 = 5; //işlemcimizden 5 numaralı çıkışını led1 değişkenine atadık. int led2 = 6; //işlemcimizden 5 numaralı çıkışını led2 değişkenine atadık. void setup() { pinMode(led1, OUTPUT); // led1 değişkeninin pini çıkış olarak ayarlanıyor. pinMode(led2, OUTPUT); //led2 değişkenimizi çıkış olarak ayarladık } void loop()// sonsuz döngü { digitalWrite(led1, HIGH); // HGIH led çıkışını aktif yapar Pin çıkışına 1 gönderir digitalWrite(led2, LOW); //led2 çıkışmıza 0 gönderdik delay(1000); // 1 saniye bekler. (1000 1sn’ye eşit gelir) digitalWrite(led1, LOW); // LOW led çıkışını pasif yapar Pin çıkışına 0 gönderir. digitalWrite(led2, HIGH); // led2 çıkışına 1 gönderidk delay(1000); // 1 saniye bekler }
Uygulama 3: Led Kontrolü
Bu yazıdaki son uygulamamız olan buton kontrolü ile led kontrolü..
Devremizde butona basıldığı zaman ledimiz 1 saniye yanacak basılmadığı durumlarda sönük kalacak.
Uygulamamızın bağlantı şekli :
Uygulama için yazılan örnek kod:
int led = 10 // 10. pin çıkışımızı led degişkenine atadık int buton =3; //3. pin çıkışını buton değişkenine atadık int butondeger = 0; // buton değişkenine buton değerinin kontorlünde kullancağız void setup() { pinMode(led,OUTPUT); // led değişkenini (pini) çıkış tanımladık pinMode(buton,INPUT); // buton değişkeini (pini) giriş tanımladık } void loop()//sonsuz döngü { butondeger =digitalRead(buton); // buton pininin dijital okuması yapıp butondeger değişkenine atadık if(butondeger ==HIGH) { // butona basılmışsa (digital deger 1 ise) şart sağlanacak, şart ifademizdeki durum gercekleşecek digitalWrite(led,HIGH); // şartımız saglandı ledimizi yaktık delay(1000); //1 saniye bekleme ledin yandığını net olarak görebilmezmi için } else digitalWrite(led,LOW); // şartımızın sağlanmadığı durumlarda ledimiz sönük }
Yazar: Emin ÖZKAN