- Matériel requis:
- Registre de décalage:
- Interface LCD avec ESP12 sans utiliser Shift Register:
- CODE:
- Interface LCD avec ESP12 utilisant le registre à décalage SN74HC595N:
- CODE:
Dans ce tutoriel, nous verrons comment interfacer NodeMCU avec un écran LCD 16x2 sans utiliser la communication I2C. Ici, nous allons interfacer un écran LCD 16x2 en utilisant le registre à décalage SN74HC595. Nous pouvons également l'interfacer même sans utiliser de registre à décalage. Nous verrons les deux types d'interfaces dans ce tutoriel. La principale différence entre les deux interfaces est le nombre de broches utilisées dans NodeMCU.
Matériel requis:
- NodeMCU ESP12E
- IC de registre de décalage SN74HC595
- Module LCD 16x2
- Potentiomètres
- Fils mâle-femelle
- Planche à pain
Registre de décalage:
Dans les systèmes numériques, un registre à décalage est une combinaison de bascules qui sont montées en série et partagent la même horloge. Dans ce package en cascade, la sortie de données d'une bascule agit comme une entrée de données pour la prochaine bascule, ce qui entraîne un circuit qui décale d'une position le tableau de bits qui y est stocké.
Le CI que nous allons utiliser est SN74HC595N. Il s'agit d'un simple CI de registre à décalage série 8 bits en parallèle. En termes simples, ce circuit intégré permet d'ajouter des entrées ou des sorties supplémentaires à un microcontrôleur en convertissant les données entre les formats parallèle et série. Notre microcontrôleur utilise 3 broches de ce circuit intégré pour envoyer des données en série. En fait, la sortie 8 bits arrivera sur 8 broches après avoir obtenu des informations 8 bits à partir des broches d'entrée. En savoir plus sur les registres à décalage ici.
Le diagramme PIN et les fonctions PIN de l'IC SN74HC595N sont donnés ci-dessous:
Vous trouverez ici l'interfaçage du 74HC595N avec Arduino et avec Raspberry pi.
Interface LCD avec ESP12 sans utiliser Shift Register:
Si vous avez utilisé un écran LCD 16x2 avec la carte Arduino, ce sera très facile. Vous devez simplement connecter les broches dans NodeMCU comme vous l'avez fait avec la carte Arduino.
Il y a 16 broches GPIO dans NodeMCU et nous avons besoin de 6 broches et gnd, vcc. Connectez les broches selon le schéma de circuit ci- dessous:
Nous utiliserons 4 broches de données et RS, EN de LCD qui sont connectées comme:
broche d7 de l'écran LCD == broche D8 de NodeMCU
broche d6 de l'écran LCD == broche D7 de NodeMCU
broche d5 de l'écran LCD == broche D6 de NodeMCU
broche d4 de l'écran LCD == broche D5 de NodeMCU
Broche RS de l'écran LCD == Broche D2 de NodeMCU
Broche En de l'écran LCD == Broche D3 de NodeMCU
Vous pouvez utiliser n'importe quel GPIO pour ces connexions.
Maintenant, téléchargez le code en utilisant Arduino IDE comme expliqué précédemment. Le code est le même que pour la carte Arduino qui peut être trouvée dans l'exemple Liquidcrystal. Le programme est simple et facilement compréhensible si vous souhaitez en savoir plus sur le programme, consultez notre interface LCD avec le programme Arduino.
CODE:
#comprendre
Comme nous l'avons vu, nous avons déjà utilisé 6 broches de NodeMCU. Il y a déjà moins de broches disponibles pour cette petite carte et il nous reste peu de broches pour interfacer d'autres capteurs.
Donc, pour surmonter ce problème, nous utiliserons le registre à décalage IC qui minimisera le non. de broches utilisées sur NodeMCU.
Interface LCD avec ESP12 utilisant le registre à décalage SN74HC595N:
Il y a 8 broches de sortie et 3 broches d'entrée disponibles dans le registre à décalage IC. Nous utiliserons 6 broches de sortie pour se connecter à l'écran LCD et 3 broches d'entrée à NodeMCU.
Les connexions de l'écran LCD avec IC sont données comme suit:
Broche D7 de l'écran LCD == broche 1 de l'IC
Broche D6 de l'écran LCD == broche 2 de l'IC
Broche D5 de l'écran LCD == broche 3 de l'IC
Broche D4 de l'écran LCD == broche 4 de l'IC
Broche RS de l'écran LCD == broche 7 de l'IC
En broche de l'écran LCD == broche 15 de l'IC
Connexion de NodeMCU avec IC:
Broche D6 de NodeMCU == broche 14 d'IC, PIN de DONNÉES d'IC
Broche D7 de NodeMCU == broche 12 de IC, PIN LATCH de IC
Broche D8 de NodeMCU == broche 11 d'IC, PIN D'HORLOGE d'IC
Connectez la broche 16 et la broche 10 de l'IC à Vcc.
Connectez les broches 8 et 13 de l'IC à GND.
Faites soigneusement le circuit selon le schéma ci-dessous:
Maintenant, notre matériel est prêt à être programmé.
Maintenant, nous avons besoin d'une bibliothèque « LiquidCrystal595 » qui peut être téléchargée à partir de ce lien https://github.com/tehniq3/LiquidCrystal595 en suivant les étapes ci-dessous:
1. Accédez au menu Sketch d'Arduino IDE.
2. Cliquez sur Inclure la bibliothèque .
3. Cliquez maintenant sur Ajouter une bibliothèque.zip. Choisissez le fichier zip que vous avez téléchargé à partir du lien donné et c'est fait.
Téléchargez maintenant le code ci-dessous et vous verrez un message imprimant sur l'écran LCD.
CODE:
#comprendre
Le code est simple car nous devons simplement donner la broche de données, la broche de verrouillage et la broche d'horloge comme argument dans LiquidCrystal595 lcd (); et le reste du code est le même que nous l'avons fait précédemment.
De cette façon, vous venez d'enregistrer 3 broches de NodeMCU en utilisant Shift Register.
Vérifiez également l'interfaçage de l'écran LCD 16x2 avec d'autres microcontrôleurs:
- Interfaçage LCD avec microcontrôleur PIC
- Interfaçage LCD 16x2 avec Raspberry Pi en utilisant Python
- Interface LCD avec le microcontrôleur ATmega32
- Interfaçage LCD avec le microcontrôleur 8051