Πίνακας περιεχομένων:

Χρήση παλαιότερων ενοτήτων VFD Noritake Itron: 7 βήματα
Χρήση παλαιότερων ενοτήτων VFD Noritake Itron: 7 βήματα

Βίντεο: Χρήση παλαιότερων ενοτήτων VFD Noritake Itron: 7 βήματα

Βίντεο: Χρήση παλαιότερων ενοτήτων VFD Noritake Itron: 7 βήματα
Βίντεο: Πώς κλίνω τον Παρακείμενο και τον Υπερσυντέλικο των Αρχαίων | Α Γυμνασίου | Ενότητα 9 2024, Ιούλιος
Anonim
Χρήση παλαιότερων ενοτήτων VFD Noritake Itron
Χρήση παλαιότερων ενοτήτων VFD Noritake Itron
Χρήση παλαιότερων ενοτήτων VFD Noritake Itron
Χρήση παλαιότερων ενοτήτων VFD Noritake Itron
Χρήση παλαιότερων ενοτήτων VFD Noritake Itron
Χρήση παλαιότερων ενοτήτων VFD Noritake Itron

Ξανά και ξανά συναντάς ενδιαφέροντα μέρη στο ebay, από φίλους ή απλώς ριζοβολώντας σε μεταχειρισμένα καταστήματα. Ένα παράδειγμα αυτού ήταν μια τεράστια οθόνη φθορισμού κενού Noritake Itron 40 x 2 από το 1994 (ή νωρίτερα), η οποία μεταφέρθηκε από έναν πελάτη.

Αρχικά φαινόταν αρκετά περίπλοκο, ωστόσο μετά από λίγο χρόνο βρέθηκαν τα φύλλα δεδομένων και ανακαλύφθηκε ότι είχε μια απλή σειριακή διεπαφή - και με λίγη δουλειά το έχουμε δουλέψει, οπότε διαβάστε αν ενδιαφέρεστε για τα κλασικά VFD ή έχουν παρόμοια μονάδα.

Βήμα 1:

Εικόνα
Εικόνα

Ο ρυθμός baud της σειριακής διεπαφής καθορίζεται από τα μαξιλάρια βραχυκυκλωτή στο 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 #include SoftwareSerial VFD (6, 7). // RX, TX

void setup ()

{VFD.begin (19200); }

κενός βρόχος ()

