İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-23 15:13
Arada sırada ebay'de, arkadaşlarınızdan veya sadece ikinci el mağazalarında dolaşırken ilginç bölümlere rastlıyorsunuz. Bunun bir örneği, bir müşteriden aktarılan 1994 (veya daha önceki) tarihli büyük bir Noritake Itron 40 x 2 karakterli vakumlu floresan ekrandı.
Başlangıçta oldukça karmaşık görünüyordu, ancak biraz zaman harcadıktan sonra veri sayfaları bulundu ve basit bir seri arayüze sahip olduğu keşfedildi - ve biraz çalışmayla onu çalıştırdık, bu yüzden klasik VFD'lerle ilgileniyorsanız okumaya devam edin veya benzer bir birime sahip olmak.
Aşama 1:
Seri arabirim baud hızı, PCB üzerindeki jumper pedleri tarafından belirlenir.
Adım 2:
Bu nedenle, yukarıdaki tabloyu modülümüzdeki jumperlarla karşılaştırmak, bize eşliksiz 19200 bps veri hızı verir. Harika – seri çıkışlı ve 5V mantık seviyelerine sahip bir mikrodenetleyici ile kolayca böyle bir bağlantı oluşturabiliriz; Örneklerimiz için Arduino uyumlu bir kart kullanacağız.
Aşama 3:
VFD'yi kablolamak basittir - daha önce gösterildiği gibi CN2 etiketli beyaz jumperlara bakın. Pin 1 5V'dir (700 mA'ya kadar sunabilen harici bir kaynağa ihtiyacınız vardır), pin 2'den Arduino dijital pin 7'ye ve pin 3'ten Arduino'ya ve güç kaynağı GND'dir.
Arduino D7'yi TX yerine yazılım seri ile kullanıyoruz, böylece bir çizim yüklenirken ekranın çöp göstermemesi için. Ardından, ekrana metin göndermek yeterlidir, örneğin işte hızlı bir tanıtım taslağı:
// Noritake Itron VFD modülleriyle çalışma - model CU40026SCPB-T20A #include SoftwareSerial VFD(6, 7); // RX, TX
geçersiz kurulum()
{ VFD.başla(19200); }
boşluk döngüsü()
{ VFD.print("Merhaba dünya. Bu bir Noritake VFD'dir "); // Metni patlatabilirsiniz do {} while (1); }
4. Adım:
Aşağıdakilerden hangisiyle sonuçlanır…
Adım 5:
Ekranın rengine veya yoğunluğuna meraklı değilseniz, üstte biraz Perspex deneyin - örneğin…
Adım 6: Ekranı Kontrol Etme
Bu noktada veri sayfası veri sayfasına ihtiyacınız olacak. Daha önce gördüğünüz gibi, metin yazmak çok basittir – sadece.print fonksiyonlarını kullanın. Ancak, ekranın özelliklerini kontrol etmek için bireysel karakterlerin yanı sıra özel komutlar göndermek isteyebilirsiniz. Bunlar veri sayfasında özetlenmiştir – “Yazılım Komutları” ve “Karakter Yazı Tipleri” tablolarına bakın.
Tek komutlar göndermeniz gerekiyorsa – örneğin, 0x0E olan “görüntüyü temizle”, aşağıdaki gibi bir.write komutu kullanın:
VFD.write(0x0E); // ekranı temizle
Bazı komutlar kaçış kodları biçimindedir (bunları hatırlıyor musunuz?), bu nedenle örneğin parlaklığı %50'ye değiştirmek için ESC'yi ve ardından aşağıdaki baytı göndermeniz gerekir:
VFD.write(0x1B); // ESC VFD.write(0x4C); // parlaklık VFD.write(0x40); // %50 parlaklık
Bu bilgi ve veri sayfaları ile donanmış olarak artık tüm komutları çalıştırabilirsiniz. Veri sayfasına göre yazı tiplerini değiştirmek mümkündür, ancak hangi donanım jumper'ı veya denedik olursa olsun komut Japon katakana yazı tipinden ayrılmaz. Ekranınız değişebilir. "Ekran öncelikli yazma" işlevini kullanırsanız, ekrana sonraki yazmaları bir milisaniye geciktirerek uzatılmış "meşgul" süresine göre veri sayfasını dikkate alın.
7. Adım: Hepsini Bir Araya Getirmek
Her olası komutu açıklamak yerine, aşağıdaki gösterim taslağında belgelenen işlevlerin içine ortak olanları koydum ve ardından taslağın hızlı bir çalışma videosunu izliyorum.
// Noritake Itron VFD modülleriyle çalışma - model CU40026SCPB-T20A// John Boxall 2013
#Dahil etmek
YazılımSeri VFD(6, 7); // rx, tx
geçersiz kurulum()
{ VFD.başla(19200); // yazılım seri port resetVFD() için hızı ayarla; VFDclearsceen(); // VFD.write(0x12); // dikey kaydırma modu (açık) }
geçersiz sıfırlamaVFD()
// VFD denetleyicisinde bir yazılım sıfırlaması gerçekleştirir { VFD.write(0x1B); // ESC VFD.write(0x49); // yazılım sıfırlama }
geçersiz VFDnewline()
// imleci bir sonraki satırın başına taşır { VFD.write(0x0D); // satır başı VFD.write(0x0A); // satır besleme }
void VFDclearsceen()
// imleci sol üste taşır ve ekranı temizler { VFD.write(0x0E); // ekranı temizle VFD.write(0x0C); // form beslemesi - imleç sol üstte }
void VFDbrightness(int miktarı)
// VFD parlaklığını ayarlar - %25/50/75/100 // ESC dizilerini kullanır { geçiş(miktar) { durum 25: VFD.write(0x1B); // ESC VFD.write(0x4C); // parlaklık VFD.print(0); // %25 parlaklık kırılması; durum 50: VFD.write(0x1B); // ESC VFD.write(0x4C); // parlaklık VFD.write(0x40); // %50 parlaklık kırılması; durum 75: VFD.write(0x1B); // ESC VFD.write(0x4C); // parlaklık VFD.write(0x80); // %75 parlaklık kırılması; durum 100: VFD.write(0x1B); // ESC VFD.write(0x4C); // parlaklık VFD.write(0xC0); // %100 parlaklık } }
geçersiz VFDchars()
// seçilen yazı tipi için karakterleri çalıştır { for (int i = 21; i < 256; i++) { VFD.write(0x16); // imlecin altını çiz VFD.write(i); gecikme(100); } }
void moveCursor(bayt konumu)
// imleci hareket ettirir - üst sıra 0~39, alt sıra 40~79 // kullanılırsa dikey kaydırma modu kapatılmalıdır { VFD.write(0x1B); // ESC VFD.write(0x48); // imleci hareket ettir VFD.write(konum); // yer }
boşluk döngüsü()
{ VFD.write(0x16); // imlecin altını çiz VFD.print("Merhaba, dünya - birinci satır."); // Metin gecikmesini patlatabilirsiniz(1000); VFDnewline(); VFD.print("Merhaba dünya - ikinci satır."); gecikme(1000); VFDclearsceen(); VFDparlaklık(25); VFD.print("*** %25 parlaklık ***"); gecikme(1000); VFDclearsceen(); VFDparlaklık(50); VFD.print("*** %50 parlaklık ***"); gecikme(1000); VFDclearsceen(); VFDparlaklık(75); VFD.print("*** %75 parlaklık ***"); gecikme(1000); VFDclearsceen(); VFDparlaklık(100); VFD.print("*** %100 parlaklık ***"); gecikme(1000); VFDclearsceen();
VFDchars();
VFDclearsceen();
for (int i = 0; i < 80; i++) { VFD.write(0x16); // imlecin altı çizili moveCursor(i); VFD.print("X"); gecikme(100); moveCursor(i); VFD.print(" "); } VFDclearsceen(); }
Umarız bunu ilginç ve faydalı bulmuşsunuzdur.
Bu gönderi size pmdway.com tarafından getirildi - dünya çapında ücretsiz teslimat ile üreticiler ve elektronik meraklıları için her şey.
Önerilen:
Ubidots-ESP32+Sıcaklık ve Nem Sensörünü Kullanma-Ubidots-Kullanma-Uyarı Oluşturma: 9 Adım
Ubidots-ESP32+Sıcaklık ve Nem Sensörü-Ubidots-Kullanma-Uyarı Oluşturma: Bu eğitimde, Sıcaklık ve nem sensörünü kullanarak farklı sıcaklık ve nem verilerini ölçeceğiz. Bu verileri Ubidots'a nasıl göndereceğinizi de öğreneceksiniz. Böylece farklı uygulamalar için her yerden analiz edebilirsiniz. Ayrıca e-posta oluşturarak
Kendin Yap Modüllerini Kullanarak Ev Otomasyonuna Başlamanın Son Derece Basit Yolu: 6 Adım
Kendin Yap Modüllerini Kullanarak Ev Otomasyonuna Başlamanın Son Derece Basit Bir Yolu: Ev asistanına kendin yap sensörleri eklemeye karar verdiğimde hoş bir şekilde şaşırdım. ESPHome'u kullanmak son derece basittir ve bu yazıda, bir GPIO pininin nasıl kontrol edileceğini ve ayrıca sıcaklık ve amp; kablosuz bir n nem verileri
DS1307 ve DS3231 Gerçek Zamanlı Saat Modüllerini Arduino İle Kullanmak: 3 Adım
Arduino ile DS1307 ve DS3231 Gerçek Zamanlı Saat Modüllerini Kullanma: Çeşitli kaynaklardan DS1307 ve DS3231 gerçek zamanlı saat modüllerinin Arduino ile nasıl kullanılacağına dair istekler almaya devam ediyoruz - bu yüzden bu, bunların nasıl kullanılacağına dair iki bölümlük bir eğitimin ilki. Bu Arduino dersi için bize iki gerçek zamanlı saat modülümüz var
Ubidots+ESP32 ve Titreşim Sensörünü Kullanma-Uyarı Oluşturma-Kullanma: 8 Adım
Ubidots+ESP32 ve Titreşim Sensörünü Kullanma-Uyarı Oluşturma: Bu projede, Ubidots-titreşim sensörünü ve ESP32'yi kullanarak makine titreşimi ve sıcaklığı hakkında bir e-posta uyarısı oluşturacağız. motorlu araçlardaki makineler ve bileşenler. Titreşim ben
50 ABD Dolarının Altındaki Raf Modüllerini Kullanarak Çift 15V Güç Kaynağı Oluşturun: 10 Adım (Resimlerle)
50 Doların Altındaki Raf Modüllerini Kullanarak Çift 15V Güç Kaynağı Oluşturun: Giriş:Ses ile ilgilenen bir hobi iseniz, çift raylı güç kaynaklarına aşina olacaksınız. Pre-amp'ler gibi çoğu düşük güçlü ses kartı, +/- 5V ile +/- 15V arasında herhangi bir yere ihtiyaç duyar. Çift voltajlı bir güç kaynağına sahip olmak, onu tam da bu