Мазмуну:

Эски Noritake Itron VFD модулдарын колдонуу: 7 кадам
Эски Noritake Itron VFD модулдарын колдонуу: 7 кадам

Video: Эски Noritake Itron VFD модулдарын колдонуу: 7 кадам

Video: Эски Noritake Itron VFD модулдарын колдонуу: 7 кадам
Video: Схема нанесения этого кейса. Масса E-max Ceram 2024, Июль
Anonim
Эски Noritake Itron VFD модулдарын колдонуу
Эски Noritake Itron VFD модулдарын колдонуу
Эски Noritake Itron VFD модулдарын колдонуу
Эски Noritake Itron VFD модулдарын колдонуу
Эски Noritake Itron VFD модулдарын колдонуу
Эски Noritake Itron VFD модулдарын колдонуу

Азыр кайра-кайра сиз ebayдеги кызыктуу бөлүктөрдү кезиктиресиз, досторуңуздан же жөн эле экинчи дүкөндөрдөн тамеки тартуудан. Мунун бир мисалы, кардардан өткөрүлүп берилген 1994 (же андан мурунку) чоң Noritake Itron 40 x 2 символдуу вакуум-флуоресценттик дисплей эле.

Башында бул абдан татаал көрүнгөн, бирок бир аз убакыт өткөндөн кийин маалымат баракчалары табылган жана анын жөнөкөй сериялык интерфейси бар экени аныкталган - жана бир аз иштөө менен биз аны иштете алдык, андыктан классикалык VFDлерге кызыгып жатсаңыз, окуңуз же окшош бирдиги бар.

1 кадам:

Сүрөт
Сүрөт

Сериалдык интерфейстин кирүү ылдамдыгы ПХБдагы секиргичтер менен аныкталат.

2-кадам:

Сүрөт
Сүрөт

Ошентип, жогорудагы таблицаны биздин модулдагы секиргичтер менен салыштыруу бизге 19200 bps маалымат ылдамдыгын эч кандай паритетсиз берет. Улуу - биз мындай байланышты сериялык чыгаруу жана 5V логикалык деңгээлдери бар микроконтроллер менен оңой түзө алабыз; биздин мисалдар үчүн биз Arduino менен шайкеш келген тактаны колдонобуз.

3 -кадам:

VFDди туташтыруу жөнөкөй - CN2 деп белгиленген ак секиргичтерди мурун көрсөтүлгөндөй караңыз. 1 -пин 5V (сизге 700 мА чейин сунуш кыла турган тышкы камсыздоо керек), 2 -pin Arduino санариптик пин 7ге, 3 -пин Arduino жана GND энергия менен камсыздоо.

Эскиз жүктөлүп жатканда дисплей таштандыларды көрсөтпөшү үчүн, биз TX ордуна Arduino D7 программалык камсыздоосун колдонобуз. Анан дисплейге текст жөн эле жөнөтүү керек, мисалы бул жерде тез көрсөтмө эскиз:

// Noritake Itron VFD модулдары менен иштөө - CU40026SCPB -T20A модели #SoftwareSerial VFD кошуу (6, 7); // RX, TX

жараксыз орнотуу ()

{VFD.begin (19200); }

боштук цикл ()

