I2C LCD con ESPTOP 10 Utilizzo di MicroPython e Thonny IDE

I2C LCD con ESPTOP 10 Utilizzo di MicroPython e Thonny IDE

ESP32 è una scheda microcontrollore che può interfacciarsi più hardware e sensori. LCD e OLED sono ottimi modi per visualizzare e dare una rappresentazione grafica all'output richiesto. Questo tutorial copre l'interfaccia del display LCD con le schede ESP32 che utilizzano Micropython In Thonny Ide.

Cos'è Micropython

Micropython è scritto in C ed è un'implementazione del software per Python 3 principalmente mira a applicazioni di sistema incorporate. Tuttavia, non può eseguire completamente le librerie standard Python 3. Micropython è una variante di Python e appositamente progettato per sistemi incorporati. Oggi implementeremo MicroPython su una scheda ESP32 usando Thonny IDE.

Prima di andare avanti assicurati di installare Thonny IDE per programmare la scheda ESP32. Scaricare Thonny Ide clicca qui.

Cos'è il display di cristalli liquidi (LCD)

Il display di cristalli LCD o liquido è un dispositivo che opera applicando una tensione variabile a uno strato di cristallo liquido che induce le variazioni delle proprietà ottiche di LCD.

Oggi copriremo un LCD 16 × 2 con scheda ESP32, tuttavia anche altre dimensioni di LCD dovrebbero funzionare. LCDS con dimensioni di 16 Cross 2 possono visualizzare 16 caratteri all'interno di una singola riga e in totale due righe sono presenti in questo modello specifico. LCD contiene display matrice a punta alfanumerica che può visualizzare un totale di 224 caratteri.

Possiamo anche usare questo LCD direttamente con ESP32 come abbiamo fatto con Arduino, ma richiede una quantità tesa di duro lavoro e si deve affrontare un mucchio di fili. Per evitare questo, useremo un modulo I2C con LCD che richiede solo due fili per funzionare che sono SDA e SCL.

Inoltre, I2C LCD viene fornito con un potenziometro che può regolare la luminosità LCD senza alcuna necessità di resistenza variabile esterna per controllare la luminosità LCD.

Pin i2c Funzione
GND Pin di terra
VCC Pin di potenza
SDA PIN utilizzato per lo scambio di dati
SCL Pin usato per l'orologio sincrono

Parti richieste per interfacciarsi LCD con ESP32

Prima di spostare ulteriormente, ti consigliamo di raccogliere le seguenti parti per questo tutorial:

  • ESP32 Doit Devkit Wroom
  • 16x2 LCD
  • Interfaccia seriale I2C
  • Breadboard
  • Fili jumper

Cablaggio del LCD all'ESP32

Cablaggio Un LCD con ESP32 è semplice, basta collegare rispettivamente il pin SDA e SCL sul pin 21 e 22.

Di seguito è riportata la configurazione del pin per il riferimento:

Preparare Thonny IDE per ESP32

Poiché l'hardware è pronto a prendere il codice ora Apri Thonny IDE e caricare il codice. Prima di interfacciare qualsiasi dispositivo I2C dobbiamo conoscere l'indirizzo I2C di quel rispettivo dispositivo. I dispositivi i2c presentano un indirizzo univoco per loro. Per molti dispositivi l'indirizzo predefinito per I2C è 0x27 dove 0x mostra il esadecimale formato del numero.

Si consiglia di ottenere ogni volta l'indirizzo I2C mentre interfaccia un nuovo dispositivo.

Ottenere l'indirizzo LCD

Connetti la scheda ESP32 con PC e Apri Thonny IDE. Digita il codice indicato di seguito nell'editor di Thonny IDE. Carica il codice nella scheda ESP32 utilizzando il pulsante di riproduzione in alto.

Codice

Questo codice è scritto per PIN 21 (SDA) e PIN 22 (SCL). Se stai usando qualsiasi altra scheda come ESP8266, sostituire il numero PIN di conseguenza.

