Arduino ile kullanıcıdan input aldığımız potansiyometre kullanımı örneğinden sonra şimdi aldığımız farklı input değerlerini output olarak bir led ışığın yanma şiddetini değiştirmek amacıyla kullanalım. Bu örnekte kullanacağımız Arduino component'leri:
- Arduino Uno R3
- Breadboard
- Potansiyometre
- Direnç
- Led ışık
- 5 tane jumper kablo
Kartın devre tasarımını aşağıda paylaşıyorum. Sol taraftaki potansiyometre bağlantıları önceki örnekte tasarladığımızın aynısı. İlave olarak da sağ tarafta yine daha önce hazırladığımız gibi breadboard üzerinde direnç ile birlikte çalışan bir led ışık. 5. dijital pini kullanmamızın amacı ise 5. pinin Dijital PWM bir pin olması, dolayısıyla anolog pin gibi davranabilen bir dijital pin olması.
PWD pinler 0 ile 255 arası (8 bitlik olduğu için 28) değerler alıyorlar, potansiyometre ise 0 ile 1023 arası değer verebiliyor (10 bitlik olduğu için 210). Bizim de kodumuzu yazarken 0 ile 1023 arası aldığımız input kodunu 0 ile 255 arasında bir değere dönüştürmemiz gerekiyor. Bu işlem için de map metodunu kullanacağız.
Projenin kodları da aşağıdaki gibi:
#define led 3
#define pot A0
void setup() {
}
void loop() {
int deger = analogRead(pot);
deger = map(deger,0,1023,0,255);
analogWrite(led,deger);
}