Dans ce tutoriel, vous allez apprendre comment utiliser, et mettre en marche l’écran LCD LCM1602 IIC (I2C) sur la carte Arduino UNO.
Pour ce tutoriel, vous aurez besoin de:
- Une carte Arduino UNO, Nano
- Ecran LCD LCM 1602 IIC V1 (16×2)
- Câbles pour connecter notre circuit “Mâle & Femelle”
Si vous avez besoin d’installer Arduino sur Ubuntu, regardez ici:
Description de produit LCM 1602 IIC V1
- Le module LCD 1602 est conçu pour afficher des lettres, des chiffres mais aussi des symboles. L’avantage d’utiliser un écran LCD I2C est que le câblage est très simple. Il vous suffit de câbler les broches SDA et SCL.
- En outre, il est livré avec un “potentiomètre intégré” que vous pouvez utiliser pour régler le contraste entre l’arrière-plan et les caractères de l’écran LCD. Sur un écran LCD “normal”, pour régler le contraste vous devez ajouter un potentiomètre au circuit. Voir sur image d’illustration “Contraste Ajustement“ :
Branchement de l’écran LCM 1602 IIC V1
- Fait raccordement des broches de votre l’écran LCD à la carte Arduino UNO selon les couleurs affiché dans le tableau :
LCM 1602 IIC V1 | Arduino UNO |
VCC | [5V] |
GND | [GND] |
SDA / Trafic | [A4] |
SCL | [A5] |
Câblage de IC2 LCM 1602 IIC V1
- Branchement des broches par couleur sur LCM 1602 IIC V1 :
* Vérifiez que le cavalier soit en place
Arduino UNO + LCM 1602 IIC V1 vue schématique
- Branchement des broches par couleur sur la carte Arduino UNO :
L’exemple de câblage du LCM 1602 IIC V1 sur Arduino UNO
L’exemple de câblage du LCM 1602 IIC V1 sur Arduino NANO
Importer bibliothèque NewLiquidCrystal
- Dans un premier temps, avant connecter par USB votre carte Arduino au l’ordinateur il vous faudra importer les librairies nécessaire qui permet une communication directe entre votre l’Arduino et l’écran LCD.
[Télécharger la librairie NewLiquidCrystal_V1.5.1 ici] :
https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads/
- En suite ouvrez l’DE Arduino et cliquez sur :
- Croquis
- Inclure une bibliothèque
- Ajouter la bibliothèque
- Choisir le ficher NewLiquidCrystal téléchargé.
- Une fois la bibliothèque NewLiquidCrystal est chargée, vous pouvez fermer et relancer votre l’IDE.
[Contenue de fichier NewLiquidCrystal] :
- Dans la libraires vous trouvez tout les fichier nécessaire pour pouvoir communiquer avec votre l’écran LCD comme les LiquidCrystal_I2C.h, LCD.h :
Examples I2CIO.cpp I2CIO.h keywords.txt LCD.cpp LCD.h LiquidCrystal.cpp LiquidCrystal.h LiquidCrystal_I2C.cpp LiquidCrystal_I2C.h LiquidCrystal_SI2C.cpp LiquidCrystal_SI2C.h ..etc
Téléchargez et lancez le scanner I2C
- On pourrait penser que tous ces modules viendraient avec une indication de l’adresse I2C, mais Ils ne le font pas.
- Dans mon cas, il est venu avec une adresse de [0x27]. D’autres rapportent des adresses de [ 0x20]. Afin de vous en assurer, je vous suggère d’exécuter le scanner I2C et de vérifier votre adresse.
[Entrez le code suivant, ou téléchargez le fichier scanner_I2C.ino sur votre ordinateur]
<< Télécharger ici : “Scanner I2C.zip”>>
// I2C Scanner #include <Wire.h> void setup() { Serial.begin (9600); while (!Serial) {} Serial.println (); Serial.println ("I2C scanner : Balayage ..."); byte count = 0; Wire.begin(); for (byte i = 8; i < 120; i++) { Wire.beginTransmission (i); if (Wire.endTransmission () == 0) { Serial.print ("L'adresse trouvé: "); Serial.print (i, DEC); Serial.print (" (0x"); Serial.print (i, HEX); Serial.println (")"); count++; delay (1); } } Serial.println ("Fait."); Serial.print ("Trouvé: "); Serial.print (count, DEC); Serial.println (" périphérique(s)."); } void loop() {}
- Une fois téléversé au votre Arduino, ouvrez le moniteur de série et regardez la résultat. Dans mon cas j’ai eu le (0x27)
( Pour ouvrir le moniteur série Vous pouvais utiliser CTRL+MAJ+M)
Afficher “Hello World” sur votre l’écran LCM 1602 IIC
- Le code plus simpliste pour l’afficher un texte sur votre l’écran LCD est :
#include <Wire.h> #include <LiquidCrystal_I2C.h> // Using version 1.2.1 // l’adresse indiquée est dans mon cas "0x27" LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); void setup() { lcd.begin(16,2); // 16 caractères sur 2 lignes lcd.backlight(); //Ecrire dans la 1ére ligne lcd.setCursor(0,0); lcd.print("Hello World!"); //Ecrire dans la 2éme ligne lcd.setCursor(8,1); lcd.print("-------"); } void loop() { }
Dépannage
POTENTIOMÈTRE
- Rien ne s’écrit? Le potentiomètre bleu (photo) règle le contraste. Si vous ne voyez aucun caractère, ajustez-le. Commencez dans le sens des aiguilles d’une montre et descendez jusqu’à l’endroit où les caractères sont clairs et l’arrière-plan ne comporte pas de cases derrière les caractères.
ERREUR avrdude: stk500_getsync() Arduino NANO
- Ups, j’ai un erreur “avrdude: stk500_getsync()” quoi faire ?
- Si vous-avez une erreur survenue lors du transfert du croquis :
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00 - Essayez de changer le bootloader ATmega328P par ATmega328P (Old Bootloader):
- Une fois cela fait, vous pouvez fermer et relancer votre IDE.
Amusez vous bien ! 🙂