» Ηλεκτρονικά »Πάγκος για μελέτη HD44780 σε χαμηλό επίπεδο

Επίπεδο μελέτης χαμηλού επιπέδου HD44780



Έγραψες στο πρόγραμμα για Arduino κάτι σαν:

lcd.print ("Γεια σας, Παγκόσμια!")


Το διοικητικό συμβούλιο εκτελέστηκε υπάκουα την εντολή και το κείμενο εμφανίστηκε στην οθόνη. Αλλά πώς μια συσκευή "έλεγε" κάτι και η δεύτερη "ακούει" και "καταλαβαίνει"; Αυτό είναι σαν να ζητάτε από τον καλλιτέχνη να κάνει το πορτρέτο σας, αλλά δεν βλέπει πώς εργάζεται σε αυτό. Ο συγγραφέας του Instructsbles με το ψευδώνυμο indoorgeek ήρθε με ένα περίπτερο που θα σας βοηθήσει να αισθανθείτε στα παπούτσια του "ζωντανού Arduino" και να κατευθύνετε το HD44780 σε χαμηλό επίπεδο. Σε έναν από τους διαγωνισμούς, αυτό σπιτικό κέρδισε το πρώτο βραβείο.

Χρειάζεται λίγη λεπτομέρεια: οποιαδήποτε μονάδα (LCD, VLI ή PMOLED) στον ελεγκτή HD44780 ή συμβατό, οκτώ διακόπτες εναλλαγής, πλήκτρο χωρίς μανδάλωση, μεταγωγικό διακόπτη, μεταβλητή αντίσταση 1 kΩ, πλακέτα με υποδοχή Micro USB και θήκη.








Από ό, τι δεν φαίνεται στη φωτογραφία, χρειαζόμαστε: αντίσταση 10 kOhm και πυκνωτή 100 μF και τουλάχιστον 6,3 V.

Ο ίδιος ο Indoorgeek πήρε μια ενότητα του πιο κοινού τύπου: LCD, 16 χαρακτήρες ανά γραμμή, δύο γραμμές. Αλλά οι υπόλοιπες μονάδες έχουν την ίδια αρχή ελέγχου, μόνο το pinout μπορεί να διαφέρει ελαφρώς, οπότε μην είστε πολύ τεμπέληδες για να δείτε το δελτίο δεδομένων.

Σε όλες τις περιπτώσεις, η σύνδεση με το κοινό καλώδιο αντιστοιχεί σε λογικό μηδέν και η σύνδεση με το δίαυλο ισχύος +5 volt αντιστοιχεί στην ενότητα.

Οι ακίδες 1 και 2 είναι για την τροφοδοσία της μονάδας. Το πρώτο από αυτά είναι πάντα συνδεδεμένο σε ένα κοινό καλώδιο, και το δεύτερο είναι πάντα με ένα δίαυλο ισχύος.

Η ακίδα 3 είναι για ρύθμιση της αντίθεσης. Όταν εφαρμόζεται τάση από 0 έως 5 βολτ σε σχέση με το κοινό καλώδιο, η αντίθεση αλλάζει από το μηδέν στο μέγιστο.

Η ακίδα 4 σας επιτρέπει να επιλέξετε μεταξύ ενός μητρώου δεδομένων και ενός μητρώου εντολών. Δίνουμε ένα λογικό μηδέν - επιλέγεται το μητρώο των οδηγιών (με άλλα λόγια εντολές), η μονάδα είναι ο καταχωρητής δεδομένων.

Οι οδηγίες μπορούν να είναι, για παράδειγμα, οι εξής: αρχικοποιήστε τον ελεγκτή, καθαρίστε την οθόνη κ.λπ. και τα δεδομένα περιλαμβάνουν σημάδια που θα εμφανίζονται στην ένδειξη.

