Η οθόνη LCD σάς επιτρέπει να εμφανίζετε οπτικά τα δεδομένα από αισθητήρες. Θα εξηγήσουμε πώς να συνδέσετε σωστά τη μονάδα LCD QAPASS σε ένα Arduino μέσω του πρωτοκόλλου επικοινωνία I2C και θα δούμε τις βασικές εντολές για την αρχικοποίηση και τον έλεγχο της LCD 1602. Θα δούμε επίσης διάφορες λειτουργίες στη γλώσσα προγραμματισμού C++ για την εμφάνιση πληροφοριών κειμένου στην οθόνη, κάτι που απαιτείται συχνά σε projects γα Arduino.
Στο άρθρο αυτό θα μελετήσουμε τη σύνδεση της οθόνη με το I2C module γιατί απαιτεί λιγότερα καλώδια. Μπορεί βέβαια να γίνει σύνδεση χωρίς το module I2C αλλά έχει περισσότερα καλώδια να συνδέσετε.
Πώς λειτουργεί το interface Arduino I2C
Το I2C είναι ένας σειριακός δίαυλος δύο καλωδίων για την επικοινωνία ολοκληρωμένων κυκλωμάτων εντός ηλεκτρονικών συσκευών, γνωστή ως I²C ή IIC (Inter-Integrated Circuit). Το I²C αναπτύχθηκε από τη Philips στις αρχές της δεκαετίας του 1980 ως ένας απλός δίαυλος 8 bit για εσωτερική επικοινωνία μεταξύ κυκλωμάτων σε ηλεκτρονικά ελέγχου (π.χ., μητρικές πλακέτες υπολογιστών, κινητά τηλέφωνα κ.λπ.).

Σε ένα απλό σύστημα I²C μπορεί να έχει πολλές slave συσκευές και μία master συσκευή, η οποία ξεκινά τη μεταφορά δεδομένων και συγχρονίζει το σήμα. Πολλαπλές συσκευές slaves μπορούν να συνδεθούν στις γραμμές SDA (γραμμή δεδομένων) και SCL (γραμμή ρολογιού). Η master συσκευή είναι συχνά ένας ελεγκτής Arduino και οι slave συσκευές είναι ένα ρολόι πραγματικού χρόνου ή μια οθόνη LCD.
Πώς να συνδέσετε μια οθόνη LCD 1602 I2C σε ένα Arduino
Η οθόνη LCD 1602 με μια μονάδα I2C συνδέεται στην πλακέτα Arduino με μόνο τέσσερα καλώδια: δύο καλώδια δεδομένων και δύο καλώδια τροφοδοσίας. Ο ακροδέκτης SDA συνδέεται στη θύρα A4 και ο ακροδέκτης SCL συνδέεται στη θύρα A5. Η οθόνη LCD τροφοδοτείται από τη θύρα +5V.
Δείτε το διάγραμμα σύνδεσης της οθόνης LCD 1602 με το Arduino UNO μέσω του I2C στην παρακάτω φωτογραφία για περισσότερες λεπτομέρειες.

Αφού συνδέσετε την οθόνη LCD στο Arduino μέσω I2C, θα χρειαστεί να εγκαταστήσετε τη βιβλιοθήκη LiquidCrystal_I2C.h για να λειτουργήσει με την οθόνη LCD μέσω του interface I2C και τη βιβλιοθήκη Wire.h (διαθέσιμη στο τυπικό IDE του Arduino).
Εγκαταστήστε την βιβλιοθήκη LiquidCrystal_I2C.h για την οθόνη LCD 1602 με module I2C όπως φαίνεται στο παρακάτω

To sketch για την οθόνη LCD QAPASS 1602 I2C
#include // Βιβλιοθήκη για επικοινωνία μέσω πρωτοκόλλου I2C
#include // Βιβλιοθήκη για έλεγχο LCD οθόνης μέσω I2C
LiquidCrystal_I2C LCD(0x27,16,2); // Δημιουργία αντικειμένου LCD
// 0x27 = διεύθυνση I2C της οθόνης
// 16 = αριθμός στηλών χαρακτήρων
// 2 = αριθμός γραμμών
void setup() {
LCD.init(); // Αρχικοποίηση της οθόνης LCD
LCD.backlight(); // Ενεργοποίηση του οπίσθιου φωτισμού (backlight)
LCD.setCursor(1, 0); //Τοποθέτηση κέρσορα στη στήλη 1, γραμμή 0 (πρώτη γραμμή)
LCD.print("I LOVE"); // Εμφάνιση κειμένου στην πρώτη γραμμή
LCD.setCursor(8, 1); // Τοποθέτηση κέρσορα στη στήλη 8, γραμμή 1 (δεύτερη γραμμή)
LCD.print("ARDUINO"); // Εμφάνιση κειμένου στη δεύτερη γραμμή
}
void loop() {
LCD.noDisplay(); // Σβήνει προσωρινά ό,τι φαίνεται στην οθόνη (χωρίς να διαγράφει τη μνήμη)
delay(1000); // Αναμονή 1 δευτερολέπτου
LCD.display(); // Επαναφέρει την εμφάνιση του περιεχομένου στην οθόνη
delay(1000); // Αναμονή 1 δευτερολέπτου
}
Επεξήγηση κώδικα
- Πριν εμφανίσετε πληροφορίες στην οθόνη, πρέπει να ορίσετε τη θέση του κέρσορα χρησιμοποιώντας την εντολή setCursor(0,1), όπου το 0 είναι ο αριθμός χαρακτήρα στη γραμμή και το 1 είναι ο αριθμός γραμμής.
- Σε αντίθεση με την clear(), η εντολή noDisplay() δεν αφαιρεί το κείμενο, αλλά απενεργοποιεί την εμφάνισή του, ώστε να μπορεί να εμφανιστεί ξανά.
