Ampel mit Blue­tooth schalten

Lese­zeit: 4 Minu­ten
Navi­ga­ti­on

Eine Ampel soll mit Hil­fe eines Bluetooth-Moduls "per Hand" geschal­tet werden.

Die Bluetooth-Module HC-05 und HM-10 unter­schei­den sich in der Ver­wen­dung von Apps für Android und iOS..
Die Pro­gram­mie­rung ist identisch.

Der HC-05 und funk­tio­niert nur mit Smart­pho­nes mit Android-Betriebssystem, der HM-10 kann mit Android-Betriebssystem und iOS umge­hen.
Apple-Geräte ver­wen­den BLE (Blue­tooth Low Ener­gy), mit dem der HC-05 nicht arbei­ten kann.

Benö­tig­te Bauteile:

  • 3 LEDs (rot, gelb, grün)
  • 3 Wider­stän­de > 100 Ω
  • Bluetooth-Modul HC05/HM-10
  • Lei­tungs­dräh­te

Baue die Schal­tung auf.
(Fah­re mit der Maus über das Bild, um die Bezeich­nun­ge der Bau­tei­le zu sehen)

Wenn das Bluetooth-Modul kor­rekt ange­schlos­sen ist, beginnt die Status-LED zu blin­ken. Um das Modul nut­zen zu kön­nen, musst du eine App auf dem Smart­pho­ne installieren.

Für Android und iOS ver­füg­ba­re Apps:

DSD-Tech Blue­tooth

Bluetooth-Modul scan­nen

Daten sen­den

Ardui­no Blue­tooth Controller

Bluetooth-Modul scan­nen

Ter­mi­nal auswählen

Ein­stel­lun­gen

Tas­ta­tur wählen

Daten sen­den

Die eigent­lich vor­ge­se­he­nen Pins RX (0) und TX (1) wer­den beim Hoch­la­den ver­wen­det. Des­halb müss­te das Bluetooth-Modul vor dem Hoch­la­den her­aus­ge­zo­gen und anschlie­ßend wie­der ein­ge­steckt wer­den.
Über die Biblio­thek Soft­ware­Se­ri­al kön­nen die Pins RX und TX ande­ren digi­ta­len Pins zuge­ord­net wer­den. Das Her­aus­zie­hen und Wie­der­ein­ste­cken ent­fällt dann.

Im Kopf des Pro­gramms wer­den die Varia­blen defi­niert. Die ein­ge­bun­de­ne Biblio­thek Soft­ware­Se­ri­al ist eine Stan­dard­bi­blio­thek, sie muss nicht instal­liert werden.

# include <SoftwareSerial.h>

// Zuordnung von RX und TX: TX → 3, RX → 4
SoftwareSerial BTSerial(3, 4);

// über Bluetooth vom Smartphone gesendeter Wert 
// dieser Wert wird im Programm ausgewertet 
char btDaten; 

// LEDs
int GRUEN = 7; 
int GELB = 6; 
int ROT = 5;

Der setup-Teil defi­niert ledig­lich die pin­Mo­des für die LEDs und star­tet den über Soft­ware­Se­ri­al zuge­wie­se­nen Seri­el­len Moni­tor BTSe­ri­al. In den ver­wen­de­ten Apps kön­nen die Mel­dun­gen dann gele­sen werden. 

void setup() 
{ 
  BTSerial.begin(9600);
  pinMode(ROT, OUTPUT);
  pinMode(GELB, OUTPUT); 
  pinMode(GRUEN, OUTPUT); 
}

Den jewei­li­gen LEDs wur­den in der App Wer­te zuge­wie­sen, die im Pro­gramm mit BTSe​ri​al​.read() gele­sen werden:

LED schal­ten Tas­te
rot ein1
rot aus2
gelb ein3
gelb aus4
grün ein5
grün aus6

Im loop-Teil wird den gele­se­nen Wer­ten jeweils eine Akti­on zugeordnet:

void loop()  
{ 
  if (BTSerial.available()) 
  { 
    // vom Smartphone gesendeten Wert lesen 
    btDaten = BTSerial.read(); 

    // rot ein 
    if (btDaten == '1') 
    { 
      digitalWrite(ROT, HIGH); 
      
     // gelesenen Wert in der App anzeigen
      BTSerial.println("rot an!"); 
    } 

    // rot aus 
    if (btDaten == '2') 
    { 
      digitalWrite(ROT, LOW); 
      BTSerial.println("rot aus!"); 
    }   

    // gelb an
    if (btDaten == '3')
    { 
      digitalWrite(GELB, HIGH);
      BTSerial.println("gelb an!");
    }

    // gelb aus
    if (btDaten == '4')
    {
      . . .
      . . .
    }

    // grün an
    if (btDaten == '5')
    {
      . . .
      . . .
    }

    // grün aus
    if (btDaten == '6')
    {
      . . .
      . . .
    } 
  }
}

Blue­tooth mit der App ArduinoBlue



Ver­wand­te Aufgaben:


Letzte Aktualisierung: 24. Nov 2020 @ 8:53