İçindekiler:
Video: Tek LCD Satırı Kaydırma: 4 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Liquid Crystal Library'nin scrollDisplayLeft() ve scrollDisplayRight() olmak üzere iki kullanışlı işlevi vardır. Bu işlevler tüm ekranı kaydırır. Yani, 1602 LCD'de her iki satırı ve 2004 LCD'de dört satırı da kaydırırlar. Sıklıkla ihtiyacımız olan şey, tüm ekranı kaydırmak yerine bu ekranlar üzerinde tek bir satır kaydırma yeteneğidir.
Bu Eğitilebilir Tablo, scrollInFromRight (metni görüntülemek için satır, kaydırılacak dize) ve scrollInFromLeft (metni görüntülemek için satır, kaydırılacak dize) olmak üzere iki ek işlev sağlar. Satırları LCD ekrana kaydıran bu iki işlev, daha önceki Instructable'ımdan scrollLineRight (metni görüntülemek için satır, kaydırılacak dize) ve scrollLineLeft (metni görüntülemek için satır, kaydırılacak dize) ile bir araya getirdi. satırları ekrandan kaydırma işlevleri, bize metnin bir LCD ekranda nasıl sunulabileceğini veya buradan kaldırılabileceğini kontrol etmenin birkaç güçlü yolunu sunar.
Adım 1: Gerekenler
- 1602 veya 2004 LCD bağımsız ekran veya LCD ekran koruyucusu
-- 2004 LCD ekranının kullanımıyla ilgili aşağıdaki nota bakın
- Bir Arduino UNO R3 veya klonu
- Arduino'yu bilgisayara bağlamak için bir USB kablosu
- Yarım boy, 400 bağlantı noktası, breadboard
- Arduino IDE'si
- Deneysel bir platform (isteğe bağlı, ancak yararlı)
Gereken öğeler 1602 veya 2004 bir LCD ekrandır [bir 2004 kullanılıyorsa, lcd.begin() işlevini şimdi 20 karakter x 4 satır kullandığınızı yansıtacak şekilde değiştirerek sağdan kaydırmak sorunsuz çalışacaktır. Görüntüle. [Bir 2004 ekranı kullanarak soldan içeri kaydırmak için, s crollInFromLeft() işlevinin yeniden kod yazılması gereklidir]. Bir LCD'ye ek olarak, Arduino'yu bir bilgisayara bağlamak için bir Arduino UNO veya klonuna, Arduino IDE'ye ve bir USB kablosuna ihtiyacınız olacak.
Burada gösterilen bağımsız LCD yerine bir LCD kalkanı kullanılabilir. Bu durumda, aşağıdaki çizimde LCD için pin atamalarının değiştirilmesi gerekecektir.
- Bağımsız 1602 LCD ekran için eskizlerimde aşağıdaki pin atamalarını kullandım:
// LiquidCrystal (rs, etkinleştir, d4, d5, d6, d7)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
ve Liquid Crystal kitaplığı LiquidCrystal.h'yi içeriyordu.
- LCD ekran için çizimlerimde aşağıdaki pin atamalarını kullanıyorum ve Liquid Crystal kitaplığı LiquidCrystal.h'yi de ekledim.
// LiquidCrystal (rs, etkinleştir, d4, d5, d6, d7)
LiquidCrystal lcd (8, 13, 9, 4, 5, 6, 7);
Her iki yol da kodu burada çalıştıracaktır, yani bir LCD kalkanı veya bağımsız bir LCD. Bu Talimatta bir 1602 bağımsız LCD ekran kullanıldı, ancak belirtildiği gibi, farklı pin atamaları dikkate alınırsa bir 1602 kalkanı da kullanılabilir.
Arduino UNO'yu yarım boyutlu, 400 bağlantı noktası, devre tahtasına bağlamak için bir "deneysel platform" kullandım. (Daha önceki bir Talimatıma bakın, “Arduino UNO R3 İçin Deneysel Platform, Kullanıma Nasıl Hazırlanır”). Bununla birlikte, benim için LCD'yi UNO'ya bağlamayı çok daha kolay ve hızlı hale getirmesine rağmen, deneysel bir platforma gerek yok.
LCD'yi UNO'ya bağlamak için kullandığım atamalar yukarıda görülebilir.
2. Adım: Bağlantı
LCD bir devre tahtasına takılır ve ardından devre tahtasından Arduino'daki uygun pinlere bağlantı kabloları bağlanır (kullandığım bağlantılarla ilgili herhangi bir sorunuz varsa 2. adıma bakın).
Bu proje için kalkan yerine bağımsız bir LCD'yi tercih ettim çünkü benim için daha tatmin ediciydi ve hangi pinlerin mevcut olduğunu kolayca görmemi sağladı. Ayrıca bir tornavida ile ayarlanması gereken bir kalkanın potansiyometresi yerine bir topuzu olan bir potansiyometre kullanmama izin veriyor.
Bağımsız LCD, ayrı bir 10k ohm potansiyometre kullanılmasını gerektirir. Yukarıda belirtildiği gibi, sileceği üçüncü LCD pimine bağlı olan bir topuzu kullandım (LCD pimleri size bakacak şekilde sağdan sayarak). Potansiyometre, LCD'nin kontrastını kontrol etmek için kullanılır. Bağlantılar 1602 ve 2004 için aynıdır. Ancak, LCD'mizin 16'dan değiştiğini göstermek için çizimde lcd.begin(16, 2) ifadesinin lcd.begin(20, 4) olarak değiştirilmesi gerekir. iki satır karakter, dört satır bir 20 karaktere kadar görüntülenir.
Ekli fotoğraflara bir bakış, deney platformu ve 10k potansiyometre dahil kullandığım bağlantıyı gösteriyor.
3. Adım: Eskiz
Ekteki çizimi Arduino IDE'ye girmeniz yeterlidir. Lütfen Eğitilebilir sitenin genellikle büyük ve küçüktür işaretlerini ve aralarındaki metni kaldırdığını unutmayın. Bu nedenle, #include LiquidCrystal.h metnini içerdiğinden emin olun ve LiquidCrystal.h sözcüklerini büyük ve küçüktür sembollerinin içine alın.
// Karakterleri bir LCD ekrana kaydırmak için çizim yapın
#include // Burada neyin gerekli olduğuna ilişkin metindeki nota bakın, ör., içinde LiquidCrystal.h
// sembollerden büyük ve küçüktür
// Bu site genellikle büyüktür ve küçüktür sembollerini ve aralarındaki metni kaldırır
// LiquidCrystal (rs, etkinleştir, d4, d5, d6, d7)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// lcd'yi LiquidCrystal Object olarak bildir
int ben = 0;
int j = 0;
int k = 0;
int gecikmeZamanı2 = 350; // Vardiyalar arasındaki gecikme
void scrollInFromRight (int satır, karakter str1) {
// Yazan R. Jordan Kreindler Haziran 2016
ben = strlen(str1);
for (j = 16; j >= 0; j--) {
lcd.setCursor(0, satır);
for (k = 0; k <= 15; k++) {
lcd.print(" "); // Satırı temizle
}
lcd.setCursor(j, satır);
lcd.print(str1);
gecikme(gecikmeZamanı2);
}
}
void scrollInFromLeft (int satır, karakter str1) {
// Yazan R. Jordan Kreindler Haziran 2016
ben = 40 - strlen(str1);
satır = satır - 1;
for (j = i; j <= i + 16; j++) {
for (k = 0; k <= 15; k++) {
lcd.print(" "); // Satırı temizle
}
lcd.setCursor(j, satır);
lcd.print(str1);
gecikme(gecikmeZamanı2);
}
}
geçersiz kurulum() {
Seri.başla(9600);
Serial.println("Test başlatılıyor…");
lcd.başla(16, 2);
lcd.clear();
lcd.print("Yalnızca Test");
}
boşluk döngüsü () {
lcd.clear();
scrollInFromRight(0, "Sağdan Satır1");
scrollInFromRight(1, "Sağdan 2. Satır");
lcd.clear();
scrollInFromLeft(0, "Satır1 Soldan.");
scrollInFromLeft(1, "Satır2 Soldan.");
lcd.clear();
scrollInFromRight(0, "Sağdan Satır1");
scrollInFromLeft(1, "Satır2 Soldan.");
lcd.clear();
}
İki işlev: scrollInFromRight (metni görüntülemek için satır, kaydırılacak dize) ve scrollInFromLeft (metni görüntülemek için satır, kaydırılacak dize), LCD ekranda kaydırılan satırları kontrol etmek için çiziminize taşınabilir. Bu işlevler, yeni metni ekrana taşımak için zarif bir yol sağlar.
"Tek bir LCD satırını sola veya sağa kaydırma, Nasıl Yapılır" Talimatında yer alan çizimdeki iki işlevle birleştirildiğinde, dört işlev, metni bir LCD ekranın üzerine ve dışına kaydırmak için zarif yollar sağlar. Bu işlevler, metni bir seferde bir satır kaydırmanıza izin verir ve scrollDisplayLeft() ve scrollDisplayRight() işlevlerinde olduğu gibi tüm ekranın kaydırılmasını gerektirmez.
Bu kaydırma özelliği, ekranın normalde gösterebildiğinden daha uzun satırlar sunmamızı sağlar. Yani, 1602 gösterimi için satır başına yalnızca 16 karakterle sınırlı değiliz (bir seferde yalnızca 16 karakter gösterilecek olsa da) ve 2004 için satır başına 20 karakterle sınırlı değiliz.
Bir kenara, ihtiyaçlarınıza göre kaydırmalar arasındaki görüntüleme süresini ayarlamak isteyebilirsiniz.
4. Adım: Daha sonra
Hepsi bu kadar. Bu işlevler ve önceki Instructable'ımdaki ikisi, LCD kullanan ve metin görüntüleyen herhangi bir çizime eklenebilir. Belirtildiği gibi, daha uzun satırlar kullanma yeteneği, kaydırma kullanımıyla mümkün olan kesin bir faydadır.
Herhangi bir sorunuz veya ek bilgi için benimle iletişime geçmek veya sunulan alanda bilgimi genişletmek isterseniz, [email protected] adresinden ulaşılabilir. (lütfen benimle iletişime geçmek için ikinci 'i'yi 'e' ile değiştirin.
Önerilen:
Second Life'ta Tek Tek Nesne Yüzeylerine Dokular Nasıl Uygulanır: 7 Adım
Second Life'ta Tek Tek Nesne Yüzeylerine Dokular Nasıl Uygulanır: Second Life içinde, tek bir nesneye birden çok doku uygulama olanağınız vardır. İşlem çok basittir ve yapılarınızın görünümünü büyük ölçüde iyileştirebilir
Can Sıkıcı Kaydırma Tekerleği Tıklama Eliminatörü (pürüzsüz Kaydırma): 5 Adım
Annoying Scroll Wheel Click Eliminator (pürüzsüz Scroll): Kaydırma tekerleğinin sesi sizi rahatsız ediyor mu? işte o parşömenden o tıklamayı alma şansın! Eğer fareni kırarsan, bu benim suçum değil. Bu modu logitech mouse ile yapıyorum. diğer fare b üzerinde çalışacağından emin değilim
Ccleaner ile Gönder'i Kullanarak Tek Tek Dosyaları Güvenli Parçalayın: 4 Adım
Ccleaner ile Gönder Kullanarak Tek Tek Dosyaları Güvenli Parçalayın: Bu Talimat, sağ tıklamanıza CCleaner ile dosyayı silmenizi sağlayacak bir Gönder seçeneği eklemeniz gerektiğini gösterecektir
Ccleaner V2 ile Gönder'i Kullanarak Tek Tek Dosyaları Güvenli Parçalayın: 4 Adım
Ccleaner V2 ile Gönder'i Kullanarak Tek Tek Dosyaları Güvenli Olarak Parçalayın: Bu, kaşifte sağ tıklama "bağlam" menüsüne dosyaları Ccleaner aracılığıyla parçalamanıza izin verecek bir parçalama seçeneği eklemek için önceki öğreticimin geliştirilmiş bir sürümüdür. Bu yöntem daha fazlasını sunar. doğrudan yaklaşım ve soes ekleme gerektirmez
Komut Satırı FTP İstemcisi Nasıl Kullanılır: 8 Adım
Komut Satırı FTP İstemcisi Nasıl Kullanılır: Neden?Belki başka bir ftp istemciniz yoktur.Belki pencereler, grafikler ve fareler tarafından yavaşlatılmak istemezsiniz.Belki eski şeyleri yapmanın eğlenceli olmasını istersiniz. -skool.Belki de teknik bilgisayar kullanımı hakkında çok daha fazla şey biliyormuş gibi görünmek istersiniz