Bugün potansiyometre ile led kontrolü yapacağız ve kodların adım adım açıklamasını bu yazımız içerisinde bulabileceksiniz. Projemizde 3 adet led, bir adet buzzer ve bunları kontrol edebilmek için bir adet potansiyometre kullanacağız. Ayrıca ledlerimizin yanmaması için de ledlerin artı(+) bacaklarına takılmak 3 adet 220 ohmluk direnç kullanacağız. Bildiğiniz gibi ledlerimizin uzun bacakları (+), kısa bacakları ise (-) olmaktadır ve devremizi buna göre bağlayacağız. Aynı durum buzzer için de geçerlidir.
İlk olarak Arduinomuz üzerindeki GND kısmına jumper kablomuzun bir ucunu bağlıyoruz diğer ucunu ise breadboard üzerindeki mavi alana(-) kısma takıyoruz. Ardından 5V kısmına taktığımız kablonun diğer ucunu breadboard üzerindeki kırmızı alana(+) bağlıyoruz. Böylece Breadboardumuza elektrik aktarımını gerçekleştirdik.
Şimdi ledlerimizi, buzzer ve potansiyometremizi bağlamakta sıra. potansiyometrennin 3 bacağı vardır ve biz bunlardna kenarda olanlardan birini (+), diğerini ise (-) olarak bağlıyoruz. Ortadaki bacağı ise potansiyometrenin değerini okumamıza yardımcı olduğu için onun bağlantısını Arduinomuz üzerindeki A0 pinine bağlıyoruz. Böylece Arduino kartımız potansiyometre üzerinden 0-1024 arasında gelen değerleri okuyabilecek ve gelen değere göre 250 den küçükken led yakmazken 250-500 arasında 1 led, 500-750 arasında 2 led, 750-100 arasıda 3 led yakacak ve bu değer 1000’in üzerine çıktığında 3 led yanarken buzzer ötecektir.
Ledlerimizin artı bacaklarına direnci bağladıktan sonra bu dirençlerin olduğu noktayı sırasıyla led1 için Arduino üzerindeki 2. pine, led2 için 3. pine, led3 için 4. pine bağlıyoruz. Eksi (-) bacaklarını ise breadboard üzerindeki (-) kısma bağlıyoruz. Buzzer için ise eksi(-) ayağı breadboard üzerindeki (-) kısma bağlarken, artı(+) ayağını Arduinomuz üzerindeki 5. pine bağlıyoruz. Bu işlemi yaptıktan sonra aşağıdaki kodu Arduinomuz üzerine yüklüyoruz ve programımız sorunsuz şekilde çalışıyor.
çalışan kodu ve devre şemasını indirmek için tıklayınız.
int led1 = 2; //2.digital pini led1 değişkenine atadık int led2 = 3; //3.digital pini led2 değişkenine atadık int led3 = 4; //4.digital pini led3 değişkenine atadık int buzzer4 = 5; //5.digital pini buzzer4 değişkenine atadık int pot = A0; //A0 analog pini pot değişkenine atadık int potdeger; //Kodlarımız içerisinde kullanacağımız potdeger değişkenini oluşturduk void setup() { pinMode(led1, OUTPUT); //led1 i çıkış olarak ayarladık pinMode(led2, OUTPUT); //led2 yi çıkış olarak ayarladık pinMode(led3, OUTPUT); //led3 ü çıkış olarak ayarladık pinMode(buzzer4, OUTPUT); //led4 i çıkış olarak ayarladık pinMode(pot, INPUT); //pot u giriş olarak ayarladık } void loop() { potdeger= analogRead(pot); //pot değişkenine atadağımız A0 pinini dinliyoruz ve değerini potdeger değişkenine atıyoruz if (potdeger<250){ //potdeger 250 den küçükse hiçbir ledi yakma digitalWrite(led1, LOW); digitalWrite(led2, LOW); digitalWrite(led3, LOW); digitalWrite(buzzer4, LOW); } if (potdeger>250){ //potdeger 250 den büyükse sadece led1 i yak digitalWrite(led1, HIGH); digitalWrite(led2, LOW); digitalWrite(led3, LOW); digitalWrite(buzzer4, LOW); } if (potdeger>500){ //potdeger 500 den büyükse led1 i ve led2 yi yak digitalWrite(led1, HIGH); digitalWrite(led2, HIGH); digitalWrite(led3, LOW); digitalWrite(buzzer4, LOW); } if (potdeger>750){ //potdeger 750 den büyükse led1 i, led2 yi ve led3 ü yak digitalWrite(led1, HIGH); digitalWrite(led2, HIGH); digitalWrite(led3, HIGH); digitalWrite(buzzer4, LOW); } if (potdeger>1000){ //potdeger 1000 den büyükse tüm ledleri yak ve buzzer çalışsın digitalWrite(led1, HIGH); digitalWrite(led2, HIGH); digitalWrite(led3, HIGH); digitalWrite(buzzer4, HIGH); } }
Son yorumlar