Satura rādītājs:

Izmantojot vecākus Noritake Itron VFD moduļus: 7 soļi
Izmantojot vecākus Noritake Itron VFD moduļus: 7 soļi

Video: Izmantojot vecākus Noritake Itron VFD moduļus: 7 soļi

Video: Izmantojot vecākus Noritake Itron VFD moduļus: 7 soļi
Video: ReTV: Hospitalizējot vecākus, bērniem nodrošinās aprūpi viesnīcā 2024, Novembris
Anonim
Izmantojot vecākus Noritake Itron VFD moduļus
Izmantojot vecākus Noritake Itron VFD moduļus
Izmantojot vecākus Noritake Itron VFD moduļus
Izmantojot vecākus Noritake Itron VFD moduļus
Izmantojot vecākus Noritake Itron VFD moduļus
Izmantojot vecākus Noritake Itron VFD moduļus

Šad un tad jūs atrodaties interesantās vietās ebay, no draugiem vai vienkārši sakņojoties lietotu preču veikalos. Viens piemērs tam bija milzīgs Noritake Itron 40 x 2 rakstzīmju vakuumfluorescējošs displejs no 1994. gada (vai agrāk), kas tika nodots no klienta.

Sākotnēji tas izskatījās diezgan sarežģīti, tomēr pēc kāda laika datu lapas tika atrastas un tika atklāts, ka tām ir vienkāršs seriālais interfeiss - un ar nelielu darbu mēs to esam ieguvuši, tāpēc lasiet tālāk, ja jūs interesē klasiskie VFD vai ir līdzīga vienība.

1. darbība:

Attēls
Attēls

Sērijas saskarnes pārraides ātrumu nosaka PCB džemperi.

2. darbība:

Attēls
Attēls

Tātad, salīdzinot iepriekš minēto tabulu ar mūsu moduļa džemperiem, iegūstam datu ātrumu 19200 bps bez paritātes. Lieliski - mēs varam viegli izveidot šādu savienojumu ar mikrokontrolleri ar sērijas izeju un 5V loģikas līmeņiem; mūsu piemēriem mēs izmantosim ar Arduino saderīgu dēli.

3. darbība:

VFD savienošana ir vienkārša - skatiet baltos džemperus ar apzīmējumu CN2, kā parādīts iepriekš. 1. tapa ir 5 V (jums ir nepieciešams ārējs barošanas avots, kas var piedāvāt līdz 700 mA), 2. tapa līdz Arduino digitālajai tapai 7 un 3. tapa - Arduino un barošanas avotam GND.

Mēs izmantojam Arduino D7 ar programmatūras sēriju, nevis TX, lai skices augšupielādes laikā displejā netiktu parādīti atkritumi. Tad runa ir tikai par teksta nosūtīšanu uz displeju, piemēram, šeit ir ātra demonstrējuma skice:

// Darbs ar Noritake Itron VFD moduļiem - modelis CU40026SCPB -T20A #include SoftwareSerial VFD (6, 7); // RX, TX

anulēts iestatījums ()

{VFD.begin (19200); }

tukša cilpa ()

