Arduino UNO R4’te DAC Kullanımı

Arduino‘nun ikonik kartı UNO‘nun dördüncü versiyonu R4’te kullanılan Renesas RA4M1 serisi mikrokontrolcünün dikkate değer özelliklerinden biri dahili DAC (Digital-Analog-Converter/Dijital-Analog Dönüştürücü) barındırması.

DAC Arduino UNO dünyası için yeni bir özellik. Yıllardır kullandığımız ADC’nin tersi olarak düşünebiliriz. ADC’de Arduino pinine belirli bir gerilim veriyor ve bu değeri sketch kodumuz içinde ölçüp kullanıyorduk.

DAC ise tam tersi şekilde çalışıyor. Sketch kodu içinde DAC’a bir değer gönderiyoruz ve gönderdiğimiz değer 0-5 Volt arasında bir gerilim olarak Arduino pininde üretiliyor.

Arduino UNO R4 ailesinde 12-bit çözünürlüğünde tek kanallı bir DAC bulunuyor. Bu DAC’a A0 pini üzerinden ulaşabiliyoruz. DAC varsayılan olarak 8-bit çözünürlüğe ayarlı olarak geliyor.

analogWave kütüphanesi

Arduino ekibi bu DAC’ı kolayca kullanabilmemiz için analogWave adında bir kütüphane hazırlamış. Kütüphane istediğimiz frekanslarda sinüs, kare veya testere dişi dalga sinyalleri üretebilmemize imkan veriyor. Arduino IDE’ye R4 sınıfı kartları eklediğimiz zaman bu kütüphane de otomatik olarak kuruluyor ve kullanıma hazır oluyor.

Bu kütüphane ile hazırlanmış üç temel örnek sketch koduna göz atalım. Sinüs dalga (sine) ile başlayalım.

Kare dalga (square) ile devam edelim.

Son olarak da testere dişi dalga (sawtooth) ile bitirelim.

Temel DAC Kullanımı

UNO R4 üzerindeki DAC ile istediğimiz değerde gerilim üretmemiz mümkün. Üstelik bunun için herhangi bir kütüphane kullanmamız da gerekmiyor.

Yazının başında DAC’ın varsayılan olarak 8-bit çözünürlükte geldiğinden, ancak 12-bit yeteneğinin olduğundan bahsetmiştik. 8-bit çözünürlükte 0-255 değerleri arasında değer atayabilirken, bu aralık 12-bit çözünürlükte 0-4095‘e çıkıyor. Böylece çok daha hassas çıkış değerleri elde edebiliyoruz.

Bu çözünürlük artışını analogWriteResolution() fonksiyonu ile yapıyoruz. Bu fonksiyonu aşağıdaki sketch kodunda görebileceğimiz şekilde void setup() içine yerleştirmemiz yeterli. Değer olarak sadece 8 veya 12 girebiliyoruz.

Aşağıdaki sketch kodu çıkıştan sırasıyla 5 Volt, 2,5 Volt ve 0 Volt verecektir. UNO R4’ün devre yapısı nedeniyle mikrokontrolcüye sağlanan gerilim asla tam 5 Volt olmadığı için USB ile beslerken farklı, harici güç ile beslerken farklı değerler almamız normal. Yani mikrokontrolcü kendisine sağlanan gerilime göre orantılı olarak değer üretebiliyor.

Arduino’da iyi olmak için öncelikle elektronikte iyi olmak gerekir. Türkiye’nin en iyi temel elektronik eğitim seti ARDUINO ÖNCESİ TEMEL ELEKTRONİK EĞİTİM VE DENEY SETİ‘ni keşfedin. Gereksiz bilgilerden arındırılmış basit ve eğlenceli anlatımla ELEKTRONİK öğrenin ve Arduino’ya METE HOCA farkıyla güçlü başlayın!

ÖZGÜN ve KULLANIŞLI projeler yapabilmek için ARDUINO’yu doğru öğrenmek gerekir. Arduino’ya güçlü başlamanın en iyi yolu ARDUINO’YA GÜÇLÜ BAŞLANGIÇ EĞİTİM VE PROJE SETİ‘dir. Arduino Uno üzerine kurulu olan set ile bu müthiş geliştirme platformunu tüm detaylarıyla anlayacak, başka hiçbir yerde bulamayacağınız inceliklerini öğrenecek ve en sık kullanılan Arduino sensör ve modüllerine aşina olacaksınız.