.. note:: Ciao, benvenuto nella community di appassionati di SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Esplora più a fondo Raspberry Pi, Arduino ed ESP32 con altri appassionati. **Perché unirsi a noi?** - **Supporto esperto**: Risolvi problemi post-vendita e sfide tecniche grazie al supporto della nostra community e del nostro team. - **Impara e condividi**: Scambia suggerimenti e tutorial per migliorare le tue competenze. - **Anteprime esclusive**: Ottieni l'accesso anticipato a nuovi annunci di prodotto e anteprime. - **Sconti speciali**: Approfitta di sconti esclusivi sui nostri prodotti più recenti. - **Promozioni festive e omaggi**: Partecipa a giveaway e promozioni durante le festività. 👉 Pronto a esplorare e creare con noi? Clicca [|link_sf_facebook|] e unisciti oggi stesso! .. _ar_lcd1602: 2.9 Modulo LCD1602 I2C ========================= Panoramica ------------- In questa lezione imparerai a conoscere l'LCD1602. L'LCD1602, ovvero un display a cristalli liquidi di tipo carattere 1602, è un modulo a matrice di punti utilizzato per visualizzare lettere, numeri, caratteri e altro. Componenti necessari ---------------------- .. image:: img/list_2.9.png * :ref:`cpn_mega2560` * :ref:`cpn_wires` * :ref:`cpn_i2c_lcd1602` Circuito Fritzing ------------------- In questo esempio, collegheremo il primo pin GND del modulo LCD1602 a GND, il secondo pin VCC a 5V, il terzo pin SDA al pin SDA 20 e il quarto pin SCL al pin SCL 21. .. image:: img/image113.png Schema elettrico -------------------- .. image:: img/image446.png .. note:: I pin SDA e SCL della scheda Mega2560 corrispondono ai pin 20 e 21. Codice --------- .. note:: * Puoi aprire direttamente il file ``2.9_i2clcd1602.ino`` nella cartella ``sunfounder_vincent_kit_for_arduino\code\2.9_i2clcd1602``. * La libreria ``LiquidCrystal I2C`` è utilizzata in questo esempio. Puoi installarla dal **Library Manager**. .. image:: img/lib_liquidcrystal_i2c.png :align: center .. raw:: html Carica il codice sulla scheda Mega2560: il contenuto che inserisci nel monitor seriale verrà visualizzato sull'LCD. .. note:: Per informazioni sul codice ASCII e sull'inserimento di caratteri nel monitor seriale, consulta :ref:`ar_serial_read`. Analisi del codice --------------------- Utilizzando la libreria LiquidCrystal_I2C.h, puoi gestire facilmente l'LCD. .. code-block:: arduino #include "LiquidCrystal_I2C.h" **Funzioni della libreria:** .. code-block:: arduino LiquidCrystal_I2C(uint8_t lcd_Addr,uint8_t lcd_cols,uint8_t lcd_rows) Crea una nuova istanza della classe LiquidCrystal_I2C per rappresentare un particolare LCD collegato alla tua scheda Arduino. * ``lcd_Addr``: L'indirizzo dell'LCD (di default 0x27). * ``lcd_cols``: L'LCD1602 ha 16 colonne. * ``lcd_rows``: L'LCD1602 ha 2 righe. .. code-block:: arduino void init() Inizializza l'LCD. .. code-block:: arduino void backlight() Attiva la retroilluminazione (opzionale). .. code-block:: arduino void nobacklight() Disattiva la retroilluminazione (opzionale). .. code-block:: arduino void display() Attiva il display LCD. .. code-block:: arduino void nodisplay() Disattiva rapidamente il display LCD. .. code-block:: arduino void clear() Pulisce il display e posiziona il cursore alla posizione iniziale. .. code-block:: arduino void setCursor(uint8_t col,uint8_t row) Imposta la posizione del cursore su colonna e riga specificate. .. code-block:: arduino void print(data,BASE) Stampa il testo sull'LCD. * ``data``: I dati da stampare (char, byte, int, long o string). * ``BASE (opzionale)``: La base numerica per stampare i numeri: BIN per binario (base 2), DEC per decimale (base 10), OCT per ottale (base 8), HEX per esadecimale (base 16). Immagine del risultato ------------------------ .. image:: img/image115.jpeg