Nokia 5110'dan Arduino'ya 84x48 piksel likit kristal ekranın nasıl bağlanacağını bulalım.
Gerekli
- -Arduino;
- - Nokia 5110/3310 için LCD ekran;
- - bağlantı kabloları.
Talimatlar
Aşama 1
Nokia 5110'dan gelen LCD ekranı aşağıdaki şemaya göre Arduino'ya bağlayalım.
Adım 2
Bu LCD ekranla çalışmak için birçok kitaplık yazılmıştır. Bunu kullanmanızı öneririm: https://www.rinkyydinkelectronics.com/library.php?id=44 (LCD5110_Basic.zip dosyasını indirin).
Yüklemek için dosyayı Arduino IDE / kitaplıklar / dizinine açın.
Kitaplık aşağıdaki özellikleri destekler.
LCD5110 (SCK, MOSI, DC, RST, CS); - Arduino'nun pinlerine uygunluğu gösteren LCD ekranın duyurusu;
InitLCD ([kontrast]); - 5110 ekranının isteğe bağlı bir kontrast göstergesi (0-127) ile başlatılması, varsayılan değer 70'tir;
setContrast (kontrast); - kontrastı ayarlar (0-127);
etkinleştirUyku (); - ekranı uyku moduna geçirir;
uykuyu devre dışı bırak (); - ekranı uyku modundan çıkarır;
clrScr(); - ekranı temizler;
clrRow (satır, [başlangıç], [son]); - seçilen satır numarası satırını, pozisyonun başından sonuna kadar temizleme;
ters çevir (doğru); ve ters çevir (yanlış); - LCD ekran içeriğinin ters çevrilmesinin açılması ve kapatılması;
yazdır (dize, x, y); - belirtilen koordinatlara sahip bir dizi karakter görüntüler; x koordinatı yerine SOL, MERKEZ ve SAĞ kullanabilirsiniz; standart yazı tipinin yüksekliği 8 puntodur, bu nedenle satırlar 8 punto aralıklı olmalıdır;
printNumI (sayı, x, y, [uzunluk], [dolgu]); - belirli bir konumda (x, y) ekranda bir tamsayı göster; uzunluk - sayının istenen uzunluğu; dolgu - sayı istenen uzunluktan küçükse "boşlukları" dolduracak bir karakter; varsayılan boş bir alandır ";
printNumF (sayı, aralık, x, y, [bölücü], [uzunluk], [dolgu]); - kayan noktalı bir sayı göster; dec - ondalık basamak sayısı; bölücü - ondalık nokta, nokta "." varsayılan olarak;
setFont (isim); - bir yazı tipi seçin; yerleşik yazı tipleri SmallFont ve TinyFont olarak adlandırılır; yazı tiplerinizi çizimde tanımlayabilirsiniz;
invertText (doğru); ve invertText (yanlış); - metin ters çevirme açık / kapalı;
drawBitmap (x, y, veri, sx, sy); - resmi ekranda x ve y koordinatlarında görüntüleyin; data - bir resim içeren bir dizi; sx ve sy, resmin genişliği ve yüksekliğidir.
Aşama 3
Böyle bir eskiz yazalım. Önce kütüphaneyi dahil ediyoruz, ardından pin atamaları ile LCD5110 sınıfının bir örneğini ilan ediyoruz.
Kurulum () prosedüründe LCD ekranı başlatıyoruz.
Döngü () prosedüründe, ekranı temizliyoruz ve küçük bir yazı tipinde, altına orta yazı tipinde rastgele metin yazıyoruz, saniye sayacını gösteriyoruz.
4. Adım
Bir resim gösterelim. Bunu yapmak için Nokia 5110'da görüntülemek istediğimiz monokrom bir resim hazırlayalım. Ekran çözünürlüğünün 48 x 84 piksel olduğunu ve resmin daha büyük olmaması gerektiğini unutmayın. https://www.rinkydinkelectronics.com/t_imageconverter_mono.php sayfasında görüntüyü bir bit dizisine dönüştürün. Ortaya çıkan dosyayı "*.c" uzantılı indirin ve menü aracılığıyla projeye ekleyin: Sketch -> Add File … veya basitçe dosyayı eskiz dizinine yerleştirin ve ardından Arduino IDE'yi yeniden yükleyin.
Adım 5
Şimdi program kodunda görüntü verileriyle bir dizi tanımlamanız gerekiyor (benim kodumda bu satır extern uint8_t mysymb;) ve ardından görüntüyü ekranda istediğiniz yerde görüntülemek için drawBitmap () işlevini kullanın.
6. Adım
Krokiyi Arduino'ya yükleyin. Artık metnin yerini bir resim alıyor ve sayaç her seferinde değerini artırıyor.