Bu yazımızda Arduino Potansiyometre kullanımı ele alacaz ve potansiyometre ne olduğunu inceleyecez. Lafı uzatmadan yazımıza başlayalım.
Potansiyometre Nedir ?
Arduino potansiyometre kullanımı yazımıza başlamadan öncelikle potansiyometre kompanentini açıklayalım. Potansiyometre, bir diğer ismi de reosta olan bu devre elemanı, dışarıdan yapılan fiziki müdahale sonucunda değeri değişen dirençlere potansiyometre ismi verilmektedir. Potansiyometreler sayesinde devrelere verilen akımın sınırlanması yada bölünerek verilmesi sağlanmaktadır.
Potansiyometreler oldukça sık kullanılan devre elemanlarıdır ve oldukça çok çeşide sahiptirler. Arduino ile ilgili projelerimizde ise genellikle lineer potansiyometre ve sürgülü (slider) potansiyometreler kullanılmaktadır.
Potansiyometreler direnç yapısı ile çalışır ve başlangıç noktasından bitiş noktasına kadar farklı dirençlik özellikler gösterirler. Örneğin bağlamış olduğunuz bir ledin potansiyometre sayesinde ışık seviyesini düşürebilir yada alçaltabilirsiniz.
Potansiyometreler Arduino ile yapılan bir çok projede yer almaktadır. Ekranın parlaklığını ayarlama, ledin parlaklığını ayarlama, sürgülü potansiyometre ile araç pedalı yapımı vb. bir çok projede kullanılmaktadır ve oldukça uygun fiyatlıdır.
Potansiyometreler hakkında fikir sahibi olduğumuza göre şimdi ise potansiyometreler ile ilgili projelere başlayalım.
Proje 1
Bu projemizde potansiyometre üzerinden gelen değerleri serial ekranda görecez ve bu değerlerin potansiyometrenin üzerinde yapılan fiziki hareketlerle nasıl değiştiğini saptayacaz. Lafı uzatmadan malzemeleri listeleyelim.
- 1 Adet Arduino Uno
- 1 Adet Breadboard
- 1 Adet 10K Potansiyometre
- Jumper kablolar
Bu proje için gerekli malzemeleri listelediğimize göre şimdi ise projemizin kod satırlarını oluşturalım.
//omerfarukyildiz.com int pmetre=A1; //Potansiyometrenin Anolog 1 pininde oldugunu tanımlıyoruz. int deger=0; //Deger adında bir degişken tanımlıyoruz ve bu degeri 0 sayısına eşitliyoruz. void setup() { Serial.begin(9600); //Seri haberleşme Aktif hale getiriyoruz. } void loop() { deger = analogRead(pmetre); //Deger adlı degişkeni potansiyometreden gelen degerlere tanımlıyoruz. Serial.print("Potansiyometreden gelen deger: "); // Serial ekrana Potansiyometreden gelen deger: yazısını yazdırıyoruz. Serial.println(deger); //Deger degişkenini serial ekrana yazdırıyoruz. delay(100); //Yukarıdaki işlemleri 100 milisaniyede bir tekrar etmesini sağlıyoruz. }
Bu projede analog pin1 den gelen potansiyometre değerini tanımladık ve ardından deger adında bir değişken tanımladık. Bunun ardından ise serial haberleşmeyi aktif hale getirdik. Bunun ardından tanımladığımız pini deger değişkenine tanımladık ve bunları serial ekrana yazdırdık. Bu işlemler ise 100 milisaniyede bir şekilde sürekli olarak tekrar edecektedir. Şimdi ise devre şemasını oluşturalım.
Bu şekilde projemizin şemasını tamamlamanız halinde ise potansiyometreden gelen degerler serial ekrana 100 milisaniyede bir şekilde düşecektir. Ekran çıktısı şü şekilde olur.
Şimdi ise ikinci projemize geçelim.
Proje 2
Bu projemizde ise potansiyometrede yapacağımız fiziki degişliklerle birlikte ledlerin yanmasını sağlayan devre yapacaz. Lafı uzatamadan malzemelerin listesini listeleyelim.
- 1 Adet Arduino Uno
- 1 Adet Breadboard
- 1 Adet 10K Potansiyometre
- 1 Adet kırmızı Led
- 1 Adet sarı Led
- 1 Adet yeşil Led
- Jumper kablolar
Malzemeleri listeledigimize göre şimdi ise kod satırlarını oluşturalım.
//omerfarukyildiz.com int pmetre=A1; //Potansiyometrenin Anolog 1 pininde oldugunu tanımlıyoruz. int deger=0; //Deger adında bir degişken tanımlıyoruz ve bu degeri 0 sayısına eşitliyoruz. int kirmizi=8; int sari=9; int yesil=10; void setup() { Serial.begin(9600); //Seri haberleşme Aktif hale getiriyoruz. } void loop() { deger = analogRead(pmetre); //Deger adlı degişkeni potansiyometreden gelen degerlere tanımlıyoruz. Serial.print("Potansiyometreden gelen deger: "); // Serial ekrana Potansiyometreden gelen deger: yazısını yazdırıyoruz. Serial.println(deger); //Deger degişkenini serial ekrana yazdırıyoruz. if(deger<255){ //Deger deger 255 sayısından küçükse yesil led yanacak diger ledler yanmayacaktır. digitalWrite(yesil,HIGH); digitalWrite(sari,LOW); digitalWrite(kirmizi,LOW); delay(100); } else if(deger<510){ //Deger deger 510 sayısından kucukse sari led yanacak diger ledler yanmayacaktır. digitalWrite(yesil,LOW); digitalWrite(sari,HIGH); digitalWrite(kirmizi,LOW); delay(100); } else if(deger<760){ //Deger deger 760 sayısından kucukse kırmızı led yanacak diger ledler yanmayacaktır. digitalWrite(yesil,LOW); digitalWrite(sari,LOW); digitalWrite(kirmizi,HIGH); delay(100); } else if(deger<1024){ //Deger deger 1024 sayısından kucukse butun ledler yanacaktir. digitalWrite(yesil,HIGH); digitalWrite(sari,HIGH); digitalWrite(kirmizi,HIGH); delay(100); } else{ //Deger yukarıdaki işlemlerin hiçbirisi sağlanmaz ise butun ledler kapatılacaktır. digitalWrite(yesil,LOW); digitalWrite(sari,LOW); digitalWrite(kirmizi,LOW); delay(100); } delay(100); //Yukarıdaki işlemleri 100 milisaniyede bir tekrar etmesini sağlıyoruz. }
Yukarıda kod satırlarında ise proje 1 de kod satırlarını aynısı bulunmakta ve buna ek olarak ledleri ekledik. Bu ledleri ise potansiyometreden gelen değerlere göre önce yeşil sonra sarı daha sonra kırmızı ve en son seviyeye gelince ise bütün ledler yanacaktır. Şimdi ise devre şemasını oluşturalım.
Devre şemasını oluşturmamızın ardından potansiyometreyi döndürmemiz ile ledlerin renkleri değişeceğini göreceksiniz. Yazımız burada son bulmuştur ve bizi takipte kalın.
Matlab programlama dili için oluşturduğumuz yazılarak gitmek için Tıklayınız. tıklayarak gidebilirsiniz.
İsterseniz Java ve diğer programlama dilleri için sayfamıza Tıklayınız.
İsterseniz Arduino ile ilgili projelerime göz atmak için sayfamıza Tıklayınız.