Μπορείτε, αντιθέτως, να διαβάσετε τα δεδομένα από κάποιο μητρώο. Για να γίνει αυτό, πρέπει να εφαρμόσετε ένα υψηλό επίπεδο στον ακροδέκτη 5 και η οθόνη θα μεταβεί στον τρόπο εξόδου πληροφοριών πίσω στον μικροελεγκτή. Για να ξεκινήσετε ξανά την εγγραφή δεδομένων από τον μικροελεγκτή στον ελεγκτή οθόνης, πρέπει να στείλετε χαμηλό επίπεδο 5 στον ακροδέκτη 5. Πολύ συχνά, ο τρόπος ανάγνωσης δεν χρησιμοποιείται καθόλου, όπως για παράδειγμα σε αυτό το σπιτικό προϊόν.

Σύμφωνα με τους ακροδέκτες 7 έως 14, η οθόνη μπορεί να ανταλλάξει εντολές και δεδομένα σε κωδικοποίηση 8 bit. Το χαμηλότερο επίπεδο αντιστοιχεί στον ακροδέκτη 7, ο υψηλότερος - 14.

Η ακίδα 6 είναι απαραίτητη για το κλείσιμο.Ρυθμίζετε αργά τα δεδομένα στις ακίδες 7 έως 14, αλλά ενώ ο ακροδέκτης 6 είναι λογικό μηδέν, η μονάδα δεν ανταποκρίνεται καθόλου σε αυτό. Στη συνέχεια, χωρίς να αλλάξετε την κατάσταση των ακίδων 7 έως 14, στέλνετε έναν βραχυπρόθεσμο παλμό υψηλού επιπέδου στον ακροδέκτη 7 - και τα δεδομένα μεταδίδονται.

Συμπεράσματα 15 και 16 - διατροφή του οπίσθιου φωτισμού, εάν υπάρχει. 15 - συν, 16 - μείον.

Διαθέσιμο για indorgeek, η υπόθεση αποδείχθηκε ότι έχει μέγεθος 200x150x40 χιλιοστά. Η υπόθεση αυτή λήφθηκε από άλλο, αποσυναρμολογημένο σπιτικό και υπήρχαν ήδη τρύπες. Ο πλοίαρχος τους χρησιμοποίησε στο νέο σχέδιο στο μέγιστο για να κάνει όσο το δυνατόν λιγότερα πρόσθετα.



Ορίστηκε οκτώ διακόπτες εναλλαγής για την αλλαγή της κατάστασης των γραμμών διαύλου δεδομένων / εντολών, ένας διακόπτης για την επιλογή μεταξύ των καταχωρητών (βλ. Παραπάνω), ένα κουμπί για το άνοιγμα, μια μεταβλητή αντίσταση για τη συνεχή ρύθμιση της αντίθεσης.

Η ανυψωτική πλακέτα με βύσμα Micro USB διαθέτει βολικές ακίδες που διευκολύνουν τη σύνδεση των καλωδίων. Απαιτούνται μόνο δύο από αυτούς: +5 V και ένα κοινό καλώδιο. Αν δεν έχετε τέτοια κάρτα και μια υποδοχή Micro USB που έχει κολληθεί από κάπου φαίνεται ακατάλληλη για συγκόλληση, μπορείτε απλά να πάρετε ένα καλώδιο με μια υποδοχή USB. Σε κάθε περίπτωση, ας επαναλάβουμε μετά τον πλοίαρχο και να κολλήσουμε ένα τέτοιο σχέδιο:



Οι επαφές των διακόπτων εναλλαγής που αντιστοιχούν στην ανώτερη θέση, indorgeek συνδέονται μεταξύ τους και κατατέθηκε ένα πλεονέκτημα σε αυτά. Έκανε το ίδιο με τις επαφές των διακόπτων εναλλαγής που αντιστοιχούσαν στην κατώτερη θέση, μόνο του έδωσε ένα αρνητικό. Έχει συνδέσει τις κινητές επαφές των διακοπτών διακόπτη όχι μεταξύ τους, αλλά με τα συμπεράσματα των εντολών του διαύλου δεδομένων / υπομονάδας σύμφωνα με το "βάρος" και των δύο (D0 - ακίδα 7 - το λιγότερο σημαντικό bit, D7 - ακίδα 14 - το υψηλότερο). Εάν οι δάσκαλοι δεν είχαν ποντικίσει ενθουσιασμένους αντιστάτες έλξης κατά την παιδική ηλικία, θα ήταν σε θέση να χρησιμοποιήσουν απλούστερους διακόπτες εναλλαγής - όχι εναλλασσόμενοι, αλλά κανονικά ανοιχτοί.

