
Სარჩევი:
2025 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2025-01-23 14:50



ახლა და ისევ თქვენ შეხვდებით საინტერესო ნაწილებს 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– ით - ყველაფერი მწარმოებლებისთვის და ელექტრონიკის მოყვარულთათვის, უფასო მიწოდებით მთელს მსოფლიოში.
გირჩევთ:
WAC (WALK AND CHARGE GADGET) - ძველი CD დისკის ხელახალი გამოყენება: 6 ნაბიჯი

WAC (WALK AND CHARGE GADGET) - ძველი CD დისკის ხელახლა გამოყენება: გამარჯობა ყველას, მე ვარ კრის XI კლასის მოსწავლე და ეს არის ჩემი პირველი სასწავლო. ეს პროექტი შევასრულე მე 11 წლის ვიყავი (მე ძალიან ერიდებოდა ჩემი პროექტების გამოქვეყნებას მხოლოდ იმისთვის, რომ ეს ყველასთვის მეჩვენებინა)*ბოდიში შეცდომებისთვის. ინგლისური არ არის ჩემი მშობლიური ენა
ძველი ლეპტოპის სენსორული პანელის ხელახალი გამოყენება სტეპერიანი ძრავის გასაკონტროლებლად: 11 ნაბიჯი (სურათებით)

გამოიყენეთ ძველი ლეპტოპის სენსორული სტეპერი ძრავის გასაკონტროლებლად: მე ეს პროექტი გავაკეთე რამდენიმე თვის წინ. რამდენიმე დღის უკან, მე გამოვაქვეყნე პროექტის პროექტი r/Arduino– ზე Reddit– ზე. როდესაც დავინახე, რომ ხალხი დაინტერესდა პროექტით, მე გადავწყვიტე გამეკეთებინა ეს ინსტრუქცია, სადაც შევიტანე ცვლილებები Arduino კოდში და
საავტომობილო სტერეოს გამოყენება Mp3s– ის ძველი სახლის სტერეოზე დასაკრავად: 7 ნაბიჯი

საავტომობილო სტერეოს გამოყენებით Mp3s– ის ძველი სახლის სტერეოზე დაკვრა: სახლის სტერეოზე mp3 ფაილების დაკვრა ბოლო ორი ათწლეულის მანძილზე გადმოვწერე ან მოვიხსენი დაახლოებით 5000 კლასიკური როკ ჰანგები და მჭირდებოდა ციფრული მუსიკალური ფაილების მარტივი გზა ძველი სახლის სტერეოზე. მე მაქვს საშინაო თეატრის კომპიუტერი (HTC) ჩართული
ძველი მობილური ტელეფონის ბატარეების ხელახალი გამოყენება: 10 ნაბიჯი (სურათებით)

გამოიყენეთ ძველი მობილური ტელეფონის ბატარეები: ხელახლა გამოიყენეთ ძველი მობილური ტელეფონის ბატარეები. მე ვიყენებ ტელეფონის ბატარეებს რამოდენიმე პროექტში ახლახანს eBay– ზე გასაოცარი პატარა მოდულის აღმოჩენის შემდეგ. მოდულს გააჩნია Li-ion დამტენი და ასევე ძაბვის მარეგულირებელი, რაც საშუალებას გაძლევთ გაზარდოთ
DS1307 და DS3231 რეალურ დროში საათის მოდულების გამოყენება Arduino– ით: 3 ნაბიჯი

DS1307 და DS3231 რეალურ დროში საათის მოდულების გამოყენება Arduino– ს საშუალებით: ჩვენ ვიღებთ თხოვნებს, თუ როგორ გამოვიყენოთ DS1307 და DS3231 რეალურ დროში საათის მოდულები Arduino– სთან სხვადასხვა წყაროდან-ასე რომ, ეს არის პირველი ორი ნაწილის სამეურვეო მეთოდი მათი გამოყენების შესახებ. Arduino– ს ამ გაკვეთილისთვის ჩვენ გვაქვს ორი რეალურ დროში საათის მოდული