Arduino Due, elektronik mühendisleri ve hobileri için tasarlanmış ARM denetleyici tabanlı bir karttır. ARM mimarisi modern elektronikte çok etkilidir, bunları cep telefonlarımız, iPod'larımız ve bilgisayarlarımız gibi her yerde kullanıyoruz. Birisi endüstriyel sistemler tasarlamak istiyorsa, ARM kontrolörlerinde olması gerekir. ARM denetleyicileri, çeviklikleri nedeniyle çok önemlidir.
Arduino Due ile Başlarken bölümünde Arduino Due'nin temellerini zaten ele almıştık. Şimdi bu eğitimde, DUE tarafından üretilen PWM sinyalini kullanarak bir LED'in parlaklığını ayarlayacağız. DUE PWM (Darbe Genişlik Modülasyonu) sinyali, sabit güç kaynağı üzerinden değişken bir voltaj sağlar.
Darbe Genişliği Modülasyonu:
Yukarıdaki şekilde, anahtar belirli bir süre boyunca sürekli olarak kapatılırsa, LED bu süre boyunca sürekli olarak 'AÇIK' olacaktır. Anahtar yarım saniye için kapatılır ve sonraki yarım saniye için açılırsa, LED yalnızca ilk yarım saniyede AÇIK olacaktır. Artık LED'in toplam süre boyunca AÇIK olduğu oran Görev Döngüsü olarak adlandırılır ve şu şekilde hesaplanabilir:
Görev Döngüsü = Açma süresi / (Açma süresi + Kapatma süresi)
Görev Döngüsü = (0,5 / (0,5 + 0,5)) =% 50
Yani ortalama çıkış voltajı, akü voltajının% 50'si olacaktır.
Bu bir saniye için geçerlidir ve LED'in yarım saniye için KAPALI olduğunu ve diğer yarım saniye için LED'in AÇIK olduğunu görebiliriz. AÇMA ve KAPATMA sürelerinin sıklığı 'saniyede 1'den' saniyede 50'ye çıkarsa. İnsan gözü bu AÇIK ve KAPALI frekansını yakalayamaz. Normal bir göz için LED, parlaklığın yarısı kadar parlayan olarak görülecektir. Böylece, ON süresinin daha da azaltılmasıyla LED çok daha açık görünür.
DUE'yi bir PWM almak için programlayacağız ve çalıştığını göstermek için bir LED bağlayacağız.
Orada 12 PWM Kanallar Gelişen içinde (Pin 13 Pim 2) ve herhangi birini veya hepsini kullanabilirsiniz. Bu durumda PIN2'de bir PWM sinyaline bağlı kalacağız.
Bileşenler:
- Arduino Due
- Güç kaynağı (5v)
- LED
- Düğmeler (iki adet),
- 1KΩ direnç (iki adet), 220Ω direnç
Ve Arduino IDE - Arduino Nightly Yazılımı (https://www.arduino.cc/en/Main/Software).
Devre Şeması ve Çalışma Açıklaması:
Devre, Devre Şemasına göre devre tahtasına bağlanır. Ancak LED terminallerinin bağlanması sırasında dikkat edilmelidir. Düğmeler sıçrama etkisi gösterse de bu durumda önemli hatalara neden olmaz, bu yüzden bu sefer endişelenmemize gerek yok.
DUE'den PWM sinyali almak kolaydır; Arduino IDE, programcının zorluğunu kolaylaştıran kullanışlı özellikler sunar. Çıplak çip programlamaya gidersek, PWM sinyali için bir ATMEGA denetleyicisi kurmamız gerekir ki bu kolay değildir; Doğru bir sinyal için birçok kayıt ve ayar tanımlamamız gerekir, ancak Arduino'da tüm bunlarla uğraşmak zorunda değiliz. ATmega32, Arduino Uno ve 555 zamanlayıcı IC ile Darbe Genişliği Modülasyonunu zaten ele aldık.
Varsayılan olarak tüm başlık dosyaları ve yazmaçları Arduino IDE tarafından önceden tanımlanmıştır, onları aramamız yeterlidir ve işte bu, uygun pimde bir PWM çıkışına sahip olacağız. Bir PWM sinyali almak için belirli komutları da aramamız gerekir, bunlar aşağıda tartışılmıştır:
pinMode (2, OUTPUT) analogWrite (pin, değer)
Öncelikle PWM çıkış kanalını seçmemiz veya 12 pin DUE arasından bir pin seçmemiz gerekiyor, bundan sonra o pini çıkış olarak ayarlamamız gerekiyor. Çıkış olarak PIN2 kullandığımız için ilk satırda gösterildiği gibi OUTPUT olarak ayarlayacağız.
Daha sonra, " analogWrite (pin, value) " işlevini çağırarak DUE'nin PWM özelliğini etkinleştirmemiz gerekir. Burada 'pin', PWM çıkışına ihtiyacımız olan pin numarasını temsil eder. Bunu '2' olarak koyuyoruz, bu yüzden PIN2'de PWM çıkışı alıyoruz. "Değer" AÇIK konuma getirme değeridir, 0 (her zaman kapalı) ile 255 (her zaman açık) arasında değişir. LED'in gerekli parlaklığı için bu boşluğa uygun değeri yazabiliriz.
Bu değeri değiştirmek için DUE panosuna birkaç düğme ekledik. Bir düğme parlaklık değerini artırmak, diğeri ise parlaklık değerini düşürmek içindir. Due programlama bittiğinde, bu tuşlara basarak parlaklığı ayarlayabiliriz.