Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Dans l'un de mes précédents Instructable, je vous ai montré comment connecter et interfacer un écran LCD à Arduino Uno et afficher des valeurs dessus. Mais comme observé, il y avait beaucoup de connexions et si le projet commençait à devenir très compliqué à cause de trop de fils.
Dans ce Instructable, je vais vous montrer comment connecter un écran LCD à un I2C, qui n'aura que 4 broches pour contrôler et utiliser l'écran LCD. Alors, commençons.
Étape 1: Composants requis
Pour ce projet vous aurez besoin de:
- Arduino Uno
- ACL 16x2
- I2C pour écran LCD 16x2
- Fils de branchement
Avec tout cela, passons à la partie connexions.
Étape 2: Connexions
Reportez-vous aux images et effectuez les connexions. C'est assez simple, il suffit de brancher l'I2C dans les ports du LCD et de le souder en place. Connectez ensuite la broche SCL à la broche A4 de l'Arduino et la broche SDA à la broche A5 de l'Arduino.
Je ne soude pas l'I2C car j'ai déjà soudé des broches d'en-tête sur l'écran LCD. Mais je suggérerais de souder l'I2C sur l'écran LCD
Étape 3: Coder
Il existe une bibliothèque principale LCD I2C incluse dans l'IDE Arduino. Mais il y a un léger problème avec le code qu'il contient. Tous les exemples de cette bibliothèque supposent que l'adresse par défaut de l'I2C est 0x27. Nous devons donc d'abord découvrir quelle est l'adresse de notre I2C. Nous pouvons le faire en utilisant le code du scanner I2C. Une fois que nous avons l'adresse I2C, nous pouvons remplacer cette valeur dans l'exemple de code et commencer à l'utiliser.
Code du scanner I2C:
#comprendre
void setup() { Wire.begin(); Serial.begin(9600); tandis que (!Série); // attend le moniteur série Serial.println("\nI2C Scanner"); } boucle vide() { erreur d'octet, adresse; int nPériphériques; Serial.println("Numérisation…"); nAppareils = 0; for(address = 1; address < 127; address++) { // Le i2c_scanner utilise la valeur de retour de // la Write.endTransmisstion pour voir si // un périphérique a accusé réception de l'adresse. Wire.beginTransmission(adresse); erreur = Wire.endTransmission(); if (erreur == 0) { Serial.print("Périphérique I2C trouvé à l'adresse 0x"); if (adresse<16) Serial.print("0"); Serial.print(adresse, HEX); Serial.println(" !"); nAppareils++; } else if (error==4) { Serial.print("Erreur inconnue à l'adresse 0x"); if (adresse<16) Serial.print("0"); Serial.println(adresse, HEX); } } if (nDevices == 0) Serial.println("Aucun périphérique I2C trouvé\n"); else Serial.println("done\n"); retard (5000); // attend 5 secondes pour le prochain scan }
Exemple de code (pour afficher les caractères saisis dans Serial Monitor):
#include #include
LiquidCrystal_I2C lcd (0x3F, 20, 4); // met l'adresse LCD à 0x27 pour un affichage de 16 caractères et 2 lignes
void setup()
{ lcd.init(); // initialise l'écran lcd lcd.backlight(); Serial.begin(9600); }
boucle vide()
{ // lorsque les caractères arrivent sur le port série… if (Serial.available()) { // attend un peu que le message entier arrive delay(100); // efface l'écran lcd.clear(); // lit tous les caractères disponibles while (Serial.available() > 0) { // affiche chaque caractère sur l'écran LCD lcd.write(Serial.read()); } } }
Étape 4: la sortie
Une fois que vous avez téléchargé le code, vous êtes prêt à partir. Pour ce Instructable, j'ai pris l'exemple du Serial Print Code. Alors maintenant, après avoir téléchargé le code, ouvrez le moniteur série et tapez un mot et cliquez sur "envoyer". Vous devriez maintenant voir cette valeur s'afficher sur l'écran LCD.