LCD I2C avec Esptop 10 en utilisant Micropython et Thonny IDE

LCD I2C avec Esptop 10 en utilisant Micropython et Thonny IDE

ESP32 est une carte de microcontrôleur qui peut interfacer plusieurs matériels et capteurs. LCD et OLED sont d'excellents moyens d'afficher et de donner une représentation graphique à la sortie requise. Ce tutoriel couvre l'écran LCD interfaçant avec les cartes ESP32 en utilisant Micropython dans Thonny ide.

Qu'est-ce que Micropython

Micropython est écrit en C et c'est une implémentation de logiciel pour Python 3 ciblant principalement les applications système embarquées. Cependant, il ne peut pas exécuter complètement les bibliothèques standard Python 3. Micropython est une variante de Python et spécialement conçu pour les systèmes intégrés. Aujourd'hui, nous allons implémenter Micropython sur une carte ESP32 à l'aide de Thonny IDE.

Avant d'aller de l'avant, assurez-vous d'installer Thonny IDE pour programmer la carte ESP32. Télécharger Thonny ide Cliquez ici.

Qu'est-ce que l'écran de cristal liquide (LCD)

L'écran LCD ou le cristal liquide est un appareil qui fonctionne en appliquant une tension variable à une couche de cristal liquide qui induit des changements dans les propriétés optiques de l'écran LCD.

Aujourd'hui, nous couvrirons un LCD 16 × 2 avec carte ESP32, mais d'autres tailles de l'écran LCD devraient également fonctionner. Les LCD ayant une taille de 16 croix 2 peuvent afficher 16 caractères à l'intérieur d'une seule ligne et un total de deux lignes sont là dans ce modèle spécifique. L'écran LCD contient un affichage de matrice à points alphanumériques qui peut afficher un total de 224 caractères.

Nous pouvons également utiliser ce LCD directement avec ESP32 comme nous l'avons fait avec Arduino, mais cela nécessite une quantité tendue de travail acharné et il faut faire face à un tas de fils. Pour éviter cela, nous utiliserons un module I2C avec LCD qui ne nécessite que deux fils pour fonctionner qui sont SDA et SCL.

De plus, I2C LCD est livré avec un potentiomètre qui peut ajuster la luminosité de l'écran LCD sans avoir besoin d'une résistance variable externe pour contrôler la luminosité de l'écran LCD.

Pin I2C Fonction
GND Épingle
VCC Épingle électrique
SDA PIN utilisé pour l'échange de données
SCL Broche utilisée pour l'horloge synchrone

Pièces requises pour interfacer l'écran LCD avec ESP32

Avant de nous déplacer plus loin, nous vous recommandons de collecter les parties suivantes pour ce tutoriel:

  • ESP32 DOIT Devkit Wroom
  • 16x2 LCD
  • Interface série I2C
  • Planche à pain
  • Fils de cavalier

Câblage de l'écran LCD à l'ESP32

Le câblage d'un LCD avec ESP32 est simple, connectez simplement la broche SDA et SCL sur GPIO PIN 21 et 22.

Voici la configuration de la broche pour référence:

Préparation de Thonny IDE pour ESP32

Car le matériel est prêt à prendre le code maintenant ouvrir Thonny IDE et télécharger le code. Avant d'interfacer tout appareil I2C, nous devons connaître l'adresse I2C de cet appareil respectif. Les appareils I2C présentent une adresse unique pour eux. Pour de nombreux appareils, l'adresse par défaut pour I2C est 0x27 où 0x montre le hexagonal format du numéro.

Il est recommandé d'obtenir l'adresse I2C à chaque fois tout en interfaçant un nouvel appareil.

Obtenir l'adresse LCD

Connectez la carte ESP32 avec PC et ouvrez Thonny IDE. Tapez le code donné ci-dessous dans l'éditeur de Thonny IDE. Téléchargez le code dans la carte ESP32 à l'aide du bouton de lecture en haut.

Code

Ce code est écrit pour la broche 21 (SDA) et la broche 22 (SCL). Si vous utilisez une autre carte comme ESP8266, remplacez le numéro de broche en conséquence.

