Nota

Ciao, benvenuto nella Community SunFounder dedicata agli appassionati di Raspberry Pi, Arduino ed ESP32 su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.

Perché unirsi?

  • Supporto Esperto: Risolvi problemi post-vendita e sfide tecniche grazie all’aiuto della nostra community 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 alle anteprime.

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

  • Promozioni Festive e Giveaway: Partecipa a concorsi e promozioni festive.

👉 Pronto a esplorare e creare con noi? Clicca su [qui] e unisciti oggi stesso!

Lezione 46: Display LCD via Bluetooth

Questo progetto permette di ricevere messaggi tramite un modulo Bluetooth collegato a una scheda Arduino UNO e visualizzarli su uno schermo LCD.

Componenti Necessari

Per questo progetto sono necessari i seguenti componenti.

È sicuramente comodo acquistare l’intero kit. Ecco il link:

Nome

COMPONENTI NEL KIT

LINK

Universal Maker Sensor Kit

94

Universal Maker Sensor Kit

In alternativa, puoi acquistare i componenti singolarmente dai link sottostanti.

Introduzione al Componente

Link Acquisto

Arduino UNO R3 o R4

ACQUISTA

Breadboard

ACQUISTA

I2C LCD 1602

ACQUISTA

Modulo Bluetooth JDY-31

-

Collegamenti

../_images/Lesson_46_Bluetooth_lcd_uno_bb.png

Codice

Nota

Per installare la libreria, apri l’Arduino Library Manager, cerca «LiquidCrystal I2C» e installala.

App e Connessione Bluetooth

Possiamo utilizzare un’app chiamata «Serial Bluetooth Terminal» per inviare messaggi dal modulo Bluetooth ad Arduino.

  1. Installa Serial Bluetooth Terminal

    Scarica e installa l’app da Google Play: Terminale Bluetooth Seriale .

  2. Collega il Bluetooth

    Attiva il Bluetooth sul tuo smartphone.

    ../_images/09-app_1_shadow.png

    Vai nelle impostazioni Bluetooth del tuo smartphone e cerca nomi come JDY-31-SPP.

    ../_images/09-app_2_shadow.png

    Dopo aver cliccato sul dispositivo, accetta la richiesta di abbinamento nella finestra pop-up. Se richiesto un codice, inserisci «1234».

    ../_images/09-app_3_shadow.png
  3. Comunica con il modulo Bluetooth

    Apri l’app Serial Bluetooth Terminal. Connettiti a «JDY-31-SPP».

    ../_images/00-bluetooth_serial_4_shadow.png
  4. Invia comando

    Usa l’app Serial Bluetooth Terminal per inviare messaggi via Bluetooth ad Arduino. I messaggi ricevuti verranno visualizzati sul display LCD.

    ../_images/15-lcd_shadow.png

Analisi del Codice

Nota

Per installare la libreria, usa l’Arduino Library Manager e cerca «LiquidCrystal I2C».

  1. Inizializzazione del display LCD

    #include <LiquidCrystal_I2C.h>
    LiquidCrystal_I2C lcd(0x27, 16, 2);
    

    Include la libreria LiquidCrystal_I2C e inizializza il modulo LCD all’indirizzo I2C 0x27, con 16 colonne e 2 righe.

  2. Configurazione della comunicazione Bluetooth

    #include <SoftwareSerial.h>
    const int bluetoothTx = 3;
    const int bluetoothRx = 4;
    SoftwareSerial bleSerial(bluetoothTx, bluetoothRx);
    

    Include la libreria SoftwareSerial per permettere la comunicazione del modulo JDY-31 con Arduino utilizzando i pin 3 (TX) e 4 (RX).

  3. Inizializzazione

    void setup() {
       lcd.init();
       lcd.clear();
       lcd.backlight();
    
       Serial.begin(9600);
       bleSerial.begin(9600);
    }
    

    La funzione setup() inizializza il display LCD, lo pulisce, accende la retroilluminazione e avvia la comunicazione con il monitor seriale e il modulo Bluetooth a 9600 baud.

  4. Ciclo Principale

    void loop() {
       String data;
    
       if (bleSerial.available()) {
          data += bleSerial.readString();
          data = data.substring(0, data.length() - 2);
          Serial.print(data);
    
          lcd.clear();
          lcd.setCursor(0, 0);
          lcd.print(data);
       }
    
       if (Serial.available()) {
          bleSerial.write(Serial.read());
       }
    }
    

    Questo è il ciclo operativo principale. Controlla continuamente se ci sono dati in arrivo dal modulo Bluetooth o dal monitor seriale. I dati ricevuti dal Bluetooth vengono elaborati, mostrati sul monitor seriale e visualizzati sull’LCD. I dati immessi dal monitor seriale vengono inviati al modulo Bluetooth.