Bu yazımızda Arduino’ya bağlı potansiyometre ile Led parlaklık kontrolü yapacağız. Peki bu nasıl olacak?
Arduinomuzun analog girişine bir adet potansiyometre bağlayacagız. Bağlanan potansiyometrenin dijital değerini donanımsal ADC modülü ile elde edeceğiz. Çevrilen değeri belli bir değer aralığına azaltıp bu değerleri Arduino’ya bağlı olan ledin bulunduğu pine göndereceğiz. Böylece potansiyometrenin değişen değerine göre ledin parlaklığı değişecektir.
Kuracağımız devre şekildeki gibidir. A0 analog pinine bağlı 10kΩ potansiyometre ve 9 nolu PWM pinine bağlı led.
Yazılımda potansiyometre değeri analog pinden okunur. ADC ölçüm çözünürlüğü 10bit olduğu için Ölçülen değer aralığı 0 – 1023 dür. PWM çıkış çözünürlüğü 8bit olduğu için komutu değer aralığı 0 – 255 dir. Bu yüzden ADC den ölçülen değer aralığının PWM çıkış aralığına dönüştürülmesi gerekir. Dönüştürüldükten sonra değer, PWM çıkış pinine gönderilerek LED’in parlaklığı değiştirilir.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
int deger = 0; void setup() { pinMode(A0, INPUT); pinMode(9, OUTPUT); } void loop() { deger = analogRead(A0); deger = map(deger,0,1023,0,255); analogWrite(9,deger); } |
1 |
int deger = 0; |
1 |
pinMode(9, OUTPUT); |
1 |
deger = analogRead(A0); |
1 |
deger = map(deger,0,1023,0,255); |
1 |
analogWrite(9,deger); |
Devrenin ISIS’de simulasyon edilmiş hali;
***ISIS üzerinde analog çıkış görmek için RC filtre ekledim.
Potansiyometrenin %lik değerlerine göre analog çıkışı ve dalganın osilaskop görüntüsünü görebilirsiniz.