{VFD.print ("Hello, world. This is a Noritake VFD"); // Μπορείτε να αναδείξετε το κείμενο do {} while (1). }

Βήμα 4:

Εικόνα
Εικόνα

Τα οποία έχουν ως αποτέλεσμα τα ακόλουθα…

Βήμα 5:

Εικόνα
Εικόνα

Εάν δεν σας ενδιαφέρει το χρώμα ή η ένταση της οθόνης, δοκιμάστε κάποιο Perspex από πάνω - για παράδειγμα…

Βήμα 6: Έλεγχος της οθόνης

Σε αυτό το σημείο θα χρειαστείτε το φύλλο δεδομένων του φύλλου δεδομένων. Όπως είδατε προηγουμένως, η συγγραφή κειμένου είναι πολύ απλή - απλώς χρησιμοποιήστε τις λειτουργίες.print. Ωστόσο, μπορεί να θέλετε να στείλετε μεμονωμένους χαρακτήρες, καθώς και ειδικές εντολές για τον έλεγχο πτυχών της οθόνης. Αυτά περιγράφονται στο φύλλο δεδομένων - δείτε τους πίνακες "Εντολές λογισμικού" και "Γραμματοσειρές χαρακτήρων".

Εάν πρέπει να στείλετε μεμονωμένες εντολές - για παράδειγμα "καθαρή εμφάνιση" που είναι 0x0E, χρησιμοποιήστε μια εντολή.write, όπως:

VFD.write (0x0E); // καθαρή οθόνη

Ορισμένες εντολές έχουν τη μορφή κωδικών διαφυγής (θυμάστε αυτούς;), οπότε πρέπει να στείλετε ESC στη συνέχεια το ακόλουθο byte, για παράδειγμα για να αλλάξετε τη φωτεινότητα στο 50%:

VFD.write (0x1B); // ESC VFD.write (0x4C); // φωτεινότητα VFD.write (0x40); // 50% φωτεινότητα

Οπλισμένοι με αυτή τη γνώση και τα φύλλα δεδομένων, μπορείτε τώρα να εκτελέσετε όλες τις εντολές. Σύμφωνα με το φύλλο δεδομένων, είναι δυνατή η αλλαγή γραμματοσειρών, ωστόσο, ανεξάρτητα από το jumper υλικού ή την εντολή που δοκιμάσαμε, δεν θα ξεφύγει από την ιαπωνική γραμματοσειρά katakana. Η οθόνη σας μπορεί να διαφέρει. Εάν χρησιμοποιείτε τη λειτουργία "εγγραφή προτεραιότητας οθόνης", λάβετε υπόψη το φύλλο δεδομένων όσον αφορά τον εκτεταμένο χρόνο "απασχολημένου", καθυστερώντας τις επόμενες εγγραφές στην οθόνη κατά ένα χιλιοστό του δευτερολέπτου.

Βήμα 7: Το βάζουμε όλα μαζί

Αντί να εξηγήσω κάθε πιθανή εντολή, έβαλα τις κοινές μέσα σε τεκμηριωμένες συναρτήσεις στο παρακάτω σκίτσο επίδειξης, το οποίο ακολουθείται από ένα γρήγορο βίντεο του σκίτσου σε λειτουργία.

// Εργασία με μονάδες VFD Noritake Itron - μοντέλο CU40026SCPB -T20A // John Boxall 2013

#περιλαμβάνω

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

void setup ()

{VFD.begin (19200); // ορίστε ταχύτητα για επαναφορά σειριακής θύρας λογισμικούVFD (); VFDclearsceen (); // VFD.write (0x12); // κατακόρυφη λειτουργία κύλισης (ενεργοποιημένη)}

void reset VFD ()

// πραγματοποιεί επαναφορά λογισμικού στον ελεγκτή VFD {VFD.write (0x1B). // ESC VFD.write (0x49); // επαναφορά λογισμικού}

void VFDnewline ()

// μετακινεί τον κέρσορα στην αρχή της επόμενης γραμμής {VFD.write (0x0D); // μεταφορά μεταφοράς VFD.write (0x0A); // ΓΡΑΜΜΗ ΤΡΟΦΟΔΟΣΙΑΣ }

void VFDclearsceen ()

// μετακινεί τον κέρσορα επάνω αριστερά και διαγράφει την οθόνη {VFD.write (0x0E); // διαγραφή της οθόνης VFD.write (0x0C); // ροή φόρμας - δρομέας επάνω αριστερά}

void VFD Φωτεινότητα (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% φωτεινότητα}}

void VFDchars ()

// εκτελέστε χαρακτήρες για επιλεγμένη γραμματοσειρά {για (int i = 21; i <256; i ++) {VFD.write (0x16); // υπογραμμίστε τον κέρσορα εκτός VFD.write (i); καθυστέρηση (100)? }}

void moveCursor (θέση byte)

// μετακινεί τον κέρσορα - η πάνω σειρά είναι 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 (); VFDbrightness (100); VFD.print ("*** 100% φωτεινότητα ***"); καθυστέρηση (1000)? VFDclearsceen ();

VFDchars ();

VFDclearsceen ();

για (int i = 0; i <80; i ++) {VFD.write (0x16); // υπογραμμίστε τον κέρσορα off moveCursor (i); VFD.print ("X"); καθυστέρηση (100)? moveCursor (i); VFD.print (""); } VFDclearsceen (); }

Ελπίζουμε να βρήκατε αυτό το ενδιαφέρον και χρήσιμο.

Αυτή η ανάρτηση σας φέρνει το pmdway.com - τα πάντα για κατασκευαστές και λάτρεις των ηλεκτρονικών ειδών, με δωρεάν παράδοση σε όλο τον κόσμο.

Συνιστάται: