Სარჩევი:

ძველი Noritake Itron VFD მოდულების გამოყენება: 7 ნაბიჯი
ძველი Noritake Itron VFD მოდულების გამოყენება: 7 ნაბიჯი

ვიდეო: ძველი Noritake Itron VFD მოდულების გამოყენება: 7 ნაბიჯი

ვიდეო: ძველი Noritake Itron VFD მოდულების გამოყენება: 7 ნაბიჯი
ვიდეო: განახლებული Toyota Camry / ელექტრო Audi E-tron GT / KAMA-1 ელექტრომობილი კამაზისგან | Auto Fans Geo 2024, ივნისი
Anonim
ძველი Noritake Itron VFD მოდულების გამოყენება
ძველი Noritake Itron VFD მოდულების გამოყენება
ძველი Noritake Itron VFD მოდულების გამოყენება
ძველი Noritake Itron VFD მოდულების გამოყენება
ძველი Noritake Itron VFD მოდულების გამოყენება
ძველი Noritake Itron VFD მოდულების გამოყენება

ახლა და ისევ თქვენ შეხვდებით საინტერესო ნაწილებს ebay– ზე, მეგობრებისგან ან უბრალოდ მეორადი მაღაზიებში. ამის მაგალითი იყო უზარმაზარი Noritake Itron 40 x 2 სიმბოლო ვაკუუმ-ფლუორესცენტური ჩვენება 1994 წლიდან (ან უფრო ადრე), რომელიც გადაეცა კლიენტს.

თავდაპირველად ის საკმაოდ რთულად გამოიყურებოდა, თუმცა გარკვეული დროის გატარების შემდეგ მონაცემების ფურცლები იქნა ნაპოვნი და აღმოჩნდა, რომ მას ჰქონდა მარტივი სერიული ინტერფეისი - და მცირედი მუშაობით ჩვენ ვიმუშავეთ, ასე რომ წაიკითხეთ თუ დაინტერესებული ხართ კლასიკური VFD- ებით ან აქვს მსგავსი ერთეული.

Ნაბიჯი 1:

გამოსახულება
გამოსახულება

სერიული ინტერფეისის სიჩქარე განისაზღვრება ჯუმბერის ბალიშებით PCB- ზე.

ნაბიჯი 2:

გამოსახულება
გამოსახულება

ასე რომ, ჩვენი მოდულის მხტუნავებთან ზემოთ ცხრილის შედარება გვაძლევს მონაცემთა სიჩქარეს 19200 bps პარიტეტის გარეშე. შესანიშნავი - ჩვენ შეგვიძლია მარტივად შევქმნათ ასეთი კავშირი მიკროკონტროლერთან სერიული გამომავალი და 5V ლოგიკური დონით; ჩვენი მაგალითებისთვის ჩვენ გამოვიყენებთ Arduino- თან თავსებად დაფას.

ნაბიჯი 3:

VFD- ის გაყვანილობა მარტივია - იხილეთ თეთრი მხტუნავები CN2 წარწერით, როგორც ეს ადრე იყო ნაჩვენები. პინი 1 არის 5V (თქვენ გჭირდებათ გარე მარაგი, რომელსაც შეუძლია შესთავაზოს 700 mA- მდე), პინი 2 Arduino ციფრული პინ 7 -ისთვის და 3 პუნქტი Arduino- სთან და კვების წყარო GND.

ჩვენ ვიყენებთ Arduino D7– ს პროგრამული სერიით TX– ის ნაცვლად, რათა ესკიზის ატვირთვისას ეკრანზე ნაგავი არ გამოჩნდეს. შემდეგ საქმე მხოლოდ ტექსტის ჩვენებას ეკრანზეა, მაგალითად აქ არის სწრაფი დემონსტრირების ესკიზი:

// მუშაობა Noritake Itron VFD მოდულებთან - მოდელი CU40026SCPB -T20A #მოიცავს პროგრამული უზრუნველყოფის სერიული VFD (6, 7); // RX, TX

ბათილად დაყენება ()

{VFD. დასაწყისი (19200); }

ბათილი მარყუჟი ()

{VFD.print ("გამარჯობა, სამყარო. ეს არის ნორიტაკეს VFD"); // თქვენ შეგიძლიათ გააფუჭოთ ტექსტი do {} 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

#ჩართეთ

პროგრამული უზრუნველყოფა სერიული VFD (6, 7); // rx, tx

ბათილად დაყენება ()

{VFD. დასაწყისი (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); // ფორმის არხი - კურსორი ზედა მარცხნივ}

ბათილი VFD სიკაშკაშე (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 ()

// გაუშვით სიმბოლოები შერჩეული შრიფტისთვის {for (int i = 21; i <256; i ++) {VFD.write (0x16); // ხაზგასმა კურსორი VFD.write (i); დაგვიანება (100); }}

void move კურსორი (ბაიტის პოზიცია)

// გადააქვს კურსორი - ზედა მწკრივია 0 ~ 39, ქვედა სტრიქონი 40 ~ 79 // გადახვევის ვერტიკალური რეჟიმი უნდა იყოს გამორთული, თუ გამოიყენება {VFD.write (0x1B); // ESC VFD.write (0x48); // კურსორის გადატანა VFD.write (პოზიცია); // მდებარეობა}

ბათილი მარყუჟი ()

{VFD.write (0x16); // ხაზგასმული კურსორი გამორთული VFD.print ("გამარჯობა, მსოფლიო - ხაზი ერთი."); // თქვენ შეგიძლიათ გაანადგუროთ ტექსტის დაყოვნება (1000); VFDnewline (); VFD.print ("გამარჯობა, მსოფლიო - ხაზი ორი."); დაგვიანება (1000); VFDclearsceen (); VFD სიკაშკაშე (25); VFD.print ("*** 25% სიკაშკაშე ***"); დაგვიანება (1000); VFDclearsceen (); VFD სიკაშკაშე (50); VFD.print ("*** 50% სიკაშკაშე ***"); დაგვიანება (1000); VFDclearsceen (); VFD სიკაშკაშე (75); VFD.print ("*** 75% სიკაშკაშე ***"); დაგვიანება (1000); VFDclearsceen (); VFD სიკაშკაშე (100); VFD.print ("*** 100% სიკაშკაშე ***"); დაგვიანება (1000); VFDclearsceen ();

VFDchars ();

VFDclearsceen ();

for (int i = 0; i <80; i ++) {VFD.write (0x16); // ხაზს უსვამ კურსორს off moveCursor (i); VFD.print ("X"); დაგვიანება (100); moveCursor (i); VFD.print (""); } VFDclearsceen (); }

ვიმედოვნებთ, რომ ეს თქვენთვის საინტერესო და სასარგებლო აღმოჩნდა.

ეს პოსტი მოაქვს pmdway.com– ით - ყველაფერი მწარმოებლებისთვის და ელექტრონიკის მოყვარულთათვის, უფასო მიწოდებით მთელს მსოფლიოში.

გირჩევთ: