
Dans le descriptif du décodeur morse paru auparavent, le remplacement de l’afficheur LCD d’origine (en
mode parallèle) était prévu pour un autre afficheur à bus I2C.
Il n’y a rien à changer au shield, mis à part bien sûr l’afficheur LCD.
Par contre, il a fallu modifier le sketch qui se nomme alors : « décodeur_morse_4x20_I2C ».
Ligne 48 : Il faut utiliser la bibliothèque « Wire ». Cette bibliothèque existe d’origine dans l’IDE Arduino
mais elle est située là où on ne s’y attend pas et où on ne s’attends pas à la trouver !
En résumé il faudra la ranger dans : Mes documents/Arduino/libraries/ avec celle de la ligne 50, c’est-à-dire
Liquidcrystal_I2C (même procédure commune aux déclarations/emplacement des librairies).
Ligne 48 : #include
Ligne 49 : #include
Ligne 50 : #include comme son nom l’indique, bibliothèque spécifique à l’afficheur
I2C.
Ensuite, les lignes 51 à 61 permettent d’affecter les pins du LCD avec le module I2C.
Ligne 52 : #define I2C_ADDR 0x27
Suivant l’origine de l’afficheur en votre possession, vous serez peut-être amené à changer cette ligne. 0x27
est une adresse en hexadécimal, c’est celle de mon afficheur mais ce ne sera pas forcément celle que vous
devrez utiliser pour le vôtre, cela dépend du fabricant et (ou) de sa provenance.
Si cette adresse n’est pas la bonne, rien ne s’affichera, mis à part des petits carrés, mais rien de grave.
Pour résoudre le problème, il faudra utiliser un sketch intitulé « I2C_Scanner » et activer le « moniteur
série » (la loupe en haut à droite sur la grosse barre bleu foncé de l’IDE).
Il faudra aussi que la bibliothèque « Wire.h » soit présente là ou elle doit l’être (voir ci-dessus).

Câblage du montage nécessaire :
Nota : Le potentiomètre bleu sert à régler le contraste de l’affichage.
On peut aussi s’en sortir avec un multimètre :
Sous le potentiomètre bleu on voit trois rangées de plots : A0, A1 et A2.
- En alimentant le module I2C (GND = 0 V et VCC = +5 V) on pourra, au voltmètre, à l’aide du tableau ci-
dessous (0 = 0 V, 1 = 5 V), trouver l’adresse hexadécimale nécessaire. - Sans alimenter, et avec l’ohmmètre, 0 = continuité avec la borne GND et 1 = continuité avec la borne
Vcc.
A0 | A1 | A2 | Adresse Hexa |
---|---|---|---|
1 | 1 | 1 | 0x27 |
0 | 1 | 1 | 0x26 |
1 | 0 | 1 | 0x25 |
0 | 0 | 1 | 0x24 |
1 | 1 | 0 | 0x23 |
0 | 1 | 0 | 0x22 |
1 | 0 | 0 | 0x21 |
0 | 0 | 0 | 0x20 |
Enfin, les lignes 128 et 129 sont là pour le rétroéclairage.
La documentation plus les bibliothèques Wire et Liquidcrystal_I2C ainsi que les sketchs Décodeur_morse_4x20_I2C et
I2C_Scanner sont disponible ici …