Bluetooth: 8. LED an- und ausschalten mit zwei Bluetooth-Modulen


Gepostet September 2015, Kategorie: Bluetooth HC05


Bluetooth: 8. LED an- und ausschalten mit zwei Bluetooth-Modulen

In diesen Teil wird gezeigt, wie man an zwei Arduinos gegenseitig zwei LEDs an- und ausschalten kann.


  • Auf jedem Arduino sollen folgende Bauteile vorhanden sein

    • Eine LED, die von dem anderen Arduino geschalten wird
    • Ein Taster, der die LED des anderen Arduinos an- oder ausschalten (Toogle)
    • Eine weitere LED, die leuchtet, wenn die LED des anderen Arduinos leuchtet.
      Diese wird erst nach dem Empfangen des OK; geschalten. Dadurch weiß man, dass das Signal angekommen ist
  • Resultierender Schaltplan:
    Schaltplan

  • Programmierung

    • Es wird nur ein Programm benötigt, welches auf Master und Slave läuft.
    • Globale Variable:
      • SoftwareSerial BTserial
      • Pins: ledICH = 5, ledDU = 6, taster = 7;
      • Unvollständige Nachricht msg
      • unsigned long t, hier wird der Zeitpunkt gespeichert, zu dem der Taster wieder freigegeben wird (verhindert dass die LED sofort nach dem Betätigen des Schalters wieder ausgeschalten wird)
      • int state gibt an, ob die LED des anderen Arduinos an (1) oder aus (0) ist
    • setup()
      • Initialisieren des SoftwareSeriels
      • ledICH, ledDU sind Ausgang, werden auf LOW gesetzt
      • taster ist ein Eingang
    • loop()
      • Typische Abfolgen: Wenn ein Zeichen vorhanden, Wenn diese Zeichen ein Komma ist, dann:
        • Wenn in msg ON steht:
          • Schalte ledICH an
          • Sende: OK;
        • Wenn in msg OFF steht:
          • Schalten ledICH aus
          • Sende: OK;
        • Wenn in msg OK steht:
          • Setze ledDu auf state
      • Wenn an taster 0V anliegt und t < als die aktuelle Zeit (millis())
        • t = millis() + 500; Ermöglicht das nächste Drücken erst in 200 ms
        • Wenn der aktuelle Status == 0
          • state = 1
          • Schicke die Nachricht ON;
        • Ansonsten
          • state = 0
          • Schicke die Nachricht OFF;

[Lösung]

Wetterdaten Eilenburg
Temperatur: 16.2 °C
Luftdruck: 1022.7 hPa
Luftfeuchte: 77 %
[mehr]