{VFD.print ("Салам, дүйнө. Бул Noritake VFD"); // Сиз {} while текстин жок кыла аласыз (1); }

4 -кадам:

Сүрөт
Сүрөт

Натыйжада төмөнкүлөр пайда болот…

5 -кадам:

Сүрөт
Сүрөт

Эгерде сиз дисплейдин түсүнө же интенсивдүүлүгүнө кызыкпасаңыз, үстү жагындагы Perspexти колдонуп көрүңүз - мисалы …

6 -кадам: Дисплейди көзөмөлдөө

Бул учурда сизге маалымат баракчасынын маалымат баракчасы керек болот. Сиз мурда көргөндөй, текст жазуу абдан жөнөкөй - жөн гана.print функцияларын колдонуңуз. Бирок, дисплейдин аспектилерин көзөмөлдөө үчүн жеке белгилерди, ошондой эле атайын буйруктарды жөнөтүүнү кааласаңыз болот. Бул маалымат барагында көрсөтүлгөн - "Программалык буйруктар" жана "Белги шрифттери" таблицаларын караңыз.

Эгерде сизге бир гана буйруктарды жөнөтүү керек болсо - мисалы, 0x0E болгон "ачык дисплей",.write командасын колдонуңуз, мисалы:

VFD.write (0x0E); // ачык көрсөтүү

Кээ бир буйруктар качуу коддорунун форматында (булар эсиңиздеби?) Андыктан ESCти төмөнкү байтка жөнөтүшүңүз керек, мисалы, жарыкты 50%га өзгөртүү үчүн:

VFD.write (0x1B); // ESC VFD.write (0x4C); // жарыктык VFD.write (0x40); // 50% жарыктык

Бул билим жана маалымат баракчалары менен куралдансаңыз, эми сиз бардык буйруктарды аткара аласыз. Маалымат баракчасына ылайык, шрифттерди өзгөртүүгө болот, бирок кандай жабдык секиргич же буйрук болбосун, ал япон катакана шрифтинен баш тартпайт. Сиздин экран ар кандай болушу мүмкүн. Эгерде сиз "экрандын артыкчылыктуу жазуусу" функциясын колдонсоңуз, анда "бош эмес" убакытка карата маалымат баракчасына көңүл буруңуз, кийинки жазууларды дисплейге миллисекундка кечеңдетүү менен.

7 -кадам: Бардыгын бириктирүү

Ар бир мүмкүн болгон буйрукту түшүндүрүүнүн ордуна, мен жалпы функцияларды документтештирилген функциялардын ичине төмөндөгү демонстрациялык эскизге киргиздим, андан кийин эскиздин иштеп жаткан видеосу көрсөтүлөт.

// Noritake Itron VFD модулдары менен иштөө - модель CU40026SCPB -T20A // John Boxall 2013

#кошуу

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

жараксыз орнотуу ()

{VFD.begin (19200); // программалык камсыздоонун сериялык портун ылдамдыкка коюуVFD (); VFDclearsceen (); // VFD.write (0x12); // вертикалдуу жылдыруу режими (күйүк)}

жараксыз абалга келтирүүVFD ()

// VFD контроллеринде программалык камсыздоону баштапкы абалга келтирет {VFD.write (0x1B); // ESC VFD.write (0x49); // программалык камсыздоону кайра коюу}

жараксыз VFDnewline ()

// курсорду кийинки саптын башына жылдырат {VFD.write (0x0D); // арабаны кайтаруу VFD.write (0x0A); // сап түрмөгү}

жараксыз VFDclearsceen ()

// курсорду жогорку солго жылдырат жана дисплейди тазалайт {VFD.write (0x0E); // ачык көрсөтүү VFD.write (0x0C); // форма түрмөгү - курсор жогорку солго}

жараксыз VFDbrightness (int суммасы)

// VFD жарыктыгын коёт - 25/50/75/100% // ESC тизмектерин колдонот {которуу (сумма) {учурда 25: VFD.write (0x1B); // ESC VFD.write (0x4C); // жарыктык VFD.print (0); // 25% жарыктык тыныгуу; учурда 50: VFD.write (0x1B); // ESC VFD.write (0x4C); // жарыктык VFD.write (0x40); // 50% жарыктык тыныгуу; 75 -жагдай: VFD.write (0x1B); // ESC VFD.write (0x4C); // жарыктык VFD.write (0x80); // 75% жарыктык тыныгуу; учурда 100: VFD.write (0x1B); // ESC VFD.write (0x4C); // жарыктык VFD.write (0xC0); // 100% жарыктык}}

жараксыз VFDchars ()

// тандалган шрифт үчүн символдор аркылуу өтүү {үчүн (int i = 21; i <256; i ++) {VFD.write (0x16); // курсордун астын сызып VFD.write (i); кечиктирүү (100); }}

void moveCursor (байт абалы)

// курсорду жылдырат - жогорку сап 0 ~ 39, астынкы катар 40 ~ 79 // вертикалдуу жылдыруу режими колдонулганда өчүрүлүшү керек {VFD.write (0x1B); // ESC VFD.write (0x48); // курсорду жылдыруу VFD.write (орду); // жайгашкан жер}

боштук цикл ()

{VFD.write (0x16); // курсорду VFD.print өчүрүү ("Hello, world - line one."); // Сиз текст кечигүүсүн жардырсаңыз болот (1000); VFDnewline (); VFD.print ("Салам, дүйнө - экинчи сап."); кечигүү (1000); VFDclearsceen (); VFDbrightness (25); VFD.print ("*** 25% жарыктык ***"); кечигүү (1000); VFDclearsceen (); VFDbrightness (50); VFD.print ("*** 50% жарыктык ***"); кечигүү (1000); VFDclearsceen (); VFDbrightness (75); VFD.print ("*** 75% жарыктык ***"); кечигүү (1000); VFDclearsceen (); VFDbrightness (100); VFD.print ("*** 100% жарыктык ***"); кечигүү (1000); VFDclearsceen ();

VFDchars ();

VFDclearsceen ();

for (int i = 0; i <80; i ++) {VFD.write (0x16); // курсордун астын сызыңыз moveCursor (i); VFD.print ("X"); кечиктирүү (100); moveCursor (i); VFD.print (""); } VFDclearsceen (); }

Бул кызыктуу жана пайдалуу болду деп үмүттөнөбүз.

Бул билдирүү сизге pmdway.com тарабынан жеткирилген - бүткүл дүйнө жүзү боюнча бекер жеткирүү менен, өндүрүүчүлөр жана электроника ышкыбоздору үчүн.

Сунушталууда: