Στο άρθρο, θα συνδέσουμε μια οθόνη υγρών κρυστάλλων 1602 με μια μονάδα FC-113 I2C στο Arduino, λόγω της οποίας η σύνδεση θα πραγματοποιηθεί χρησιμοποιώντας μόνο δύο καλώδια δεδομένων και δύο καλώδια ισχύος.
Είναι απαραίτητο
- - Arduino;
- - Οθόνη LCD 1602 (16 χαρακτήρες, 2 γραμμές).
- - Προσαρμογέας I2C FC-113.
- - καλώδια σύνδεσης.
Οδηγίες
Βήμα 1
Η μονάδα FC-113 βασίζεται στο μικροκύκλωμα PCF8574T, το οποίο είναι ένας καταχωρητής αλλαγής 8-bit - I / O expander για τον σειριακό δίαυλο I2C. Στο σχήμα, το μικροκύκλωμα ονομάζεται DD1.
Το R1 είναι μια αντίσταση κοπής για τη ρύθμιση της αντίθεσης της οθόνης LCD.
Το Jumper J1 χρησιμοποιείται για να ενεργοποιήσετε τον οπίσθιο φωτισμό της οθόνης.
Οι ακίδες 1… 16 χρησιμοποιούνται για τη σύνδεση της μονάδας με τους ακροδέκτες οθόνης LCD.
Απαιτούνται τακάκια επαφής A1 … A3 για να αλλάξετε τη διεύθυνση της συσκευής I2C. Κολλώντας τα αντίστοιχα άλματα, μπορείτε να αλλάξετε τη διεύθυνση της συσκευής. Ο πίνακας δείχνει την αντιστοιχία διευθύνσεων και άλτες: "0" αντιστοιχεί στο ανοιχτό κύκλωμα, "1" - στον εγκατεστημένο βραχυκυκλωτήρα. Από προεπιλογή, η διεύθυνση της συσκευής είναι 0x27, δηλαδή Και οι 3 άλτες είναι ανοιχτοί.
Βήμα 2
Η μονάδα συνδέεται στο Arduino ως στάνταρ για το δίαυλο I2C: ο πείρος SDA της μονάδας συνδέεται στην αναλογική θύρα A4, ο ακροδέκτης SCL συνδέεται στην αναλογική θύρα A5 του Arduino. Η μονάδα τροφοδοτείται από + 5V από το Arduino. Η ίδια η μονάδα συνδέεται με τους πείρους 1 … 16 με τους αντίστοιχους πείρους 1 … 16 στην οθόνη LCD.
Βήμα 3
Τώρα χρειαζόμαστε μια βιβλιοθήκη για να δουλεύουμε με LCD μέσω της διεπαφής I2C. Μπορείτε να χρησιμοποιήσετε, για παράδειγμα, αυτόν: https://www.dfrobot.com/wiki/index.php?title=I2C/TWI_LCD1602_Module_(SKU:_DFR0063)#Sample_Code (σύνδεσμος στη γραμμή "Λήψη δείγματος κώδικα και βιβλιοθήκη").
Το ληφθέν αρχείο "LiquidCrystal_I2Cv1-1.rar" αποσυμπιέζεται στο φάκελο "\ libraries ", που βρίσκεται στον κατάλογο του Arduino IDE.
Η βιβλιοθήκη υποστηρίζει ένα σύνολο τυπικών λειτουργιών για οθόνες LCD:
LiquidCrystal () - δημιουργεί μια μεταβλητή τύπου LiquidCrystal και δέχεται παραμέτρους σύνδεσης οθόνης (αριθμοί pin), έναρξη () - αρχικοποίηση της οθόνης LCD, ρύθμιση παραμέτρων (αριθμός γραμμών και συμβόλων).
διαγραφή () - διαγράψτε την οθόνη και επιστρέψτε τον κέρσορα στην αρχική θέση.
home () - επιστρέψτε τον κέρσορα στην αρχική θέση.
setCursor () - ρύθμιση του δρομέα στην καθορισμένη θέση.
εγγραφή () - εμφανίζει έναν χαρακτήρα στην οθόνη LCD.
print () - εμφανίζει κείμενο στην οθόνη LCD.
κέρσορας () - δείχνει τον κέρσορα, δηλ. υπογραμμίστε κάτω από τη θέση του επόμενου χαρακτήρα ·
noCursor () - κρύβει τον κέρσορα.
αναβοσβήνει () - ο δρομέας αναβοσβήνει.
noBlink () - ακύρωση αναβοσβήνει.
noDisplay () - απενεργοποιήστε την οθόνη ενώ αποθηκεύετε όλες τις εμφανιζόμενες πληροφορίες.
οθόνη () - ενεργοποιήστε την οθόνη ενώ αποθηκεύετε όλες τις εμφανιζόμενες πληροφορίες.
scrollDisplayLeft () - μετακινηθείτε στο περιεχόμενο οθόνης 1 θέση προς τα αριστερά.
scrollDisplayRight () - μετακινηθείτε στα περιεχόμενα της οθόνης κατά 1 θέση προς τα δεξιά.
autoscroll () - ενεργοποίηση αυτόματης κύλισης;
noAutoscroll () - απενεργοποιήστε την αυτόματη κύλιση;
leftToRight () - ορίζει την κατεύθυνση του κειμένου από αριστερά προς τα δεξιά.
rightToLeft () - κατεύθυνση κειμένου από δεξιά προς αριστερά.
createChar () - Δημιουργεί έναν προσαρμοσμένο χαρακτήρα για την οθόνη LCD.
Βήμα 4
Ας ανοίξουμε το δείγμα: Αρχείο -> Δείγματα -> LiquidCrystal_I2C -> CustomChars και επαναλάβετε λίγο. Ας εμφανίσουμε ένα μήνυμα, στο τέλος του οποίου θα υπάρχει ένα σύμβολο που αναβοσβήνει. Όλες οι αποχρώσεις του σκίτσου σχολιάζονται στα σχόλια του κώδικα.
Βήμα 5
Ας ρίξουμε μια πιο προσεκτική ματιά στο ζήτημα της δημιουργίας των δικών σας συμβόλων για οθόνες LCD. Κάθε χαρακτήρας στην οθόνη αποτελείται από 35 σημεία: 5 πλάτος και 7 υψηλά (+1 δεσμευμένη υπογράμμιση). Στη γραμμή 6 του παραπάνω σχεδίου, ορίζουμε μια σειρά από 7 αριθμούς: {0x0, 0xa, 0x1f, 0x1f, 0xe, 0x4, 0x0}. Ας μετατρέψουμε δεκαεξαδικούς αριθμούς σε δυαδικό: {00000, 01010, 11111, 11111, 01110, 00100, 00000}. Αυτοί οι αριθμοί δεν είναι τίποτα περισσότερο από μάσκες bit για καθεμία από τις 7 γραμμές του χαρακτήρα, όπου το "0" δηλώνει ένα σημείο φωτός και το "1" ένα σκοτεινό σημείο. Για παράδειγμα, στην οθόνη εμφανίζεται ένα σύμβολο καρδιάς που ορίζεται ως μάσκα bit, όπως φαίνεται στην εικόνα.
Βήμα 6
Ανεβάστε το σκίτσο στο Arduino. Στην οθόνη θα εμφανιστεί η επιγραφή που καθορίσαμε με έναν δρομέα που αναβοσβήνει στο τέλος.