.. note:: Ciao, benvenuto nella SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati. **Perché unirti a noi?** - **Supporto esperto**: Risolvi problemi post-vendita e sfide tecniche con l'aiuto della nostra comunità e del nostro team. - **Impara e condividi**: Scambia suggerimenti e tutorial per migliorare le tue competenze. - **Anteprime esclusive**: Ottieni accesso anticipato agli annunci di nuovi prodotti e anteprime esclusive. - **Sconti speciali**: Approfitta di sconti esclusivi sui nostri prodotti più recenti. - **Promozioni festive e concorsi**: Partecipa a concorsi e promozioni durante le festività. 👉 Sei pronto a esplorare e creare con noi? Clicca su [|link_sf_facebook|] e unisciti oggi stesso! .. _1.1.7_py: 1.1.7 LCD1602 I2C ====================== Introduzione ------------------ LCD1602 è un display a cristalli liquidi di tipo carattere, che può visualizzare 32 (16*2) caratteri contemporaneamente. Componenti Necessari ------------------------------ In questo progetto, abbiamo bisogno dei seguenti componenti. .. image:: ../img/list_i2c_lcd.png È sicuramente comodo acquistare un kit completo, ecco il link: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - Nome - ARTICOLI IN QUESTO KIT - LINK * - Kit Raphael - 337 - |link_Raphael_kit| Puoi anche acquistarli separatamente dai link qui sotto. .. list-table:: :widths: 30 20 :header-rows: 1 * - INTRODUZIONE AI COMPONENTI - LINK PER L'ACQUISTO * - :ref:`cpn_gpio_extension_board` - |link_gpio_board_buy| * - :ref:`cpn_breadboard` - |link_breadboard_buy| * - :ref:`cpn_wires` - |link_wires_buy| * - :ref:`cpn_i2c_lcd` - |link_i2clcd1602_buy| Schema Elettrico --------------------- ============ ======== T-Board Name physical SDA1 Pin 3 SCL1 Pin 5 ============ ======== .. image:: ../img/schematic_i2c_lcd.png Procedure Sperimentali ----------------------------- **Passo 1:** Costruisci il circuito. .. image:: ../img/image96.png **Passo 2**: Configura l'I2C (vedi :ref:`i2c_config`. Se hai già configurato l'I2C, salta questo passaggio.) **Passo 3:** Cambia directory. .. raw:: html .. code-block:: cd ~/raphael-kit/python/ **Passo 4:** Esegui. .. raw:: html .. code-block:: sudo python3 1.1.7_Lcd1602.py Dopo l'esecuzione del codice, vedrai visualizzato su LCD il messaggio ``Greetings!, From SunFounder``. .. note:: * Se ricevi l'errore ``FileNotFoundError: [Errno 2] No such file or directory: '/dev/i2c-1'``, devi fare riferimento a :ref:`i2c_config` per abilitare l'I2C. * Se ricevi l'errore ``ModuleNotFoundError: No module named 'smbus2'``, esegui ``sudo apt install python3-smbus2``. * Se compare l'errore ``OSError: [Errno 121] Remote I/O error``, significa che il modulo è cablato male o è danneggiato. * Se il codice e i collegamenti sono corretti, ma l'LCD non visualizza ancora contenuti, puoi regolare il potenziometro sul retro per aumentare il contrasto. **Codice** .. note:: Puoi **Modificare/Reimpostare/Copiare/Eseguire/Interrompere** il codice qui sotto. Ma prima devi accedere al percorso del codice come ``raphael-kit/python``. Dopo aver modificato il codice, puoi eseguirlo direttamente per vedere l'effetto. .. raw:: html .. code-block:: python import LCD1602 import time def setup(): LCD1602.init(0x27, 1) # init(indirizzo slave, retroilluminazione) LCD1602.write(0, 0, 'Greetings!') LCD1602.write(1, 1, 'From SunFounder') time.sleep(2) def destroy(): LCD1602.clear() if __name__ == "__main__": try: setup() except KeyboardInterrupt: destroy() **Spiegazione del Codice** .. code-block:: python import LCD1602 Questo file è un file open source per controllare l'I2C LCD1602. Ci consente di utilizzare facilmente l'I2C LCD1602. .. code-block:: python LCD1602.init(0x27, 1) 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. .. code-block:: python LCD1602.write(0, 0, 'Greetings!') All'interno di questa funzione, 'Greetings!' è il carattere che sarà stampato sulla riga 0+1, colonna 0+1 dell'LCD. Ora puoi vedere “Greetings!! From SunFounder” visualizzato su LCD. Immagine del Fenomeno -------------------------- .. image:: ../img/image97.jpeg