Arduino Arduino’da Potansiyometre ile Led Kontrolü By Konuk Yazar Posted on 30 Nisan 2016 4 min read 0 2 35,671 Paylaş ! Facebook Paylaş ! Twitter Paylaş ! Google+ Paylaş ! Reddit Paylaş ! Pinterest Paylaş ! Linkedin Paylaş ! Tumblr Merhaba arkadaşlar! Bu çalışmamızda,Arduino kartımızla potansiyometre, diğer adıyla ayarlı direnç kullanımını, direncin değerine göre 3 adet led ve 1 adet buzzer kullanarak çalıştıracağız . Şimdi çalışmamıza geçelim; KULLANACAĞIMIZ MALZEMELER Arduino Uno 3 Adet Led 1 Adet Buzzer 4 Adet 220 ohm direnç 1 Adet 10 k Potansiyometre DEVRE ŞEMASI Devremizde potansiyometre için gerilim kaynağı olarak arduino kartımız üzerinde bulunan 5v pinini, toprak olarak gnd pinlerinden birini ve direnç değerimizi okuyacağımız A0 analog pini kullanıyoruz. Ledlerimizi yüksek akımdan korumak için ise her bir lede ve buzzera 220Ω direnç ekliyoruz. Yapacağımız işlemde A0 pinimiz üzerine düşen direnç değerimiz azaldıkça veya akımımız arttıkça ledleri sırayla yakmaya başlayacağız. Maksimum direnç değerinde tüm ledler sönük, minimum değerde ise tüm ledlerimiz yanıyor ve buzzer da ses çıkarıyor olacaktır. DEVREMİZİN KODU 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 digitalWrite(buzzer4, HIGH); digitalWrite(buzzer4, HIGH); digitalWrite(buzzer4, HIGH); digitalWrite(buzzer4, HIGH); } }