- Απαιτούμενο υλικό:
- Μητρώο Shift:
- Διεπαφή LCD με ESP12 χωρίς χρήση του Shift Register:
- ΚΩΔΙΚΑΣ:
- Διεπαφή LCD με ESP12 χρησιμοποιώντας Shift Register SN74HC595N:
- ΚΩΔΙΚΑΣ:
Σε αυτό το σεμινάριο θα δούμε πώς να διασυνδέσετε το NodeMCU με οθόνη 16x2 LCD χωρίς τη χρήση επικοινωνίας I2C. Εδώ θα διεπαφή LCD 16x2 χρησιμοποιώντας το shift register SN74HC595. Μπορούμε επίσης να το διασυνδέσουμε ακόμη και χωρίς να χρησιμοποιήσουμε κανένα shift register. Θα δούμε και τα δύο είδη διεπαφών σε αυτό το σεμινάριο. Η κύρια διαφορά μεταξύ των δύο διεπαφών είναι ο αριθμός των ακίδων που χρησιμοποιούνται στο NodeMCU.
Απαιτούμενο υλικό:
- NodeMCU ESP12E
- SN74HC595 Shift Register IC
- Μονάδα LCD 16x2
- Ποτενσιόμετρα
- Καλώδια αρσενικού-θηλυκού
- Ψωμί
Μητρώο Shift:
Στα ψηφιακά συστήματα, ένα shift register είναι ένας συνδυασμός flip-flops που είναι διαδοχικά σειριακοί και μοιράζονται το ίδιο ρολόι. Σε αυτό το πακέτο, τα δεδομένα από ένα flip-flop λειτουργούν ως δεδομένα για το επόμενο flip-flop που οδηγεί σε ένα κύκλωμα που αλλάζει κατά μία θέση η συστοιχία bit που είναι αποθηκευμένη σε αυτό.
Το IC που πρόκειται να χρησιμοποιήσουμε είναι SN74HC595N. Πρόκειται για ένα απλό σειριακό 8-bit σε παράλληλη εναλλαγή IC. Με απλά λόγια, αυτό το IC επιτρέπει την προσθήκη πρόσθετων εισόδων ή εξόδων σε έναν μικροελεγκτή μετατρέποντας δεδομένα μεταξύ παράλληλων και σειριακών μορφών. Ο μικροελεγκτής μας χρησιμοποιεί 3 ακίδες αυτού του IC για την αποστολή δεδομένων σειριακά. Στην πραγματικότητα, η έξοδος 8-bit θα έρχεται σε 8 ακίδες μετά τη λήψη πληροφοριών 8-bit από τις καρφίτσες εισόδου. Μάθετε περισσότερα για τους καταχωρητές βάρδια εδώ.
Το διάγραμμα PIN και οι λειτουργίες PIN του IC SN74HC595N δίνονται παρακάτω:
Θα βρείτε διεπαφή 74HC595N με Arduino και με Raspberry pi εδώ.
Διεπαφή LCD με ESP12 χωρίς χρήση του Shift Register:
Εάν έχετε χρησιμοποιήσει LCD 16x2 με την πλακέτα Arduino, τότε θα είναι πολύ εύκολο. Πρέπει να συνδέσετε τις καρφίτσες στο NodeMCU ακριβώς όπως και με την πλακέτα Arduino.
Υπάρχουν 16 καρφίτσες GPIO στο NodeMCU και χρειαζόμαστε 6 ακίδες και gnd, vcc. Συνδέστε τις ακίδες σύμφωνα με το διάγραμμα κυκλώματος που δίνεται παρακάτω:
Θα χρησιμοποιήσουμε 4 καρφίτσες δεδομένων και RS, EN LCD που συνδέονται ως:
d7 pin LCD == D8 pin NodeMCU
d6 ακίδα LCD == D7 ακίδα NodeMCU
d5 pin LCD == D6 pin NodeMCU
d4 pin LCD == D5 pin NodeMCU
Πείρος RS LCD == Πείρος D2 του NodeMCU
En pin of LCD == D3 pin NodeMCU
Μπορείτε να χρησιμοποιήσετε οποιοδήποτε GPIO για αυτές τις συνδέσεις.
Τώρα, ανεβάστε τον κωδικό χρησιμοποιώντας το Arduino IDE όπως εξηγήθηκε προηγουμένως Ο κωδικός είναι ίδιος με τον πίνακα Arduino που μπορεί να βρεθεί στο παράδειγμα Liquidcrystal. Το πρόγραμμα είναι απλό και εύκολα κατανοητό εάν θέλετε να μάθετε περισσότερα για το πρόγραμμα ελέγξτε τη διασύνδεση LCD με το Πρόγραμμα Arduino.
ΚΩΔΙΚΑΣ:
#περιλαμβάνω
Όπως είδαμε, χρησιμοποιήσαμε ήδη 6 καρφίτσες του NodeMCU. Υπάρχουν ήδη λιγότερες καρφίτσες για αυτή τη μικρή πλακέτα και μας απομένουν λίγες ακίδες για διασύνδεση άλλων αισθητήρων.
Έτσι, για να ξεπεράσουμε αυτό το πρόβλημα θα χρησιμοποιήσουμε το shift register IC που θα ελαχιστοποιήσει το όχι. των καρφιτσών που χρησιμοποιούνται στο NodeMCU.
Διεπαφή LCD με ESP12 χρησιμοποιώντας Shift Register SN74HC595N:
Υπάρχουν 8 έξοδοι και 3 καρφίτσες εισόδου διαθέσιμες στο shift register IC. Θα χρησιμοποιήσουμε 6 ακίδες εξόδου για σύνδεση με την οθόνη LCD και 3 ακίδες εισόδου στο NodeMCU.
Οι συνδέσεις LCD με IC παρέχονται ως:
D7 ακίδα LCD == ακίδα 1 IC
D6 ακίδα LCD == ακίδα 2 του IC
D5 ακίδα LCD == ακίδα 3 του IC
D4 ακίδα LCD == ακίδα 4 του IC
RS pin της LCD == pin 7 του IC
En pin of LCD == pin 15 IC
Σύνδεση NodeMCU με IC:
D6 ακροδέκτης NodeMCU == ακίδα 14 του IC, DATA PIN του IC
D7 ακίδα NodeMCU == ακίδα 12 IC, LATCH PIN IC
D8 ακροδέκτης NodeMCU == ακροδέκτης 11 του IC, ΡΟΛΟΙ ΡΙΝ του IC
Συνδέστε το PIN 16 και το PIN 10 του IC στο Vcc.
Συνδέστε το PIN 8 και το PIN 13 του IC στο GND.
Κάντε το κύκλωμα προσεκτικά σύμφωνα με το παρακάτω διάγραμμα:
Τώρα το υλικό μας είναι έτοιμο για προγραμματισμό.
Τώρα, χρειαζόμαστε μια βιβλιοθήκη " LiquidCrystal595 ", την οποία μπορείτε να κατεβάσετε από αυτόν τον σύνδεσμο https://github.com/tehniq3/LiquidCrystal595 ακολουθώντας τα παρακάτω βήματα:
1. Πηγαίνετε στο μενού Sketch του Arduino IDE.
2. Κάντε κλικ στο Συμπερίληψη βιβλιοθήκης .
3. Τώρα, κάντε κλικ στην Προσθήκη βιβλιοθήκης.zip. Επιλέξτε αρχείο zip που έχετε κατεβάσει από δεδομένο σύνδεσμο και το ολοκληρωμένο.
Τώρα ανεβάστε τον κωδικό που δίνεται παρακάτω και θα δείτε το μήνυμα να εκτυπώνει την οθόνη LCD.
ΚΩΔΙΚΑΣ:
#περιλαμβάνω
Ο κώδικας είναι απλός, καθώς πρέπει απλώς να δώσουμε την καρφίτσα δεδομένων, τον πείρο ασφάλισης και τον πείρο ρολογιού ως επιχείρημα στο LiquidCrystal595 lcd (); και ο υπόλοιπος κώδικας είναι ίδιος όπως έχουμε κάνει προηγουμένως.
Με αυτόν τον τρόπο, μόλις αποθηκεύσατε 3 ακίδες του NodeMCU χρησιμοποιώντας το Shift Register.
Επίσης, ελέγξτε τη διασύνδεση LCD 16x2 με άλλους μικροελεγκτές:
- Διασύνδεση LCD με μικροελεγκτή PIC
- 16x2 LCD Interfacing με Raspberry Pi χρησιμοποιώντας Python
- Διασύνδεση LCD με μικροελεγκτή ATmega32
- Διασύνδεση LCD με μικροελεγκτή 8051