.. note:: Ciao, benvenuto nella Community di SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino e ESP32 insieme ad altri appassionati. **Perché unirti a noi?** - **Supporto Esperto**: Risolvi i problemi post-vendita e le sfide tecniche con l'aiuto della nostra community e del nostro team. - **Impara e Condividi**: Scambia consigli e tutorial per migliorare le tue competenze. - **Anteprime Esclusive**: Ottieni accesso anticipato ai nuovi annunci di prodotti e alle anteprime. - **Sconti Speciali**: Goditi sconti esclusivi sui nostri prodotti più recenti. - **Promozioni Festive e Giveaway**: Partecipa a giveaway e promozioni festive. 👉 Pronto a esplorare e creare con noi? Clicca su [|link_sf_facebook|] e unisciti oggi! .. _ar_lcd1602: 2.6 Visualizzazione dei Caratteri ========================================= Ora esploreremo il mondo affascinante della visualizzazione dei caratteri utilizzando il modulo I2C LCD1602. Attraverso questo progetto, impareremo come inizializzare il modulo LCD, impostare i parametri di visualizzazione desiderati e inviare dati di caratteri da visualizzare sullo schermo. Potremo mostrare messaggi personalizzati, visualizzare le letture dei sensori o creare menu interattivi. Le possibilità sono infinite! Padroneggiando l'arte della visualizzazione dei caratteri sul I2C LCD1602, apriremo nuove strade per la comunicazione e la visualizzazione delle informazioni nei nostri progetti. Iniziamo questo emozionante viaggio e diamo vita ai nostri caratteri sullo schermo LCD. **Componenti Necessari** In questo progetto, avremo bisogno dei seguenti componenti. È sicuramente conveniente acquistare un kit completo, ecco il link: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - Nome - ELEMENTI IN QUESTO KIT - LINK * - ESP32 Starter Kit - 320+ - |link_esp32_starter_kit| Puoi anche acquistarli separatamente dai link sottostanti. .. list-table:: :widths: 30 20 :header-rows: 1 * - INTRODUZIONE AI COMPONENTI - LINK PER L'ACQUISTO * - :ref:`cpn_esp32_wroom_32e` - |link_esp32_wroom_32e_buy| * - :ref:`cpn_esp32_camera_extension` - |link_esp32_extension_board| * - :ref:`cpn_wires` - |link_wires_buy| * - :ref:`cpn_lcd` - |link_i2clcd1602_buy| **Pin Disponibili** Ecco un elenco di pin disponibili sulla scheda ESP32 per questo progetto. .. list-table:: :widths: 5 15 :header-rows: 1 * - Pin Disponibili - Descrizione dell'Uso * - IO21 - SDA * - IO22 - SCL **Schema Elettrico** .. image:: ../../img/circuit/circuit_2.6_lcd.png **Cablaggio** .. image:: ../../img/wiring/2.6_i2clcd1602_bb.png :width: 800 **Codice** .. note:: * Apri il file ``2.6_lcd1602.ino`` nel percorso ``esp32-starter-kit-main\c\codes\2.6_lcd1602``. * Dopo aver selezionato la scheda (ESP32 Dev Module) e la porta appropriata, fai clic sul pulsante **Upload**. * :ref:`unknown_com_port` * La libreria ``LiquidCrystal I2C`` viene utilizzata qui, puoi installarla dal **Library Manager**. .. image:: img/lcd_lib.png .. raw:: html Quando questo programma viene caricato, l'I2C LCD1602 visualizzerà il messaggio di benvenuto, "Hello, Sunfounder!", per 3 secondi. Dopodiché, lo schermo mostrerà un'etichetta "COUNT:" e il valore del conteggio, che si incrementa ogni secondo. .. note:: Se il codice e il cablaggio sono corretti, ma l'LCD non riesce a visualizzare alcun contenuto, puoi regolare il potenziometro sul retro per aumentare il contrasto. **Come funziona?** Richiamando la libreria ``LiquidCrystal_I2C.h``, puoi facilmente pilotare l'LCD. .. code-block:: arduino #include Funzioni della Libreria: * Crea una nuova istanza della classe ``LiquidCrystal_I2C`` che rappresenta un particolare LCD collegato alla tua scheda Arduino. .. code-block:: arduino LiquidCrystal_I2C(uint8_t lcd_Addr,uint8_t lcd_cols,uint8_t lcd_rows) * ``lcd_AddR``: L'indirizzo dell'LCD è di default 0x27. * ``lcd_cols``: L'LCD1602 ha 16 colonne. * ``lcd_rows``: L'LCD1602 ha 2 righe. * Inizializza l'LCD. .. code-block:: arduino void init() * Accende la retroilluminazione (opzionale). .. code-block:: arduino void backlight() * Spegne la retroilluminazione (opzionale). .. code-block:: arduino void nobacklight() * Accende rapidamente il display LCD. .. code-block:: arduino void display() * Spegne rapidamente il display LCD. .. code-block:: arduino void nodisplay() * Cancella il display, imposta la posizione del cursore su zero. .. code-block:: arduino void clear() * Imposta la posizione del cursore su colonna, riga. .. code-block:: arduino void setCursor(uint8_t col,uint8_t row) * Stampa il testo sull'LCD. .. code-block:: arduino void print(data,BASE) * ``data``: I dati da stampare (char, byte, int, long, o stringa). * ``BASE (optional)``: La base in cui stampare i numeri. * ``BIN`` per binario (base 2) * ``DEC`` per decimale (base 10) * ``OCT`` per ottale (base 8) * ``HEX`` per esadecimale (base 16).