HX1230 sürücüsünün içinde sadece donanımsal komutlarla tetiklenebilen iki harika görsel mod bulunur. Bu modlar için bellekte (RAM) tek bir bit bile harcamanıza gerek yoktur, çünkü her şeyi doğrudan ekran işlemcisi halleder.
Ekrandaki tüm siyah pikselleri beyaz, beyaz pikselleri ise siyah yapmak (örneğin karanlık temalı bir arayüz veya menü seçimi tasarlamak) için tek bir komut yeterlidir:
void hx1230_tersRenk(bool aktif) {
if (aktif) {
hx1230_komutYaz(0xA7); // Ters renk modunu aç (Siyah arka plan)
} else {
hx1230_komutYaz(0xA6); // Normal moda dön (Beyaz arka plan)
}
}
Ekranınızda ölü piksel veya donanımsal bir çizgi hatası olup olmadığını test etmek için RAM'deki veriyi bozmadan tüm pikselleri tek komutla yakabilirsiniz:
void hx1230_tumPikselleriYak(bool aktif) {
if (aktif) {
hx1230_komutYaz(0xA5); // RAM verisini bozmadan tüm pikselleri aç (Test modu)
} else {
hx1230_komutYaz(0xA4); // Normal RAM moduna geri dön
}
}
Eğer kılavuzdaki adımları uygularken bir sorunla karşılaşırsanız, aşağıdaki kontrol listesi sorununuzu saniyeler içinde çözecektir:
| Belirti | Olası Neden | Çözüm |
|---|---|---|
| Ekran tamamen bomboş, hiçbir şey görünmüyor. | Kontrast değeri çok düşük kalmış veya reset sinyali oturmamış olabilir. | init fonksiyonundaki kontrast değerini 0x8B yerine 0x8F ya da 0x9F yapmayı deneyin. Ekranın tam oturduğundan emin olun. |
| Kod yüklenirken Arduino hata veriyor. | Ekran doğrudan D0 ve D1 (RX/TX) pinlerine oturduğu için USB haberleşmesini kesiyor. | Kodu yüklerken ekranı Arduino'dan ayırın. Yükleme bittikten sonra ekranı tekrar takıp Arduino'yu resetleyin. |
| Karakterler birbirine giriyor veya çizgiler kayıyor. | Port manipülasyonunun ürettiği clock (zamanlama) sinyali ekran klonunun donanım sınırından daha hızlı kalıyor olabilir. | hx1230_byteYaz fonksiyonu içindeki PORTD |= (1 << BIT_CLK); satırlarının hemen altına delayMicroseconds(1); ekleyerek sinyali hafifçe yavaşlatın. |
Herhangi bir ağır grafik kütüphanesi (U8g2 vb.) kullanmadan, Arduino'nun sadece donanımsal gücünü ve port manipülasyonunu kullanarak 9-bit haberleşen eski bir Nokia klonu ekranı modern, 10 kat daha hızlı ve mikroamper seviyesinde güç tüketen bir canavara dönüştürdük. Kendi projelerinizde bu saf ve yalın kod mimarisini güvenle kullanabilir, hafıza sıkıntısı yaşamadan devasa projeler geliştirebilirsiniz!
Henüz yorum yapılmamış. İlk yorumu siz yapın!