Αλλά οι ίδιες αντιστάτες, αλλά στα κυκλώματα καταστολής της αναπήδησης επαφής, δεν είχε ποτέ προσβληθεί. Εδώ, αυτό το κύκλωμα είναι απαραίτητο ώστε ο ελεγκτής οθόνης να μην κάνει ένα πάτημα του πλήκτρου strobe για αρκετές. Τα άλλα στοιχεία ελέγχου δεν απαιτούν καταστολή της φραγής, εφόσον όσο δεν λαμβάνουν οι παλμοί στροβοσκοπίου, τα δεδομένα των υπόλοιπων γραμμών μπορούν να αλλάξουν πολλές φορές όπως θέλετε. Το κυριότερο είναι να μην αγγίξετε τους διακόπτες εναλλαγής και τον διακόπτη με το πάτημα του κουμπιού. Έτσι, με αντίσταση 10 kOhm, ο κύριος τράβηξε τον πείρο 6 στο κοινό καλώδιο, και με το κουμπί στο λεωφορείο συν. Δεδομένου ότι η αντίσταση του κουμπιού είναι πολύ χαμηλότερη, όταν πιέζεται, "τραβάει". Όταν απελευθερωθεί, η αντίσταση της πλησιάζει στο άπειρο, και η αντίσταση το "τραβάει" ήδη. Ένας πυκνωτής των 100 uF (που δεν φαίνεται στο διάγραμμα), που συνδέεται με ένα συν στον δίαυλο συν, και από το μείον στην αντίσταση και την έκτη έξοδο της οθόνης, καταστέλλει την κουβέντα. Είναι καλύτερα, βέβαια, να καταστείλει τη φλυαρία με ένα κουμπί διακόπτη και RS-trigger.

Στο μεταγωγικό διακόπτη, οι εξόδους των σταθερών επαφών συνδέονται με τον ίδιο τρόπο όπως για τους διακόπτες εναλλαγής και ο κινητός διακόπτης συνδέεται στην έξοδο της μονάδας 6. Εδώ, ο προγραμματιστής επέδειξε ξανά τον φόβο των αντιστάσεων pull-up. Αυτός ο διακόπτης είναι απαραίτητος για να επιλέξετε μεταξύ των τρόπων μετάδοσης των εντολών (μηδέν) και των δεδομένων (μονάδα).

Το Indoorgeek συνέδεσε την έξοδο της μεταβλητής αντιστάσεως που αντιστοιχεί στην ελάχιστη αντίθεση με το κοινό καλώδιο, το αντίθετο προς το λεωφορείο συν και τη μέση (κινητήρα) με την τρίτη έξοδο της μονάδας.

Τα συμπεράσματα 1, 5 και 16 (αντιστοίχως, μείον ισχύς, εγγραφή / ανάγνωση και μείον οπίσθιο φωτισμό) ο πλοίαρχος συνδέεται με ένα κοινό καλώδιο, οπότε επιλέγεται συνεχώς ο τρόπος εγγραφής. Τα συμπεράσματα 2 και 15 (αντιστοίχως, συν ισχύ και συν οπίσθιο φωτισμό), συνδέθηκε με το δίαυλο 5V. Μια αντίσταση περιορισμού ρεύματος μέσω των LED οπίσθιου φωτισμού είναι ενσωματωμένη στη μονάδα οθόνης.

Εάν έχετε συγκεντρώσει όλα αυτά, μπροστά σας τώρα - κάτι τέτοιο:



Το εμπρόσθιο πάνελ είναι σχεδιασμένο έτσι ώστε να μπορείτε να κάνετε το ίδιο:



