Bu yazıda
- 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 uygulası yapacağız.
İşlemcide Led yakmak programlamanın “Hello Word” dür.. :)
Ben uygulamamamda Arduino Leonardo 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ştirebilirsiniz. Şimdi üç farklı uygulama ile Arduino’da led ve buton kontrolü gerçekleştireceğiz. Yazımızın sonunda uygulamaların gerçek ortam nasıl çalıştığını anlattığımız videoumuzu izleyebilirsiniz.
Led yakıp söndürme:
Uygulamamızın bağlantı şekli :
Uygulama için yazılan örnek kod:
//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 }
İ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 }
Bu yazıdaki son uygulamamız olan buton 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 :
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 } 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 }
Kodlarımızı Arduino İDE’ye yazıp upload ettiğimizde projemizi tamamlamış olacağız.
KAYNAK : http://www.caglargul.com/, http://www.elektrik.gen.tr/2016/03/arduino-ile-led-ve-buton-kontrolu/1707