Bu özellik elbette ki tüm çıkış pinlerinde yok. Üzerinde ~ işareti bulunan pinleri kullanırsak analog özelliğini de kullanabiliriz.
Dijital çıkışlarda " digitalWrite(10, HIGH ), digitalWrite(10, LOW) " komutunu kullanıyorduk. Çıkışımız ya "1" ya da "0" oluyordu. Analog özelliğini kullanabilmemiz için ise aşağıdaki komuta ihtiyacımız olacak.
analogWrite( )
Öncelikle devremizi aşağıdaki gibi kuruyoruz.Tabi siz isterseniz üzerinde "~" işareti bulunan herhangi bir pini de kullabilirsiniz.
Kodlar ve açıklaması :
int led=9;
void setup()
{
pinMode(led, OUTPUT);
}
void loop()
{
int parlaklik;
{
for (parlaklik=0;parlaklik<=255;parlaklik+=5)
{analogWrite(led,parlaklik);
delay(100);
}
for(parlaklik=255;parlaklik>=0;parlaklik-=5)
{
analogWrite(led,parlaklik);
delay(100);
}
}
}
- 9. pinimizi çıkış olarak ayarladık
- Parlaklık ismiyle integer bir değer okuttuk.Bu değerimiz analog çıkış almamızı sağlayacak.
- 8 bitlik dijital değeri analog değere çevirmiş olduk 2^8=256 formülünden analog çıkışımız 0-255 arasında değişecek.
- Biz bu değeri 5'er 5'er 255'e kadar arttırdık ve sonra da 255'ten 5'er 5'er azalttık.
- Böylece analog olarak ledimizin parlaklığını arttırmış ve azaltmış olduk.
Hiç yorum yok:
Yorum Gönder