Μπορείτε να μάθετε τις εντολές του ελεγκτή HD44780 και τον τρόπο ελέγχου τους δελτίο δεδομένων. Μπορείτε επίσης να δείτε τα έτοιμα παραδείγματα σεναρίων για προσομοιωτή. Για αρχάριους, θα επαναλάβουμε τα βήματα πίσω από το εσωτερικό για να εμφανιστεί η HELLO!

Ενεργοποιήστε τη συσκευή. Ο οπίσθιος φωτισμός θα ανάψει. Μετακινήστε το διακόπτη της πλάκας στη θέση που αντιστοιχεί στο λογικό μηδέν, έτσι ώστε η ένδειξη να μεταβαίνει στη λειτουργία λήψης εντολών. Ρυθμίστε τον δυαδικό αριθμό 00001111 στο δίαυλο εντολών / δεδομένων με τους αναστολείς και πατήστε σύντομα το κουμπί στροβοσκοπίου. Αυτή η εντολή σημαίνει: ενεργοποιήστε την οθόνη, ορατό και αναβοσβήνει ο δρομέας, που θα συμβεί. Με τον ίδιο τρόπο, θα εκδώσουμε την εντολή 00110000, που σημαίνει: λήψη δεδομένων σε μορφή 8-bit, επιλογή της πρώτης γραμμής και γραμματοσειράς 5 με 8 εικονοστοιχεία. Οπτικά, τίποτα δεν θα συμβεί, αλλά κάπου στο εσωτερικό του ελεγκτή οθόνης θα γίνουν οι απαραίτητοι διακόπτες. Μπορείτε να μεταφέρετε δεδομένα. Μεταφράζουμε το διακόπτη στη θέση που αντιστοιχεί στη λογική μονάδα, τώρα η μονάδα δείκτη είναι έτοιμη να τα δεχτεί. Ρυθμίστε τον κωδικό ASCII του γράμματος H, δηλ. 01001000, εναλλαγή των διακοπτών εναλλαγής στο δίαυλο και πατήστε το πλήκτρο strobe. Το αντίστοιχο γράμμα εμφανίζεται στην οθόνη και ο κέρσορας μετακινείται μία θέση προς τα δεξιά. Ομοίως, θα περάσουμε τα γράμματα E, L, L, O και το θαυμαστικό: 01000101, 01001100, 01001100, 01001111, 00100001. Εάν κάνατε το ίδιο πράγμα, δεν έχει σημασία στην βάση που μόλις συναρμολογήσατε ή στο προσομοιωτή, θα δείτε την επιγραφή HELLO ! Έτσι:



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

Η εκδρομή σας στην "κουζίνα" της βιβλιοθήκης Arduino LiquidCrystal μόλις ξεκινάει και αφήστε τη να διασκεδάσει!
7.5
7.5
7.5

Προσθέστε ένα σχόλιο

    • χαμόγελοχαμογελάειxaxaΕντάξειdontknowyahoonea
      αφεντικόξυστάανόητοςναιναι-ναιεπιθετικήμυστικό
      Συγγνώμηχορόςdance2dance3συγχώρησηβοήθειαποτά
      σταματήστεφίλουςκαλόgoodgoodσφυρίχτρασυρρέουνγλώσσα
      καπνόςπαλαμάκιαcrayδηλώστεαπογοητευτικήdon-t_mentionκατεβάστε
      θερμότηταςirefulγέλιο1mdaσυνάντησηmoskingαρνητική
      not_iποπ κορντιμωρίαδιαβάστετρομάξτεφοβίζειαναζήτηση
      χλευάζωthank_youαυτόto_clueumnikοξείασυμφωνώ
      κακόbeeeblack_eyeblum3ρουζκαυχηθείτεπλήξη
      λογοκρισίαευχαρίστησηsecret2απειλήσουννίκηyusun_bespectacled
      shokrespektlolπροβλέπουνκαλωσορίστεkrutoyya_za
      ya_dobryiβοηθόςne_huliganne_othodifludαπαγόρευσηκοντά

Σας συμβουλεύουμε να διαβάσετε:

Κάντε το για το smartphone ...