{VFD.print ("Labdien, pasaule. Šis ir Noritake VFD"); // Jūs varat izsvītrot tekstu do {} while (1); }

4. solis:

Attēls
Attēls

Rezultāts ir šāds…

5. darbība:

Attēls
Attēls

Ja jums nepatīk displeja krāsa vai intensitāte, izmēģiniet dažas Perspex ierīces, piemēram,…

6. darbība: displeja vadība

Šajā brīdī jums būs nepieciešama datu lapas datu lapa. Kā redzējāt iepriekš, teksta rakstīšana ir ļoti vienkārša - vienkārši izmantojiet.print funkcijas. Tomēr, iespējams, vēlēsities nosūtīt atsevišķas rakstzīmes, kā arī īpašas komandas, lai kontrolētu displeja aspektus. Tie ir izklāstīti datu lapā - skatīt tabulas “Programmatūras komandas” un “Rakstzīmju fonti”.

Ja jums jānosūta atsevišķas komandas, piemēram, “skaidrs displejs”, kas ir 0x0E, izmantojiet komandu.write, piemēram:

VFD.write (0x0E); // skaidrs displejs

Dažas komandas ir aizbēgšanas kodu formātā (atcerieties tos?), Tāpēc jums ir jānosūta ESC un pēc tam šāds baits, piemēram, lai mainītu spilgtumu uz 50%:

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

Apbruņojoties ar šīm zināšanām un datu lapām, jūs tagad varat izpildīt visas komandas. Saskaņā ar datu lapu ir iespējams mainīt fontus, tomēr neatkarīgi no aparatūras džempera vai komandas, kuru mēs izmēģinājām, tā neatkāptos no japāņu katakana fonta. Ekrāns var atšķirties. Ja izmantojat funkciju “ekrāna prioritātes rakstīšana”, ņemiet vērā datu lapu attiecībā uz pagarināto “aizņemto” laiku, aizkavējot turpmāko rakstīšanu displejā par milisekundi.

7. solis: salieciet to visu kopā

Tā vietā, lai izskaidrotu katru iespējamo komandu, es esmu ievietojis kopējās dokumentētajās funkcijās zemāk esošajā demonstrācijas skicē, kam seko ātrs skices darbības video.

// Darbs ar Noritake Itron VFD moduļiem - modelis CU40026SCPB -T20A // John Boxall 2013

#iekļaut

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

anulēts iestatījums ()

{VFD.begin (19200); // iestatiet programmatūras sērijas porta atiestatīšanas ātrumuVFD (); VFDclearsceen (); // VFD.write (0x12); // vertikālās ritināšanas režīms (ieslēgts)}

void resetVFD ()

// veic programmatūras atiestatīšanu VFD kontrolierim {VFD.write (0x1B); // ESC VFD.write (0x49); // programmatūras atiestatīšana}

anulēts VFDnewline ()

// pārvieto kursoru uz nākamās rindas sākumu {VFD.write (0x0D); // karietes atgriešana VFD.write (0x0A); // līnijas plūsma}

void VFDclearsceen ()

// pārvieto kursoru uz augšu pa kreisi un notīra displeju {VFD.write (0x0E); // notīrīt displeju VFD.write (0x0C); // veidlapas plūsma - kursors augšējā kreisajā pusē}

void VFDbrightness (int summa)

// nosaka VFD spilgtumu - 25/50/75/100% // izmanto ESC secības {switch (summa) {gadījums 25: VFD.write (0x1B); // ESC VFD.write (0x4C); // spilgtums VFD.print (0); // 25% spilgtuma pārtraukums; 50. gadījums: VFD.write (0x1B); // ESC VFD.write (0x4C); // spilgtums VFD.write (0x40); // 50% spilgtuma pārtraukums; gadījums 75: VFD.write (0x1B); // ESC VFD.write (0x4C); // spilgtums VFD.write (0x80); // 75% spilgtuma pārtraukums; gadījums 100: VFD.write (0x1B); // ESC VFD.write (0x4C); // spilgtums VFD.write (0xC0); // 100% spilgtums}}

anulēts VFDchars ()

// palaist rakstzīmes izvēlētajam fontam {for (int i = 21; i <256; i ++) {VFD.write (0x16); // pasvītrot kursoru pie VFD.write (i); kavēšanās (100); }}

kursors (baitu pozīcija)

// pārvieto kursoru - augšējā rinda ir 0 ~ 39, apakšējā rinda ir 40 ~ 79 // vertikālās ritināšanas režīms ir jāizslēdz, ja to izmanto {VFD.write (0x1B); // ESC VFD.write (0x48); // pārvietot kursoru VFD.write (pozīcija); // atrašanās vieta}

tukša cilpa ()

{VFD.write (0x16); // pasvītrot kursoru pie VFD.print ("Labdien, pasaule - pirmā rinda."); // Jūs varat izspiest teksta aizkavi (1000); VFDnewline (); VFD.print ("Labdien, pasaule - otrā rinda."); kavēšanās (1000); VFDclearsceen (); VFD spilgtums (25); VFD.print ("*** 25% spilgtums ***"); kavēšanās (1000); VFDclearsceen (); VFD spilgtums (50); VFD.print ("*** 50% spilgtums ***"); kavēšanās (1000); VFDclearsceen (); VFD spilgtums (75); VFD.print ("*** 75% spilgtums ***"); kavēšanās (1000); VFDclearsceen (); VFD spilgtums (100); VFD.print ("*** 100% spilgtums ***"); kavēšanās (1000); VFDclearsceen ();

VFDchars ();

VFDclearsceen ();

par (int i = 0; i <80; i ++) {VFD.write (0x16); // pasvītrot kursoru pie moveCursor (i); VFD.print ("X"); kavēšanās (100); moveCursor (i); VFD.print (""); } VFDclearsceen (); }

Mēs ceram, ka jums tas šķita interesanti un noderīgi.

Šo ziņu jums sniedz pmdway.com - viss veidotājiem un elektronikas entuziastiem, ar bezmaksas piegādi visā pasaulē.

Ieteicams: