Ampel mit Blue­tooth schal­ten

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

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


Die Bluetooth-Module HC-05 und HM-10 unter­schei­den sich in der Ver­wen­dung für die Han­dy­be­triebs­sys­te­me und in der zur Ver­fü­gung ste­hen­den Apps.
Die Pro­gram­mie­rung ist iden­tisch.

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 Bau­tei­le:

  • 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)

Die eigent­lich ver­wen­de­ten Pins RX und TX 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 Varia­blen defi­niert:

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

// LEDs
int GRUEN = 7; 
int GELB = 6; 
int ROT = 5;
 
# include <SoftwareSerial.h> 

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

Der setup-Teil defi­niert ledig­lich die pin­Mo­des für die LEDs und star­tet den Seri­el­len Moni­tor:

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 Seri​al​.read() gele­sen wer­den:

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

Im loop-Teil wird den Wer­ten jeweils eine Akti­on zuge­ord­net:

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

    // rot ein 
    if (btDaten == '1') 
    { 
      digitalWrite(ROT, HIGH); 
      BTSerial.println("rot an!"); 
    } 

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

Android-Apps

Ardui­no Remo­te LITEArdui­no Blue­toothArdui­no Blue­tooth Con­trol­ler

IOS-Apps

blue­tooth seri­al liteblue­tooth seri­al pro

Die App Ardui­no Remo­te LITE bie­tet außer­dem die Mög­lich­keit, Befeh­le über Sprach­kom­man­dos aus­füh­ren zu las­sen. Solan­ge du dich auf eng­li­sche Begrif­fe beschränkst, funk­tio­niert das sehr gut.

Für Android und IOS ver­füg­ba­re App

Seri­al Blue­tooth Ter­mi­nal


Ver­wand­te Auf­ga­ben:


Letzte Aktualisierung: 4. Apr 2020 @ 9:59