Potansiyometre, adı yabancı gelse de günlük kullandığımız bir çok cihazda var olan ve elle ayarlama yapabildiğimiz bir direnç türüdür. Örneğin; araç radyolarında sesi arttırmak veya azaltmak için çevirdiğimiz düğme bir potansiyometredir. Potansiyometreler 0 ile 1023 arasında analog değerler elde etmek için kullanılmaktadır. Fakat bu değer aralığı projenin ihtiyacına göre belirli değer aralığına uyarlanabiliyor. Örneğin 0 ile 100 birim aralığı.
Potansiyometre arduino ile birlikte nasıl kullanılır?
Arduino ile potansiyometreden veri okuyabilmek için potansiyometrenin data (veri) pinini arduino üzerindeki A0-A5 analog pinlerinden birine bağlamamız gerekmektedir. Potansiyometrenin 3 bacağından ortadaki veri bacağı olduğu için buradan arduinonun analog pinlerinden birine bağlantı yapmalıyız. Kenarlarda kalan bacaklar ise + ve – kutuplarıdır. Alışkanlık olduğu için sağa doğru çevirdiğimizde değerin yükselmesini istediğimizden potansiyometreyi yukarıdaki resimdeki gibi tuttuğumuzda sol bacağı GND pinine, sağ bacağı 5V bağlamalıyız.
Arduino poansiyometre bağlantısı aşağıdaki fritzing çıktısındaki gibi olmalıdır.
Potansiyometre kontrolü için arduino kodları
Şimdi arduino ile potansiyometre kontrolü için gerekli kodlarını oluşturalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 | const byte potansiyometre_pin=A1; int pot_deger; void setup() { Serial.begin(9600); } void loop() { pot_deger=analogRead(potansiyometre_pin); Serial.print("Potansiyometre Degeri= "); Serial.println(pot_deger); } |
Kodu arduinoya yükledikten sonra Araçlar menüsünden Seri Port Ekranı (Ctrl+Shift+M) tıklayarak potansiyometreden okunan değerleri ekranda görebilirsiniz. Potansiyometreyi sağa veya sola çevirerek 0 ile 1023 arasında değerleri değiştirebilirsiniz.
Bu durumda potansiyometreden minimum 0, maksimum 1023 değerleri okunacaktır. Şimdi bu değerleri 0 ile 100 aralığına çekecek şekilde arduino kodlarını yeniden düzenleyelim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | const byte potansiyometre_pin=A1; int pot_deger; void setup() { Serial.begin(9600); } void loop() { pot_deger=analogRead(potansiyometre_pin); int yeni_deger=map(pot_deger,0,1023,0,100); Serial.print("Potansiyometre Degeri= "); Serial.println(yeni_deger); } |
Burada değişimi yapan map komutudur. Map komutu ile potansiyometreden 0 ile 1023 arasında okunan analog değeri 0 ile 100 arasında indirgemiş olduk.
Konu ile ilgili hazırlamış olduğum arduino ile potansiyometre kullanımı başlıklı videoyu izleyerek daha detaylı bilgi sahibi olabilirsiniz.