Bluetooth LCD

Das Projekt empfängt Nachrichten über ein mit dem UNO-Board verbundenes Bluetooth-Modul und zeigt die empfangenen Nachrichten auf einem LCD-Bildschirm an.

1. Schaltung aufbauen

../_images/15-Wiring_Bluetooth_LCD.png

2. Code hochladen

  1. Öffnen Sie die Datei 01-Bluetooth_lcd.ino im Verzeichnis ultimate-sensor-kit\iot_project\bluetooth\01-Bluetooth_lcd, oder kopieren Sie diesen Code in die Arduino IDE.

    Bemerkung

    Um die Bibliothek zu installieren, nutzen Sie den Arduino-Bibliotheksmanager und suchen nach „LiquidCrystal I2C“, um es zu installieren.

  2. Wählen Sie das korrekte Board und den passenden Port aus und klicken Sie dann auf den Upload-Button.

  3. Öffnen Sie den Seriellen Monitor (Baudrate auf 9600 einstellen), um Debug-Nachrichten anzuzeigen.

3. App und Bluetooth-Modul verbinden

Eine App namens „Serial Bluetooth Terminal“ ermöglicht es, Nachrichten vom Bluetooth-Modul zum Arduino zu senden.

  1. Serial Bluetooth Terminal installieren

    Laden und installieren Sie Serial Bluetooth Terminal aus dem Google Play Store.

  2. Bluetooth verbinden

    Aktivieren Sie zuerst Bluetooth auf Ihrem Smartphone.

    ../_images/09-app_1_shadow.png

    Navigieren Sie zu den Bluetooth-Einstellungen auf Ihrem Smartphone und suchen Sie nach Namen wie JDY-31-SPP.

    ../_images/09-app_2_shadow.png

    Nach dem Anklicken bestätigen Sie die Kopplungsanfrage im Pop-up-Fenster. Falls ein Kopplungscode erforderlich ist, geben Sie „1234“ ein.

    ../_images/09-app_3_shadow.png
  3. Kommunikation mit dem Bluetooth-Modul

    Öffnen Sie das Serial Bluetooth Terminal und verbinden Sie es mit „JDY-31-SPP“.

    ../_images/00-bluetooth_serial_4_shadow.png
  4. Befehle senden

    Verwenden Sie die Serial Bluetooth Terminal App, um Nachrichten über Bluetooth an den Arduino zu senden. Die über Bluetooth gesendete Nachricht wird auf dem LCD angezeigt.

    ../_images/15-lcd_shadow.png

4. Code-Erläuterung

Bemerkung

Zur Bibliotheksinstallation nutzen Sie den Arduino-Bibliotheksmanager und suchen nach „LiquidCrystal I2C“, um die Bibliothek zu installieren.

  1. Einrichtung des LCDs

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

    Dieses Code-Segment bindet die LiquidCrystal_I2C-Bibliothek ein und initialisiert das LCD-Modul mit der I2C-Adresse 0x27. Zudem wird festgelegt, dass das LCD 16 Spalten und 2 Zeilen hat.

  2. Einrichtung der Bluetooth-Kommunikation

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

    Hier wird die SoftwareSerial-Bibliothek eingebunden, um die Kommunikation zwischen dem JDY-31 Bluetooth-Modul und dem Arduino über die Pins 3 (TX) und 4 (RX) zu ermöglichen.

  3. Initialisierung

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

    Die Funktion setup() initialisiert das LCD und entfernt etwaigen vorhandenen Inhalt. Auch wird die Hintergrundbeleuchtung des LCDs aktiviert. Die Kommunikation mit dem seriellen Monitor sowie dem Bluetooth-Modul wird bei einer Baudrate von 9600 gestartet.

  4. Hauptprogrammschleife

    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());
       }
    }
    

    Dies ist die Hauptprogrammschleife des Arduino-Programms. Sie überprüft kontinuierlich den Eingang von Daten sowohl vom Bluetooth-Modul als auch vom seriellen Monitor. Bei Empfang von Daten über das Bluetooth-Gerät werden diese verarbeitet, auf dem seriellen Monitor angezeigt und auf dem LCD dargestellt. Wenn Daten im seriellen Monitor eingegeben werden, werden diese Daten an das Bluetooth-Modul gesendet.