macchina di importazione
sdapin = macchina.PIN (21) #For ESP32
sclpin = macchina.PIN (22)
i2c = macchina.I2C (SDA = SDAPIN, SCL = SCLPIN, FREQ = 10000)
Dispositivi = I2C.scansione()
Se len (dispositivi) == 0:
Stampa ("No I2C Device !")
altro:
print ('I2C dispositivi trovati:', len (dispositivi))
per dispositivo nei dispositivi:
Print ("At Address:", Hex (Device))

Produzione

La seguente output apparirà nel terminale della shell qui possiamo vedere l'indirizzo I2C per LCD è 0x27.

Librerie I2C LCD MicroPython

Per interfaccia ESP32 con LCD I2C sono necessarie due diverse librerie di microphon. Useremo queste due librerie: LCD_API.py e i2c_lcd.Py. Copia queste due librerie dal link dato e crea due nuovi file all'interno di Thonny Ide. Salvare entrambe queste librerie in ESP32 o le rispettive schede come mostrato nell'immagine di seguito.

Passo 1: Crea due nuovi file e incolla separatamente entrambe le librerie. Per salvarlo nella scheda ESP32 vai a: File> Salva come

Passo 2: Un popup apparirà Select MicroPython Device. Assicurati che la scheda ESP32 sia collegata al PC.

Passaggio3: Scrivi il nome del file delle librerie e fai clic su OK.

Nota: Ricorda, tieni lo stesso nome esatto di LCD_API.Py E i2c_lcd.Py.

Salva i due file della libreria e crea un nuovo file con nome principale.Py Dove scriveremo il codice MicroPython principale per I2C LCD.

Step4: Una volta creati tutti e tre i file, possiamo vederli nell'editor di Thonny IDE. Possiamo chiudere il file delle librerie e aprirli principale.Py Per scrivere e caricare il codice LCD I2C.

Visualizza testo su LCD

Scrivi il codice indicato di seguito in Thonny IDE e fai clic sul pulsante Play menzionato per caricare il codice sulla scheda ESP32.

Codice

Scrivere il codice indicato nella finestra dell'editor IDE Thonny aiuterà a interfacciarsi I2C LCD con la scheda ESP32.

macchina di importazione
Dal pin di importazione macchina, softi2c
da lcd_api import lcdapi
da i2c_lcd import i2clcd
Dal tempo Import Sleep
I2c_addr = 0x27
TotalRows = 2
TotalColumns = 16
i2c = softi2c (scl = pin (22), sda = pin (21), freq = 10000) #i2c per ESP32
#i2c = i2c (scl = pin (5), sda = pin (4), freq = 10000) #i2c per ESP8266
LCD = i2clcd (I2C, I2C_ADDR, TotalRows, TotalColumns)
mentre è vero:
LCD.putstr ("Linuxhint.com ")
sonno (10)
LCD.chiaro()

Il codice sopra avviato chiamando la classe softi2c e pin dal modulo macchina. Abbiamo anche aggiunto un modulo di sonno per dare ritardi. Successivamente, abbiamo chiamato le due importanti biblioteche LCD_API.Py E i2c_lcd.Py Abbiamo appena salvato nella cartella ESP32.

Il prossimo indirizzo I2C 0x27 è definito dopo che definiamo le righe totali e le colonne all'interno del LCD qui nel nostro caso è 16 × 2. Se si utilizza altre dimensioni dello schermo, modificare le righe e le colonne.

Per visualizzare il testo una stringa Linuxhint.com è definito.

Produzione

Nell'output possiamo vedere la stringa definita sullo schermo LCD.

Conclusione

Micropython è un linguaggio progettato specificamente per il sistema incorporato. Usando due librerie LCD_API.Py E i2c_lcd.Py Possiamo facilmente interfacciare il LCD I2C con ESP32. Per la programmazione ESP32 con microphon, viene utilizzato Thonny IDE. Questo articolo è una guida sull'interfaccia LCD con ESP32.