Mundarija:

Eski Noritake Itron VFD modullaridan foydalanish: 7 qadam
Eski Noritake Itron VFD modullaridan foydalanish: 7 qadam

Video: Eski Noritake Itron VFD modullaridan foydalanish: 7 qadam

Video: Eski Noritake Itron VFD modullaridan foydalanish: 7 qadam
Video: VFD (Vacuum Fluorescent Display) 1 : Çalışma prensipleri ve bağlantılarını belirleme 2024, Iyul
Anonim
Eski Noritake Itron VFD modullaridan foydalanish
Eski Noritake Itron VFD modullaridan foydalanish
Eski Noritake Itron VFD modullaridan foydalanish
Eski Noritake Itron VFD modullaridan foydalanish
Eski Noritake Itron VFD modullaridan foydalanish
Eski Noritake Itron VFD modullaridan foydalanish

Siz ebayda do'stlaringizdan yoki faqat ikkinchi qo'l do'konlarda topilgan qiziqarli qismlarni uchratasiz. Bunga bitta misol, 1994 yildan (yoki undan oldingi) mijozdan uzatilgan ulkan Noritake Itron 40 x 2 belgili vakuumli-lyuminestsent displey edi.

Dastlab bu juda murakkab ko'rinishga ega edi, lekin bir muncha vaqt o'tgach, ma'lumotlar varaqlari topildi va u oddiy ketma -ket interfeysga ega ekanligi aniqlandi - va biz ozgina ishlaganimizda, biz uni ishlay oldik. yoki shunga o'xshash birlik mavjud.

1 -qadam:

Rasm
Rasm

Ketma -ket interfeysning uzatilish tezligi PCB ustidagi o'tkazgichlar bilan belgilanadi.

2 -qadam:

Rasm
Rasm

Shunday qilib, yuqoridagi jadvalni modulimizdagi o'tish moslamalari bilan taqqoslasak, bizga ma'lumotlar uzatish tezligi 19200 bps ni beradi. Ajoyib - biz ketma -ket chiqishi va 5V mantiq darajasiga ega mikrokontroller bilan bunday aloqani osonlik bilan yaratishimiz mumkin; bizning misollarimiz uchun biz Arduino-ga mos keladigan taxtadan foydalanamiz.

3 -qadam:

VFD -ni ulash juda oddiy - ilgari ko'rsatilgandek, CN2 deb belgilangan oq o'tish moslamalarini ko'ring. 1 -pin 5V (sizga 700 mA gacha bo'lgan tashqi quvvat manbai kerak), 2 -pin Arduino raqamli pin 7, 3 -pin Arduino va GND quvvat manbai.

Biz Arduino D7 -ni TX o'rniga dasturiy ta'minot bilan ishlatamiz, shunda eskiz yuklanayotganda displeyda axlat ko'rinmaydi. Bu shunchaki displeyga matn yuborish masalasidir, masalan, bu erda tez namoyish etiladigan eskiz:

// Noritake Itron VFD modullari bilan ishlash - CU40026SCPB -T20A modeli #include SoftwareSerial VFD (6, 7); // RX, TX

bo'sh o'rnatish ()

{VFD.begin (19200); }

bo'sh halqa ()

