Arduino Analog Çıkış İşlemleri
Analog IN Giriş üzerinden gelen 0-1023 arasındaki bir değer, PWM pinlerine 0-255 arasındaki değerlere dönüştürülüp gönderilerek Analog OUT Çıkış değeri elde edebiliriz.
Merhabalar,
Bu uygulamamızda Arduino geliştirme kartımızla analog çıkış işlemlerini nasıl yapabileceğimizden bahsedeceğiz.
Arduino ile Analog Giriş İşlemleri başlıklı yazımızda Arduino üzerindeki analog pinlere bağlı devre elemanlarını nasıl kullanabileceğimizden bahsetmiştir. Anolog pinler dijital pinlerden farklı olarak 0-1023 arasında değer okuyamaktadır. Bir potansiyometreden gelen değere göre Arduino işlem yapmaktadır. Analog giriş işlemleri için Arduino UNO kartımızda 6 adet analog pin bulunmaktadır. Ancak analog bir değeri çıkış olarak göndermek için Arduino geliştirme kartımızda Analog OUT pini bulunmamaktadır. Bunun için önceki uygulamalarımızda da bahsi geçen PWM tekniği ile okunan bir analog değer bir başka devre elemanını çalıştırmak, kontrol etmek için kullanılmaktadır. Darbe Genişliği Modülasyonu adı verilen PWM tekniği ile dijital sinyal ile çalışan bir devre elemanını analog değerler ile çalıştırabilmekteyiz. Analog IN Giriş üzerinden gelen 0-1023 arasındaki bir değer, PWM pinlerine 0-255 arasındaki değerlere dönüştürülüp gönderilerek Analog OUT Çıkış değeri elde edebiliriz.
Bu uygulamamızda potansiyometreden gelen analog sinyali, Arduino map() fonksiyonu ile bir LED’in parlaklığını kontrol etmekte kullanacağız. map() fonksiyonu Analog IN üzerinden gelen değeri (0-1023), PWM pinleri için (3, 5, 6, 9, 10 ,11 numaralı dijital pinler – PWM pinleri ~) 0-255 arası bir değere dönüştürecektir. Bu değeri de analogWrite() fonksiyonu ile tanımladığımız PWM pinine göndereceğiz ve LED’e 0V – 5V arası değişen bir gerilim uygulayarak parlaklığını değiştireceğiz. analogWrite(analogCikisPini, LEDDegeri); komutu bu işlemi gerçekleştirecektir.
Analog Çıkış İşlemleri için ihtiyacımız olan devre elemanları:
1- Arduino ve USB Kablo
2- 1 adet potansiyometre
3- 1 adet LED
4- 1 adet 220 ohmluk direnç (Kırmızı, kırmızı, kahverengi)
5- Devre tahtası
6- Jumper kablolar
Analog Çıkış İşlemleri Uygulama Devre Şeması:
Analog Çıkış İşlemleri Uygulama Devresi:

Analog Çıkış İşlemleri Uygulama Kodları:
/* BlogKod - Analog Çıkış İşlemleri Uygulaması */
const int analogGirisPini = A0; // Potu A0 analog pine bağlayacağız
const int analogCikisPini = 3; // PWM pini olmak zorunda!
int potDegeri = 0; // Pottan gelen değeri bu değişkene atayacağız
int LEDDegeri = 0; // 0-255 arası dönüşüm değerini bu değişken tutacak
int gecikme = 500;
void setup() {
Serial.begin(9600);
}
void loop() {
potDegeri = analogRead(analogGirisPini); // A0 pininden değer okundu
Serial.print("Pottan Okunan Deger: "); // A0'dan gelen değeri Seri porta yazıyoruz
Serial.println(potDegeri);
delay(gecikme);
// Analog IN değerini Analog OUT değerine çevrim işlemini map() fonksiyonu ile yapıyoruz
// map() fonskiyonu potDegerini alacak(0-1023 arası) ve 0-255 arası bir değere çevirecek
//Çevrim işlemi yapılıyor ve bu değer LEDDegeri değişkeninde tutuluyor
LEDDegeri = map(potDegeri, 0, 1023, 0, 255);
Serial.print("Analog Cikis Degeri: "); //Çevrimi yapılan bu yeni değeri seri porta yazıyoruz
Serial.println(LEDDegeri);
delay(gecikme);
// analogWrite() fonksiyonu PWM pinimize çevrimi yapılan yeni değeri gönderiyor
// PWM pinine bağlı olan LED'imiz bu değere göre parlaklık alıyor.
analogWrite(analogCikisPini, LEDDegeri);
}
Analog Çıkış İşlemleri Uygulama Videosu:
Bir sonraki uygulamamızda görüşmek üzere…
