Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-23 15:14
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:
Ketma -ket interfeysning uzatilish tezligi PCB ustidagi o'tkazgichlar bilan belgilanadi.
2 -qadam:
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:
Quyidagilar bilan nima natija beradi …
5 -qadam:
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:
Adafruit patlari bilan Pimoroni Enviro+ FeatherWing -dan foydalanish NRF52840 Express: 8 qadam
Adafruit patlari bilan Pimoroni Enviro+ FeatherWing -dan foydalanish NRF52840 Express: Pimoroni Enviro+ FeatherWing - bu Adafruit Feather seriyali taxtalar bilan ishlash uchun mo'ljallangan datchiklarga to'la taxta. Bu atrof -muhit monitoringi, atmosferaning ifloslanishi va ma'lumotlarni yig'ish bilan qiziqqan har bir kishi uchun boshlash uchun foydali joy. Men
[2020] RC avtomobilini boshqarish uchun ikkita (x2) mikro: bitdan foydalanish: 6 qadam (rasmlar bilan)
[2020] RC avtomobilini boshqarish uchun ikkita (x2) Micro: bitdan foydalanish: Agar sizda ikkita (x2) micro: bit bo'lsa, ularni RC avtomashinasini masofadan boshqarish uchun ishlatishni o'ylab ko'rganmisiz? Siz RC avtomashinasini bitta mikro: bitni uzatuvchi sifatida, ikkinchisini qabul qilgich yordamida boshqarishingiz mumkin. Micro: b kodlash uchun MakeCode muharriridan foydalansangiz
Eski uy stereolarida Mp3 tinglash uchun avtomobil stereoidan foydalanish: 7 qadam
Eski uy stereolarida Mp3 ijro etish uchun avtomobil stereoidan foydalanish: mp3 formatidagi fayllarni uy stereolarida ijro etish Men so'nggi yigirma yil mobaynida 5000 ga yaqin klassik rok -qo'shiqlarni yukladim yoki yirtib tashladim va eski uy stereolarida raqamli musiqa fayllarini ijro etishning oddiy usuli kerak edi. Menda uy kinoteatri (HTC) ulangan
Eski telefon va eski dinamiklarni stereo sifatida qayta ishlating: 4 qadam
Eski telefon va eski karnaylarni stereo sifatida qayta ishlating: bir nechta eski karnay va eski smartfonni radio, mp3 ijro podkastlari va internet -radio bilan stereo o'rnatishga aylantiring. Shunday qilib, bizda 5-10 yoshli smartplar to'plami bor
Arduino bilan DS1307 va DS3231 real vaqtda soat modullaridan foydalanish: 3 qadam
Arduino bilan DS1307 va DS3231 real vaqtda soat modullaridan foydalanish: Biz har xil manbalardan DS1307 va DS3231 real vaqtda soat modullarini Arduino-dan qanday ishlatish bo'yicha so'rovlarni olamiz-shuning uchun bu ulardan foydalanish bo'yicha ikki qismli darslikning birinchisi. Bu Arduino qo'llanmasi uchun bizda ikkita real vaqtda soat moduli bor