Nota

Ciao, benvenuto nella Community di SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts su Facebook! Approfondisci il mondo di Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.

Perché unirti a noi?

  • Supporto tecnico esperto: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra comunità e del nostro team.

  • Impara e condividi: Scambia consigli e tutorial per migliorare le tue competenze.

  • Anteprime esclusive: Ottieni accesso anticipato agli annunci di nuovi prodotti e alle anteprime.

  • Sconti speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.

  • Promozioni festive e giveaway: Partecipa a giveaway e promozioni durante le festività.

👉 Sei pronto a esplorare e creare con noi? Clicca [Qui] e unisciti oggi stesso!

1.1.7 LCD1602 I2C

Introduzione

L’LCD1602 è un display a cristalli liquidi di tipo caratteri, che può visualizzare contemporaneamente 32 caratteri (16*2).

Componenti Necessari

Per questo progetto, avremo bisogno dei seguenti componenti.

../_images/1.1.7_i2c_lcd_list.png

È decisamente conveniente acquistare un kit completo, ecco il link:

Nome

COMPONENTI NEL KIT

LINK

Raphael Kit

337

Raphael Kit

Puoi anche acquistarli separatamente dai link sottostanti.

INTRODUZIONE AI COMPONENTI

LINK D’ACQUISTO

Scheda di estensione GPIO

ACQUISTA

Breadboard

ACQUISTA

Cavi Jumper

ACQUISTA

I2C LCD1602

ACQUISTA

Schema Elettrico

T-Board Name

physical

SDA1

Pin 3

SCL1

Pin 5

../_images/1.1.7_i2c_lcd_schematic.png

Procedure Sperimentali

Passo 1: Costruisci il circuito.

../_images/1.1.7_i2c_lcd1602_circuit.png

Passo 2: Configura I2C (vedi Configurazione I²C. Se hai già configurato I2C, salta questo passaggio.)

Passo 3: Cambia la directory.

cd ~/raphael-kit/python-pi5

Passo 4: Esegui.

sudo python3 1.1.7_Lcd1602_zero.py

Dopo l’esecuzione del codice, sul display LCD vedrai apparire il messaggio Greetings!, From SunFounder.

Nota

  • Se ricevi l’errore FileNotFoundError: [Errno 2] No such file or directory: '/dev/i2c-1', devi consultare Configurazione I²C per abilitare I2C.

  • Se ricevi l’errore ModuleNotFoundError: No module named 'smbus2', esegui il comando sudo apt install python3-smbus2.

  • Se compare l’errore OSError: [Errno 121] Remote I/O error, significa che il modulo è collegato in modo errato o è danneggiato.

  • Se il codice e il cablaggio sono corretti, ma l’LCD non visualizza contenuti, prova a regolare il potenziometro sul retro per aumentare il contrasto.

Avvertimento

Se viene visualizzato l’errore RuntimeError: Cannot determine SOC peripheral base address, fare riferimento a If gpiozero doesn’t work..

Code

Nota

Puoi Modificare/Resettare/Copiare/Eseguire/Fermare il codice qui sotto. Ma prima, devi andare nella directory del codice come raphael-kit/python-pi5. Dopo aver modificato il codice, puoi eseguirlo direttamente per vedere l’effetto.

#!/usr/bin/env python3
import LCD1602  # Importa il modulo per interfacciarsi con LCD1602
import time     # Importa il modulo per le funzioni di temporizzazione

def setup():
    # Inizializza l'LCD con l'indirizzo I2C 0x27 e abilita la retroilluminazione
    LCD1602.init(0x27, 1)
    # Visualizza il messaggio 'Greetings!' nell'angolo in alto a sinistra (riga 0, colonna 0)
    LCD1602.write(0, 0, 'Greetings!')
    # Visualizza il messaggio 'From SunFounder' nella seconda riga (riga 1, colonna 1)
    LCD1602.write(1, 1, 'From SunFounder')
    time.sleep(2)  # Visualizza i messaggi per 2 secondi

try:
    setup()  # Esegui la funzione setup per inizializzare l'LCD e visualizzare i messaggi

except KeyboardInterrupt:
    # Cancella il display LCD se si verifica un'interruzione da tastiera (es. Ctrl+C)
    LCD1602.clear()
    pass  # Procedi senza ulteriori azioni

Spiegazione del Codice

  1. Questo file è un file open source per il controllo dell’I2C LCD1602. Ci consente di utilizzare facilmente l’I2C LCD1602.

    import LCD1602  # Importa il modulo per interfacciarsi con LCD1602
    
  2. La funzione inizializza il sistema I2C con il simbolo del dispositivo designato. Il primo parametro è l’indirizzo del dispositivo I2C, che può essere rilevato tramite il comando i2cdetect (vedi Appendice per i dettagli). L’indirizzo dell’I2C LCD1602 è generalmente 0x27.

    # Inizializza l'LCD con l'indirizzo I2C 0x27 e abilita la retroilluminazione
    LCD1602.init(0x27, 1)
    
  3. LCD1602.write viene utilizzato per visualizzare i messaggi sull’LCD. I primi due parametri sono la posizione di riga e colonna, e il terzo è il messaggio. Ora puoi vedere “Greetings!! From SunFounder” visualizzato sull’LCD.

    # Visualizza il messaggio 'Greetings!' nell'angolo in alto a sinistra (riga 0, colonna 0)
    LCD1602.write(0, 0, 'Greetings!')
    # Visualizza il messaggio 'From SunFounder' nella seconda riga (riga 1, colonna 1)
    LCD1602.write(1, 1, 'From SunFounder')