Мазмұны:

Ескі Noritake Itron VFD модульдерін қолдану: 7 қадам
Ескі Noritake Itron VFD модульдерін қолдану: 7 қадам

Бейне: Ескі Noritake Itron VFD модульдерін қолдану: 7 қадам

Бейне: Ескі Noritake Itron VFD модульдерін қолдану: 7 қадам
Бейне: Нұрбол Құрман - Ескі ауыл 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 жылдамдықтағы паритетсіз жылдамдықты береді. Тамаша - біз сериялық шығысы мен 5В логикалық деңгейлері бар микроконтроллермен мұндай қосылысты оңай жасай аламыз; біздің мысалдар үшін біз Arduino үйлесімді тақтаны қолданамыз.

3 -қадам:

VFD -ді қосу қарапайым - бұрын көрсетілгендей CN2 деп белгіленген ақ секіргіштерді қараңыз. 1 -ші пин 5В (сізге 700 мА дейін жеткізе алатын сыртқы қоректену қажет), 2 -түйреуіш Arduino цифрлық 7 -ші түйреуішіне, 3 -ші түйін Arduino мен GND қуат көзіне.

Біз эскиз жүктелген кезде дисплей қоқысты көрсетпеуі үшін TX орнына Arduino D7 бағдарламалық жасақтамасын қолданамыз. Содан кейін дисплейге мәтін жіберу ғана қалады, мысалы, мұнда тез демонстрациялық эскиз:

// Noritake Itron VFD модульдерімен жұмыс - CU40026SCPB -T20A моделі #include SoftwareSerial VFD (6, 7); // RX, TX

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

{VFD.begin (19200); }

бос цикл ()

{VFD.print («Сәлем, әлем. Бұл - Noritake VFD»); // {1 while мәтінін өшіруге болады; }

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 // Джон Боксалл 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 реттілігін қолданады {switch (мөлшер) {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 ()

// таңдалған қаріп үшін таңбалар арқылы өту {for (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 («Сәлем, әлем - бірінші жол.»); // Сіз мәтіндік кідірісті өшіре аласыз (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 сізге жеткізеді - бұл өндірушілер мен электроникаға әуесқойлар үшін, бүкіл әлем бойынша ақысыз жеткізу.

Ұсынылған: