Benim de sinir olduğum geliştirme kartları arasında olan Arduino ile yaptığım bir çalışmayı paylaşmak istiyorum.
Çok zor oldu kodları yazmak. Zira altı pot okuyup altı pwm çıkışı verebilmek için; fonksiyon satırları hariç altı satır kod yazmak zorunda kaldım.
Atmel ATMega168 içerisinde (dip klıf) altı analog(10-bit), altı donanımsal pwm(8-bit) bulunmaktadır.
Bu yaptığım çalışma; bir kaç eklenti ile güzel bir işık mikseri yapılabilir…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
/* * */ void setup() { //Atmel ailesi pinleri ön tanımlı olarak çıkış yapılmıştır. //bu nedenle pwm pinleri için pin tanımlamasına gerek görmedim. //Analog giriş için ise; analog okuma fonksiyonu (analogRead()) //okuma yapacagı zaman zaten ilgili pini giriş olarakkabul etmektedir. } /* * */ void loop() { //PWM çıkışları 8-bit, analog okuma 10-bit olduğu için; okunan değeri //iki bit sağa kaydırarak okunan değeri 8-bite çevirdik. Geri kalanını //Ardunio hallediyor... analogWrite( 3, analogRead(A0) >> 2); //PD3 analogWrite( 5, analogRead(A1) >> 2); //PD5 analogWrite( 6, analogRead(A2) >> 2); //PD6 analogWrite( 9, analogRead(A3) >> 2); //PB1 analogWrite(10, analogRead(A4) >> 2); //PB2 analogWrite(11, analogRead(A5) >> 2); //PB3 } |