{VFD.print ("Salom, dunyo. Bu Noritake VFD"); // Siz {} while matnini o'chirib tashlashingiz mumkin (1); }

4 -qadam:

Rasm
Rasm

Quyidagilar bilan nima natija beradi …

5 -qadam:

Rasm
Rasm

Agar siz displeyning rangiga yoki intensivligiga qiziqmasangiz, yuqoridan Perspex -ni sinab ko'ring - masalan …

6 -qadam: displeyni boshqarish

Bu vaqtda sizga ma'lumotlar varaqasi ma'lumot varaqasi kerak bo'ladi. Siz ilgari ko'rganingizdek, matn yozish juda oddiy -.print funktsiyalaridan foydalaning. Biroq, siz individual belgilarni, shuningdek displeyni boshqarish uchun maxsus buyruqlarni yuborishingiz mumkin. Ular ma'lumotlar jadvalida ko'rsatilgan - "Dasturiy buyruqlar" va "Belgilar shriftlari" jadvallariga qarang.

Agar sizga bitta buyruq yuborish kerak bo'lsa - masalan, 0x0E "aniq ko'rsatish",.write buyrug'idan foydalaning, masalan:

VFD.write (0x0E); // aniq ko'rsatish

Ba'zi buyruqlar qochish kodlari formatida (esingizdami?) Shuning uchun siz ESCni, so'ngra quyidagi baytni yuborishingiz kerak, masalan, yorqinlikni 50%ga o'zgartirish uchun:

VFD.write (0x1B); // ESC VFD.write (0x4C); // nashrida VFD.write (0x40); // 50% nashrida

Bu ma'lumot va ma'lumotlar varaqlari bilan qurollanib, endi siz barcha buyruqlarni bajarishingiz mumkin. Ma'lumotlar varag'iga ko'ra, shriftlarni o'zgartirish mumkin, ammo biz qanday uskuna yoki jumper ishlatgan bo'lsak ham, u Yapon katakana shriftidan farq qilmaydi. Sizning ekraningiz boshqacha bo'lishi mumkin. Agar siz "ekranning ustuvorligi yozish" funktsiyasidan foydalansangiz, ma'lumotlar jadvaliga "band" bo'lgan vaqtga e'tibor bering, keyingi yozishni millisekundga kechiktiring.

7 -qadam: Hammasini bir joyga to'plash

Har bir mumkin bo'lgan buyruqni tushuntirishning o'rniga, men hujjatlashtirilgan funktsiyalar ichidagi umumiylarini quyida ko'rsatiladigan eskizga joylashtirdim, shundan so'ng eskizning tezkor videosi ko'rsatiladi.

// Noritake Itron VFD modullari bilan ishlash - CU40026SCPB -T20A modeli // Jon Boxall 2013

#qo'shing

SoftwareSerial VFD (6, 7); // rx, tx

bo'sh o'rnatish ()

{VFD.begin (19200); // dasturiy ta'minot ketma -ket portini tiklash tezligini o'rnatishVFD (); VFDclearsceen (); // VFD.write (0x12); // vertikal aylantirish rejimi (yoqilgan)}

bekor qilishVFD ()

// VFD boshqaruvchisida dasturiy ta'minotni qayta o'rnatishni amalga oshiradi {VFD.write (0x1B); // ESC VFD.write (0x49); // dasturiy ta'minotni qayta o'rnatish}

bekor VFDnewline ()

// kursorni keyingi qatorning boshiga o'tkazadi {VFD.write (0x0D); // vagonni qaytarish VFD.write (0x0A); // qator tasmasi}

bekor VFDclearsceen ()

// kursorni yuqori chapga siljitadi va displeyni tozalaydi {VFD.write (0x0E); // aniq ko'rsatish VFD.write (0x0C); // shakl tasmasi - kursor chapdan}

bo'sh VFDbrightness (int miqdori)

// VFD yorqinligini o'rnatadi - 25/50/75/100% // ESC ketma -ketligini ishlatadi {switch (miqdor) {25 -holat: VFD.write (0x1B); // ESC VFD.write (0x4C); // nashrida VFD.print (0); // 25% yorqinlik tanaffusi; 50 -holat: VFD.write (0x1B); // ESC VFD.write (0x4C); // nashrida VFD.write (0x40); // 50% yorqinlik tanaffusi; 75 -holat: VFD.write (0x1B); // ESC VFD.write (0x4C); // nashrida VFD.write (0x80); // 75% yorqinlik tanaffusi; 100 -holat: VFD.write (0x1B); // ESC VFD.write (0x4C); // nashrida VFD.write (0xC0); // 100% yorqinlik}}

bekor VFDchars ()

// tanlangan shrift uchun belgilarni ishlating {for (int i = 21; i <256; i ++) {VFD.write (0x16); // VFD.write (i) kursorining ostiga chizish; kechikish (100); }}

void moveCursor (bayt holati)

// kursorni siljitadi - yuqori satr 0 ~ 39, pastki qator 40 ~ 79 // vertikal aylantirish rejimi ishlatilsa o'chirilishi kerak {VFD.write (0x1B); // ESC VFD.write (0x48); // kursorni harakatlantirish VFD.write (pozitsiya); // Manzil }

bo'sh halqa ()

{VFD.write (0x16); // VFD.print o'chirilgan kursorni tagiga chizish ("Salom, dunyo - birinchi qator."); // Siz matnni kechiktirishini o'chirib qo'yishingiz mumkin (1000); VFDnewline (); VFD.print ("Salom, dunyo - ikkinchi qator."); kechikish (1000); VFDclearsceen (); VFDbrightness (25); VFD.print ("*** 25% nashrida ***"); kechikish (1000); VFDclearsceen (); VFDbrightness (50); VFD.print ("*** 50% nashrida ***"); kechikish (1000); VFDclearsceen (); VFDbrightness (75); VFD.print ("*** 75% nashrida ***"); kechikish (1000); VFDclearsceen (); VFDbrightness (100); VFD.print ("*** 100% yorqinlik ***"); kechikish (1000); VFDclearsceen ();

VFDchars ();

VFDclearsceen ();

uchun (int i = 0; i <80; i ++) {VFD.write (0x16); // moveCursor (i) kursorining ostini chizish; VFD.print ("X"); kechikish (100); moveCursor (i); VFD.print (""); } VFDclearsceen (); }

Umid qilamizki, siz buni qiziqarli va foydali deb topdingiz.

Bu xabarni pmdway.com sizga etkazib beradi - ishlab chiqaruvchilar va elektronika ixlosmandlari uchun hamma narsa, butun dunyo bo'ylab bepul etkazib berish.

Tavsiya: