Bei­spiel­pro­gramm Blue­tooth-Modul HM-10



Das Blue­tooth-Modul HM-10 arbei­tet mit BLE (Blue­tooth Low Ener­gy) und kann sowohl in der Android-Welt als auch unter iOS ver­wen­det wer­den. Für bei­de Betriebs­sys­tem sind Apps verfügbar.

Bei­spie­le für Blue­­tooth-Modu­­le HM-10

Eine LED soll mit Blue­tooth ein- und wie­der aus­ge­schal­tet werden.

Die Tas­te 1 auf der Bild­schirm­tas­ta­tur der App schal­tet die LED an, 0 schal­tet sie wie­der aus.

Das Modul HM-10 wird mit den Pins RX (Pin 0) und TX (Pin 1) ange­schlos­sen. Die­se Pins wer­den aber für die Kom­mu­ni­ka­ti­on des Ardui­nos mit dem Com­pu­ter benö­tigt. Des­halb sol­len die Pins RX und TX des HM-10 mit Hil­fe der Biblio­thek Soft­wa­re­Se­ri­al auf ande­re digi­ta­le Pins "umge­lenkt" werden.

Der Schalt­plan:

Blue­tooth for Arduino

DSD-Tech Blue­tooth Controller

# include "SoftwareSerial.h"

/* RX/TX zuordnen
  RX -> 2, TX -> 3
  BTSerial -> Name der Schnittstelle
*/
SoftwareSerial BTSerial(2, 3);

int LED = 7;

// über Bluetooth vom Smartphone gesendeter Wert
char btDaten;

void setup()
{
  BTSerial.begin(9600);
  Serial.begin(9600);

  // auf serielle Verbindung warten
  while (!Serial) {;}
 
  pinMode(LED, OUTPUT);
  
  // Menü im Seriellen Monitor
  Serial.println("1 -> LED an");
  Serial.println("0 -> LED aus");
}

void loop()
{
  // vom Smartphone gesendeten Wert lesen
  btDaten = BTSerial.read();
  if (btDaten == '1')
  {
    // Meldung in der App anzeigen
    BTSerial.print("LED an");

    // Meldung im Seriellen Monitor anzeigen
    Serial.println("LED an");

    digitalWrite(LED, HIGH);
  }

  else if (btDaten == '0')
  {
    BTSerial.print("LED aus");
    Serial.println("LED aus");
    digitalWrite(LED, LOW);
  }
}

Letzte Aktualisierung: 26. Feb 2024 @ 15:22