Innehållsförteckning:
Video: Använda äldre Noritake Itron VFD -moduler: 7 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Då och då stöter du på intressanta delar på ebay, från vänner eller bara rotar runt i second hand-butiker. Ett exempel på detta var en enorm vakuumfluorescerande display från Noritake Itron på 40 x 2 tecken från 1994 (eller tidigare) som skickades vidare från en klient.
Ursprungligen såg det ganska komplext ut, men efter att ha spenderat tid hittades databladen och det upptäcktes att det hade ett enkelt seriellt gränssnitt - och med lite arbete har vi fått det att fungera, så läs vidare om du är intresserad av klassiska VFD eller har en liknande enhet.
Steg 1:
Den seriella gränssnittets överföringshastighet bestäms av bygelkuddarna på kretskortet.
Steg 2:
Så att jämföra tabellen ovan med hopparna på vår modul ger oss en datahastighet på 19200 bps utan paritet. Bra - vi kan enkelt skapa en sådan anslutning med en mikrokontroller med en seriell utgång och 5V logiska nivåer; för våra exempel använder vi ett Arduino-kompatibelt kort.
Steg 3:
Anslutning till VFD är enkel - se de vita hopparna märkta CN2 som visat tidigare. Stift 1 är 5V (du behöver en extern strömförsörjning som kan erbjuda upp till 700 mA), stift 2 till Arduino digital stift 7 och stift 3 till Arduino och strömförsörjning GND.
Vi använder Arduino D7 med programvara seriell istället för TX så att displayen inte visar skräp när en skiss laddas upp. Sedan är det bara att skicka text till displayen, till exempel här är en snabb demonstrationsskiss:
// Arbetar med Noritake Itron VFD -moduler - modell CU40026SCPB -T20A #include SoftwareSerial VFD (6, 7); // RX, TX
void setup ()
{VFD.begin (19200); }
void loop ()
{VFD.print ("Hej, världen. Detta är en Noritake VFD"); // Du kan spränga ut text gör {} medan (1); }
Steg 4:
Vilket resulterar med följande …
Steg 5:
Om du inte är sugen på skärmens färg eller intensitet, prova lite Perspex överst - till exempel …
Steg 6: Kontroll av displayen
Vid denna tidpunkt behöver du databladets datablad. Som du såg tidigare är det mycket enkelt att skriva text - använd bara.print -funktioner. Men du kanske vill skicka enskilda tecken, samt specialkommandon för att styra aspekter av displayen. Dessa beskrivs i databladet - se tabellerna "Programvarukommandon" och "Teckensnitt".
Om du behöver skicka enstaka kommandon - till exempel "clear display" som är 0x0E, använd ett.write -kommando, till exempel:
VFD.write (0x0E); // tydlig display
Vissa kommandon är i formatet escape -koder (kommer du ihåg dem?) Så du måste skicka ESC sedan följande byte, till exempel för att ändra ljusstyrkan till 50%:
VFD.write (0x1B); // ESC VFD.write (0x4C); // ljusstyrka VFD.write (0x40); // 50% ljusstyrka
Beväpnad med denna kunskap och datablad kan du nu utföra alla kommandon. Enligt databladet är det möjligt att ändra teckensnitt men oavsett vilken hårdvarubygel eller kommando vi försökte skulle det inte avvika från det japanska katakana -teckensnittet. Din skärm kan variera. Om du använder funktionen "skärmprioritetsskrivning", följ databladet med avseende på den förlängda "upptagna" tiden genom att fördröja efterföljande skrivningar till displayen med en millisekund.
Steg 7: Sätta ihop allt
I stället för att förklara alla möjliga kommandon har jag lagt de vanliga i dokumenterade funktioner i demonstrationsskissen nedan, som följs av en snabb video av skissen i drift.
// Arbetar med Noritake Itron VFD -moduler - modell CU40026SCPB -T20A // John Boxall 2013
#omfatta
SoftwareSerial VFD (6, 7); // rx, tx
void setup ()
{VFD.begin (19200); // Ställ in hastighet för programvara seriell port resetVFD (); VFDclearsceen (); // VFD.write (0x12); // vertikalt rullningsläge (på)}
void resetVFD ()
// utför en programåterställning på VFD -styrenheten {VFD.write (0x1B); // ESC VFD.write (0x49); // programåterställning}
void VFDnewline ()
// flyttar markören till början av nästa rad {VFD.write (0x0D); // vagnretur VFD.write (0x0A); // radmatning}
void VFDclearsceen ()
// flyttar markören uppe till vänster och rensar displayen {VFD.write (0x0E); // tydlig display VFD.write (0x0C); // formulärmatning - markör uppe till vänster}
ogiltig VFD -ljusstyrka (int belopp)
// ställer in VFD -ljusstyrka - 25/50/75/100% // använder ESC -sekvenser {switch (mängd) {case 25: VFD.write (0x1B); // ESC VFD.write (0x4C); // ljusstyrka VFD.print (0); // 25% ljusstyrka; fall 50: VFD.write (0x1B); // ESC VFD.write (0x4C); // ljusstyrka VFD.write (0x40); // 50% ljusstyrka; fall 75: VFD.write (0x1B); // ESC VFD.write (0x4C); // ljusstyrka VFD.write (0x80); // 75% ljusstyrka; fall 100: VFD.write (0x1B); // ESC VFD.write (0x4C); // ljusstyrka VFD.write (0xC0); // 100% ljusstyrka}}
ogiltiga VFDchars ()
// köra igenom tecken för valt teckensnitt {för (int i = 21; i <256; i ++) {VFD.write (0x16); // understryk markören från VFD.write (i); fördröjning (100); }}
void moveCursor (byte position)
// flyttar markören - översta raden är 0 ~ 39, nedre raden är 40 ~ 79 // vertikalt rullningsläge måste stängas av om det används {VFD.write (0x1B); // ESC VFD.write (0x48); // flytta markören VFD.write (position); // plats}
void loop ()
{VFD.write (0x16); // understryk markören från VFD.print ("Hej, värld - rad ett."); // Du kan spränga bort textfördröjning (1000); VFDnewline (); VFD.print ("Hej, värld - rad två."); fördröjning (1000); VFDclearsceen (); VFD -ljusstyrka (25); VFD.print ("*** 25% ljusstyrka ***"); fördröjning (1000); VFDclearsceen (); VFD -ljusstyrka (50); VFD.print ("*** 50% ljusstyrka ***"); fördröjning (1000); VFDclearsceen (); VFD -ljusstyrka (75); VFD.print ("*** 75% ljusstyrka ***"); fördröjning (1000); VFDclearsceen (); VFD -ljusstyrka (100); VFD.print ("*** 100% ljusstyrka ***"); fördröjning (1000); VFDclearsceen ();
VFDchars ();
VFDclearsceen ();
för (int i = 0; i <80; i ++) {VFD.write (0x16); // understryk markören av moveCursor (i); VFD.print ("X"); fördröjning (100); moveCursor (i); VFD.print (""); } VFDclearsceen (); }
Vi hoppas att du tyckte att detta var intressant och hjälpsamt.
Detta inlägg kommer till dig av pmdway.com - allt för tillverkare och elektronikentusiaster, med gratis leverans över hela världen.
Rekommenderad:
Privat TV-kanal för äldre: 4 steg (med bilder)
Privat TV-kanal för äldre: Minnen är en knepig fråga för min mormor som fyller 94 år i år. Så jag lade till en tv-kanal till hennes tv-apparat för att hjälpa henne att komma ihåg familjemedlemmar och viktiga stunder i hennes liv. För detta har jag använt ett gratis Dropbox -konto, en Raspber
Hur man kopplar en glödlampa äldre?: 8 steg
Hur man kopplar en glödlampa äldre?: I den här videon visar jag dig hur du kopplar en glödlampshållare. Prenumerera på vår kanal för fler spännande videor i framtiden!: Http://bit.ly/37Jenkh ----- ---------------------------------------------------------- --------------------------------- Följ oss
Juuke - en RFID -musikspelare för äldre och barn: 10 steg (med bilder)
Juuke - en RFID -musikspelare för äldre och barn: Detta är Juuke -lådan. Juuke -lådan är din egen musikaliska vän, gjord för att vara så enkel som möjligt att använda. Den är speciellt utformad för att användas av äldre och barn, men kan naturligtvis användas av alla andra åldrar. Anledningen till att vi skapade detta är på grund av
Använda en bilstereo för att spela MP3 -filer på äldre hemmastereo: 7 steg
Använda en bilstereo för att spela MP3 -skivor på äldre hemmastereo: Spela mp3 -filer på hemmastereo Jag har laddat ner eller rippat ungefär 5000 klassiska rocklåtar under de senaste två decennierna och behövde ett enkelt sätt att spela digitala musikfiler på en äldre hemmastereo. Jag har en hemmabio -dator (HTC) ansluten
Neopixel Ws2812 Rainbow LED-glöd med M5stick-C - Köra Rainbow på Neopixel Ws2812 Använda M5stack M5stick C Använda Arduino IDE: 5 steg
Neopixel Ws2812 Rainbow LED-glöd med M5stick-C | Köra Rainbow på Neopixel Ws2812 Använda M5stack M5stick C Använda Arduino IDE: Hej killar i denna instruktioner kommer vi att lära oss hur man använder neopixel ws2812 lysdioder eller ledremsor eller ledmatris eller ledring med m5stack m5stick-C utvecklingsbräda med Arduino IDE och vi kommer att göra ett regnbågsmönster med det