Arduino Potansiyometre ile Led Yanma Hızı Kontrolü

Robotik ve Arduino Kodlama ve Proje Geliştirme

Potansiyometre ile Led Yanma Hızı Kontrolü

Arduino Potansiyometre ile Led Yanma Hızı Kontrolü

Arduino kullanarak  Potansiyometre ile Led Yanma Hızı Kontrolü uygulamasında öncelikle Analog giriş kullanılarak pot değeri okunmaktadır. Potansiyometrenin değerlerine göre ise LED’in yanıp sönme süresi değiştirilecektir.

Potansiyometre ile Led Kontrolu Uygulamasının Şeması

Potansiyometre ile Led Yanma Hızı Kontrolü

Potansiyometre İle Led Yakma Uygulama İçin Malzeme Listesi

  1. Arduino Uno
  2. LED Diyot
  3. 220Ohm Direnç
  4. 10Kohm Potansiyometre
  5. Jumper (Bağlantı) Kabloları  (Erkek-Erkek)

Potansiyometre İle Led Kontrolü Arduino Kodları

Arduino Uno’da 6 adet anolog port bulunmaktadır. Analog girişlerden 5V değerinde giriş yapılmaktadır. Ancak programla kısmında 5Vluk giriş değeri ile işlem yapılmamaktadır. Bunun yerine 10 bitlik bir veri şeklinde kullanılmaktadır. 10 Bitlik veri 210=1024 maksimum değeri ile gösterilir. Yani analog girişten uygulanan 0-5V arasındaki elektriksel değerler programlama kısmında 0-1023 (Toplamda 1024 değer) olarak ifade edilmektedir. Bu sayede çok daha küçük değer değişimleri ile işlem yapılması sağlanmıştır. Analog kelimesi elektronik devrelerde belirli bir aralıkta sınırsız farklı değer alan sinyaller için kullanılabilir. Dijital kelimesi ise sadece 0 ve 5V değerleri ile işlem yapılmasını ifade etmektedir. Analog girişten elektriksel sinyaller Arduino için işlenebilr durumda değildir. Bu nedenle analog girişlerde Analog Dijital Çeviriciler (ADC -Analog Digital Convertor) bulunur. Bu çeviriciler sayesinde sinyaller 0-1023 arasındaki değerlere dönüştürülürler.

LED’e seri bağlı 220Ohmluk direnç ise uygulanan 5V’luk gerilimin LED ‘i bozmaması için konmuştur. LED lerin doğrudan arduino’ya bağlanması tavsiye edilmez.

Kodlar


/*
www.robotik.cc
Potansiyometre ile Led Yanıp Sönme Hızı Kontrolü
*/
#define ledPin 13
#define podPin A0
int sure;
int podDeger;
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(podPin, INPUT);
sure=100;
podDeger=0;
}
void loop()
{
podDeger=analogRead(podPin);
sure=map(podDeger,0,1023,100,1000);
digitalWrite(ledPin, HIGH);
delay(sure);
digitalWrite(ledPin, LOW);
delay(sure);
}

Kod blokları incelendiğinde ledPin 13 nolu dijital port, podPin 0 nolu analog portlar seçilmiştir.

Sure değişkeni tam sayı cinsinden belirlenmiştir.

podDeger potansiyometreden okunan 0-1023 arası değerdir.

sure=100 olarak ayarlanarak Led’in başlangıçta 100 Milisaniye aralıkla yanıp sönmesi sağlanmıştır.

podDeger=analogRead(podPin); ile A0 Analog girişinden gelen veri okunmaktadır.

sure=map(podDeger,0,1023,100,1000);  map komutu belirli aralıktaki verinin istenen veri aralığına dönüştürülmesini sağlamaktadır. Buna göre potansiyometre 0 değerinde ise led 100 ms , potansiyometrenin değeri 1023 ise led 1000 ms (1 Saniye) aralıklarla yanıp sönecektir. 1000 milisaniye istege göre değiştirilebilir.

digitalWrite(ledPin, HIGH);  LED in yanmasını sağlayan 5V değerinin uygulanmasını sağlamaktadır.

delay(sure); delay gecikme süresini belirler. Burada süre değişkeni ne olursa gecikme o kadar olacaktır.

Projenin Kodlarını İndirebilirsiniz.

Potansiyometre ile LED yanma hızı kontrolu