machine d'importation
sdapin = machine.Broche (21) # pour ESP32
sclpin = machine.PIN (22)
i2c = machine.I2c (sda = sdapin, scl = sclpin, freq = 10000)
dispositifs = i2c.analyse()
Si Len (dispositifs) == 0:
Imprimer ("Non I2C Device !")
autre:
Imprimer ('I2C Dispositifs trouvé:', Len (appareils))
pour l'appareil dans les appareils:
Imprimer ("à l'adresse:", Hex (appareil))

Sortir

La sortie suivante apparaîtra dans la borne de shell ici, nous pouvons voir l'adresse I2C pour l'écran LCD est 0x27.

Bibliothèques Micropython I2C LCD

Pour interface ESP32 avec I2C LCD, deux bibliothèques micropython différentes sont nécessaires. Nous utiliserons ces deux bibliothèques: LCD_API.py et i2c_lcd.py. Copiez ces deux bibliothèques à partir du lien donné et créez deux nouveaux fichiers à l'intérieur de Thonny IDE. Enregistrer ces deux bibliothèques dans ESP32 ou des planches respectives comme indiqué dans l'image ci-dessous.

Étape 1: Créez deux nouveaux fichiers et collez les deux bibliothèques du code séparément. Pour le sauver dans la carte ESP32, allez à: Fichier> Enregistrer sous

Étape 2: Une fenêtre contextuelle apparaîtra sélectionner le dispositif micropopython. Assurez-vous que la carte ESP32 est connectée au PC.

Étape 3: Écrivez le nom du fichier des bibliothèques et cliquez D'ACCORD.

Note: N'oubliez pas, gardez le même nom exact que LCD_API.py et I2C_LCD.py.

Enregistrez les deux fichiers de bibliothèque et créez un nouveau fichier avec nom principal.py où nous rédigeons le code micropopropython principal pour I2C LCD.

Étape 4: Une fois les trois fichiers créés, nous pouvons les voir dans l'éditeur de Thonny IDE. Nous pouvons fermer le fichier des bibliothèques et ouvrir principal.py Pour écrire et télécharger le code LCD I2C.

Afficher le texte sur l'écran LCD

Écrivez le code ci-dessous dans Thonny IDE et cliquez sur le bouton de lecture mentionné pour télécharger le code sur la carte ESP32.

Code

L'écriture du code donné dans la fenêtre Thonny IDE Editor aidera à interface I2C LCD avec la carte ESP32.

machine d'importation
à partir de la broche d'importation de machine, softi2c
à partir de LCD_API Import LCDAPI
de I2C_LCD Import i2clcd
à partir de temps pour sommeil
I2c_addr = 0x27
Totalrows = 2
TotalColumns = 16
i2c = softi2c (scl = broche (22), sda = broche (21), freq = 10000) # i2c pour ESP32
# i2c = i2c (SCL = PIN (5), sda = broche (4), freq = 10000) # i2c pour ESP8266
LCD = I2CLCD (I2C, I2C_ADDR, Totalrows, TotalColumns)
Bien que vrai:
LCD.putstr ("Linuxhint.com ")
sommeil (10)
LCD.clair()

Le code ci-dessus a commencé par appeler softi2c et classe PIN à partir du module de machine. Nous avons également ajouté un module de sommeil pour donner un retard. Ensuite, nous avons appelé les deux bibliothèques importantes LCD_API.py et I2C_LCD.py Nous venons d'économiser à l'intérieur du dossier ESP32.

La prochaine adresse I2C 0x27 est définie après que nous définissons les lignes et les colonnes totales à l'intérieur de l'écran LCD ici dans notre cas, c'est 16 × 2. Si vous utilisez une autre taille d'écran, modifiez les lignes et les colonnes.

Pour afficher le texte une chaîne Linuxhint.com est défini.

Sortir

Dans la sortie, nous pouvons voir la chaîne définie sur l'écran LCD.

Conclusion

Micropython est une langue conçue spécifiquement pour le système intégré. En utilisant deux bibliothèques LCD_API.py et I2C_LCD.py Nous pouvons facilement interfacer l'écran LCD I2C avec ESP32. Pour la programmation ESP32 avec Micropython, Thonny IDE est utilisé. Cet article est un guide sur l'interfaçage LCD avec ESP32.