Bu uygulamada amaç, potansiyometreden gelen analog sinyali ölçerek sinyalin büyüklüğü oranında ledin parlaklığını ayarlamaktır.
Devrede kullanılan malzemeler şunlardır:
- 1 adet Arduino UNO
- Breadboard
- 1 adet LED
- 1 adet 220 ohm Direnç
- 1 adet 10K Potansiyometre
- İstediğiniz Renk Ve Boyutta Atlama Kablosu
Devre şeması aşağıdaki gibidir:
Program kodları aşağıdaki gibidir:
int ledPin=5; // dijital 5 pinine ledPin ismi verildi
int potPin=A0; // AO pinine potPin ismi verildi
int potDegeri; // potDegeri değişkeni tanımlandı
void setup(){
}
void loop(){
potDegeri=analogRead(potPin);
potDegeri=map(potDegeri, 0, 1023, 0, 255);
analogWrite(ledPin, potDegeri);
delay(10);
}
Program kodlarındaki bazı önemli satırların çalışma mantığı aşağıda gösterilmiştir:
potDegeri=analogRead(potPin); analogRead() fonksiyonu ile potansiyometrePin adlı pinden değer okunuyor ve potansiyometreDegeri adlı değişkene kaydediliyor.Okunan bu değer 0-1023 arasında bir değerdir.
potDegeri=map(potDegeri, 0, 1023, 0, 255); potDegeri 0-1023 arasında bir sayıdır. Led’e sinyal göndereceğimiz PWM pini 0-255 arasında bir değer alabiliyor. Bu nedenle 0-1023 arasındaki sayısıları, 0-255 arası adımlara bölüyoruz. Bu işi yapan özel fonksiyonun adı map() fonksiyonudur.
analogWrite(ledPin, potDegeri); analogWrite() komutu pinlere analog sinyal göndermek için kullanılır. potDegeri değişkenindeki değeri ledPin adlı pine gönderiyoruz. Led potansiyometreden gelen değer kadar parlak yanıyor.
Kaynaklar:
Hiç yorum yok:
Yorum Gönder