Turinys:
- 1 žingsnis:
- 2 žingsnis:
- 3 žingsnis:
- 4 žingsnis:
- 5 veiksmas:
- 6 veiksmas: ekrano valdymas
- 7 žingsnis: surinkite viską kartu
Video: Naudojant senesnius „Noritake Itron VFD“modulius: 7 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Retkarčiais „ebay“susiduriate su įdomiomis dalimis iš draugų ar tiesiog įsišaknijusių dėvėtų prekių parduotuvėse. Vienas iš to pavyzdžių buvo didžiulis Noritake Itron 40 x 2 simbolių vakuuminis fluorescencinis ekranas nuo 1994 m. (Ar anksčiau), kurį perdavė klientas.
Iš pradžių tai atrodė gana sudėtinga, tačiau praleidus šiek tiek laiko buvo rasti duomenų lapai ir nustatyta, kad ji turi paprastą nuosekliąją sąsają - ir šiek tiek padirbėję, mes tai padarėme, todėl skaitykite toliau, jei jus domina klasikiniai VFD arba turėti panašų įrenginį.
1 žingsnis:
Serijinės sąsajos perdavimo spartą nustato jungiamosios plokštės ant PCB.
2 žingsnis:
Taigi, lyginant aukščiau pateiktą lentelę su mūsų modulio trumpikliais, gauname 19200 bps duomenų greitį be pariteto. Puiku - tokį ryšį galime lengvai sukurti naudodami mikrovaldiklį su serijiniu išėjimu ir 5 V logikos lygiais; mūsų pavyzdžiams naudosime su „Arduino“suderinamą plokštę.
3 žingsnis:
VFD prijungimas yra paprastas - žiūrėkite baltus džemperius, pažymėtus CN2, kaip parodyta anksčiau. 1 kaištis yra 5 V (jums reikia išorinio maitinimo šaltinio, galinčio tiekti iki 700 mA), 2 kištuką prie „Arduino“skaitmeninio kaiščio 7, o 3 kaištį - prie „Arduino“ir maitinimo šaltinio GND.
Mes naudojame „Arduino D7“su programine įranga, o ne „TX“, kad įkeliant eskizą ekrane nebūtų rodomos šiukšlės. Tada reikia tiesiog nusiųsti tekstą į ekraną, pavyzdžiui, čia yra trumpas demonstravimo eskizas:
// Darbas su Noritake Itron VFD moduliais - modelis CU40026SCPB -T20A #include SoftwareSerial VFD (6, 7); // RX, TX
negaliojanti sąranka ()
{VFD.begin (19200); }
tuštumos kilpa ()
{VFD.print ("Sveiki, pasauli. Tai yra Noritake VFD"); // Galite ištrinti tekstą do {} while (1); }
4 žingsnis:
Kuris gaunamas taip:…
5 veiksmas:
Jei jums nepatinka ekrano spalva ar intensyvumas, išbandykite „Perspex“viršuje - pavyzdžiui …
6 veiksmas: ekrano valdymas
Šiuo metu jums reikės duomenų lapo duomenų lapo. Kaip matėte anksčiau, teksto rašymas yra labai paprastas - tiesiog naudokite.print funkcijas. Tačiau galbūt norėsite siųsti atskirus simbolius ir specialias komandas ekrano aspektams valdyti. Tai aprašyta duomenų lape - žr. Lenteles „Programinės įrangos komandos“ir „Simbolių šriftai“.
Jei jums reikia siųsti atskiras komandas, pvz., „Išvalyti ekraną“, kuris yra 0x0E, naudokite komandą.write, pvz.:
VFD.write (0x0E); // išvalyti ekraną
Kai kurios komandos yra pabėgimo kodų formatu (pamenate jas?), Todėl jums reikia nusiųsti ESC, tada šį baitą, pavyzdžiui, norint pakeisti ryškumą iki 50%:
VFD.write (0x1B); // ESC VFD.write (0x4C); // ryškumas VFD.write (0x40); // 50% ryškumas
Turėdami šias žinias ir duomenų lapus, dabar galite vykdyti visas komandas. Remiantis duomenų lapu, galima pakeisti šriftus, tačiau nesvarbu, kokį aparatūros jungiklį ar komandą bandėme, jis neatsikratytų japoniško katakana šrifto. Jūsų ekranas gali skirtis. Jei naudojate „ekrano prioriteto rašymo“funkciją, atkreipkite dėmesį į duomenų lapą, atsižvelgdami į ilgesnį „užimtumo“laiką, atidėdami vėlesnius įrašymus į ekraną milisekundėmis.
7 žingsnis: surinkite viską kartu
Užuot paaiškinęs kiekvieną įmanomą komandą, paplitusias funkcijas įtraukiau į dokumentuotas funkcijas toliau pateiktame demonstraciniame eskize, po kurio pateikiamas trumpas eskizo vaizdo įrašas.
// Darbas su Noritake Itron VFD moduliais - modelis CU40026SCPB -T20A // John Boxall 2013
#įtraukti
SoftwareSerial VFD (6, 7); // rx, tx
negaliojanti sąranka ()
{VFD.begin (19200); // programinės įrangos nuoseklaus prievado nustatymo greitisVFD (); VFDclearsceen (); // VFD.write (0x12); // vertikalaus slinkimo režimas (įjungtas)}
void resetVFD ()
// atlieka programinės įrangos atstatymą VFD valdiklyje {VFD.write (0x1B); // ESC VFD.write (0x49); // programinės įrangos atstatymas}
void VFDnewline ()
// perkelia žymeklį į kitos eilutės pradžią {VFD.write (0x0D); // vežimo grąžinimas VFD.write (0x0A); // eilutės sklaidos kanalas}
void VFDclearsceen ()
// perkelia žymeklį į viršų kairę ir išvalo ekraną {VFD.write (0x0E); // išvalyti ekraną VFD.write (0x0C); // formos sklaidos kanalas - žymeklis viršuje kairėje}
void VFDbrightness (int suma)
// nustato VFD ryškumą - 25/50/75/100% // naudoja ESC sekas {switch (suma) {atvejis 25: VFD.write (0x1B); // ESC VFD.write (0x4C); // ryškumas VFD.print (0); // 25% ryškumo pertrauka; 50 atvejis: VFD.write (0x1B); // ESC VFD.write (0x4C); // ryškumas VFD.write (0x40); // 50% ryškumo pertrauka; 75 atvejis: VFD.write (0x1B); // ESC VFD.write (0x4C); // ryškumas VFD.write (0x80); // 75% ryškumo pertrauka; 100 atvejis: VFD.write (0x1B); // ESC VFD.write (0x4C); // ryškumas VFD.write (0xC0); // 100% ryškumas}}
void VFDchars ()
// paleisti pasirinkto šrifto simbolius {for (int i = 21; i <256; i ++) {VFD.write (0x16); // pabraukti žymeklį iš VFD.write (i); vėlavimas (100); }}
void moveCursor (baitų padėtis)
// perkelia žymeklį - viršutinė eilutė yra 0 ~ 39, apatinė eilutė yra 40 ~ 79 // vertikalus slinkties režimas turi būti išjungtas, jei naudojamas {VFD.write (0x1B); // ESC VFD.write (0x48); // perkelti žymeklį VFD.write (pozicija); // vieta}
tuštumos kilpa ()
{VFD.write (0x16); // pabraukite žymeklį iš VFD.print ("Labas, pasaulis - pirmoji eilutė."); // Galite išpūsti teksto uždelsimą (1000); „VFDnewline“(); VFD.print („Labas, pasaulis - antra eilutė“); vėlavimas (1000); VFDclearsceen (); „VFDbrightness“(25); VFD.print ("*** 25% ryškumas ***"); vėlavimas (1000); VFDclearsceen (); „VFDbrightness“(50); VFD.print ("*** 50% ryškumas ***"); vėlavimas (1000); VFDclearsceen (); „VFDbrightness“(75); VFD.print ("*** 75% ryškumas ***"); vėlavimas (1000); VFDclearsceen (); VFDbrightness (100); VFD.print ("*** 100% ryškumas ***"); vėlavimas (1000); VFDclearsceen ();
VFDchars ();
VFDclearsceen ();
už (int i = 0; i <80; i ++) {VFD.write (0x16); // pabraukti žymeklį nuo „moveCursor“(i); VFD.print ("X"); vėlavimas (100); „moveCursor“(i); VFD.print (""); } VFDclearsceen (); }
Tikimės, kad jums tai buvo įdomu ir naudinga.
Šį įrašą jums pateikė pmdway.com - viskas gamintojams ir elektronikos entuziastams, nemokamas pristatymas visame pasaulyje.
Rekomenduojamas:
Itin paprastas būdas pradėti namų automatizavimą naudojant „pasidaryk pats“modulius: 6 žingsniai
Itin paprastas būdas pradėti naudotis namų automatizavimu naudojant „pasidaryk pats“modulius: buvau maloniai nustebintas, kai nusprendžiau prie namų asistento pridėti keletą „pasidaryk pats“jutiklių. Naudoti „ESPHome“yra labai paprasta ir šiame įraše sužinosime, kaip valdyti GPIO kaištį, taip pat gauti temperatūrą & drėgmės duomenys iš belaidžio tinklo
RSSI iki atstumo naudojant RF modulius (Xbees): 4 žingsniai
RSSI iki atstumo naudojant RF modulius (Xbees): „Xbees“yra maži radijo dažnių moduliai, kurie gali būti naudingi siunčiant informaciją pirmyn ir atgal ir kai kuriais kitais tikslesniais tikslais. Šiam projektui aš naudoju juos, kad gaučiau priimto signalo stiprumo indikatoriaus (RSSI) vertes, kad galėčiau įvertinti
Belaidis ryšys naudojant pigius 433 MHz RF modulius ir „Pic“mikrovaldiklius. 2 dalis: 4 žingsniai (su nuotraukomis)
Belaidis ryšys naudojant pigius 433 MHz RF modulius ir „Pic“mikrovaldiklius. 2 dalis. Pirmoje šios instrukcijos dalyje parodžiau, kaip užprogramuoti PIC12F1822 naudojant MPLAB IDE ir XC8 kompiliatorių, kad būtų galima siųsti paprastą eilutę belaidžiu būdu, naudojant pigius TX/RX 433 MHz modulius. Imtuvo modulis buvo prijungtas per USB prie UART TTL kabelinė reklama
Paprastas apsisukimų dažnis naudojant pigius modulius: 8 žingsniai
Paprastas RPM matuoklis naudojant pigius modulius: tai labai įdomus projektas ir sunaudojama labai mažai pastangų, kad būtų sukurtas labai paprastas apsisukimų dažnis (mano atveju apvalus per sekundę)
4 krypčių šviesoforo sistema, naudojant 5 „Arduinos“ir 5 belaidžius NRF24L01 modulius: 7 žingsniai (su nuotraukomis)
4 krypčių šviesoforų sistema, naudojant 5 „Arduinos“ir 5 belaidžius „NRF24L01“modulius: prieš kurį laiką sukūriau „Instructable“, kuriame išsamiai aprašyta viena šviesoforo pora. Taip pat sukūriau kitą „Instructable“, kuriame parodyta pagrindinė NRF24L01 belaidžio modulio naudojimo sistema. Tai privertė mane pagalvoti! Yra gana daug