AVR ile MAX7219 Kütüphanesi ve Uygulamaları
Bu makalede bir önceki yaptığımız MAX7219 uygulamasını geliştirip kütüphane haline getireceğiz ve çeşitli uygulamalar yapacağız. Daha öncesinde bize gerekli olan bilgileri datasheet vasıtasıyla elde etmiştik. Donanım kontrolünü hemen hemen tamamladığımız için biraz da yazılım tarafını geliştirmeye bakalım.
Öncelikle daha önceki yazdığım kodları esas alarak ufak bir kütüphane oluşturdum. Bu kütüphane tamamlanmış değil yani donanımın tüm özelliklerii fonksiyonlar vasıtasıyla kontrol edemiyoruz ama şimdilik işimizi fazlasıyla görecektir. Kütüphanede olması gereken en büyük özellik bizim gireceğimiz tam sayı değerin göstergede gösterilmesidir. Bu sayede tek fonksiyonla istediğimiz değeri yazdırabiliriz. Şimdi .h dosyasını inceleyelim.
Burada önceki uygulamada kullandığım fonksiyonlara ilave olarak max_show32bit() fonksiyonun ekledim. .c dosyasında da farklı bir kod olarak bu fonksiyon yer aldığı için sadece ilgili fonksiyonu göstermekle yetineceğim.
Öncelikle elimizdeki gösterge toplamda 8 hane olduğu için 0–99999999 arası değerleri göstermemiz mümkündür. Fonksiyon her ne kadar 32 bit değer alsa da buna dikkat edilmesi gereklidir. Diğer fonksiyonda 0–999 arası sayıları BCD formatına çevirdiğim gibi burada 8 basamaklı bir sayıyı BCD formatına çevirdim. Mantık aynı olup sadece yapılan işlemin sayısı artmıştır.
Örnek programı çalıştırdığınızda bir sayı değeri yazdırmanın ne kadar kolay olduğunu göreceksiniz.
Şimdi ise ADC kütüphanesi ile beraber bir ADC uygulaması yapalım. Sadece tek satır kodla hem ADC değerini okuyacağız hem de bunu göstergede göstereceğiz.
Görüldüğü gibi yazdığımız kütüphanelerle kodumuz oldukça basitleşti. Aşağıda Facebook grubunda bu uygulamanın videosunu izleyebilirsiniz.
Şimdi biraz daha gelişmiş bir uygulama yapalım. Bu sefer daha önce yaptığımız BH1570 uygulamasını bu uygulama ile birleştireceğiz ve 7 segman göstergeli bir luxmetre yapacağız.
Bu uygulamanın çalışma videosunu da şuradan izleyebilirsiniz.