Bluetooth Kommunikation mit dem Arduino – Wiedirover (Teil 1)

Einleitung

Der Wiedirover ist eine Projektdokumentation und Anleitung, wie man sich mit dem Arduino ein ferngesteuertes Fahrzeug baut. Die Fernsteuerung erfolgt über ein Smartphone oder Tablet mittels Bluetooth.

Im ersten Teil des Projektes möchte ich erklären, wie man eine Bluetoothverbindung mit einem an dem Arduino angeschlossenen HC-05 Modul herstellt.

Es werden keine zusätzlichen Bibliotheken benötigt.

Teileliste

Für diesen Teil des Wiedirovers benötigen wir folgende Module:

Erklärung

Der HC-05 kommuniziert mit dem Arduino über die Seriellen I/O Pins. Dazu muss der RX Pin des Moduls mit dem TX Pin des Arduino und der TX Pin mit dem RX Pin verbunden sein.

Der über TX werden die Daten gesendet und über RX empfangen, deshalb müssen diese immer an das jeweilige andere Port angeschlossen sein.

Der VCC Pin wird mit dem 3.3V des Arduino verbunden und GND wird auf GND gelegt. Wichtig ist, nicht den 5V Pin zu verwenden, da der HC-05 nur auf 3.3V läuft!

Der State Pin wird mit dem Pin 2 des Arduino verbunden. Über diesen lesen wir aus ob ein Bluetooth Gerät verbunden ist.

Wichtig ist, dass vor dem Upload des Sketches, die RX/TX vom Arduino getrennt sind, da sonst der Upload fehl schlägt.

Nachdem der Sketch hochgeladen ist, blinkt die LED des HC-05. Jetzt können wir die App öffnen und uns mit dem HC-05 verbinden. Sobald die Verbindung erfolgreich ist, erhalten wir eine Meldung im seriellen Monitor.

Schaltplan

Quellcode

/*
 * Bluetoothverbindung mit dem Arduino und einem HC-05 Modul
 * 
 * HC-05  ->   Arduino
 * RX     ->  TX
 * TX     ->  RX
 * VCC    ->  3.3V
 * GND    ->  GND
 * STATE  ->  2
 * 
 * Author: Wiedi - https://robinw.de
 */

// Variablen
const int btState = 2;
char btMessage;
bool lastState = false;

void setup() {
  Serial.begin(9600);
  pinMode(btState, INPUT);
}

void loop() {
  // Prüfen ob ein Bluetoothgerät verbunden ist
  if (digitalRead(btState) != lastState) {
    lastState = digitalRead(btState);
    if (lastState) {
      Serial.println("Bluetooth verbunden");
    } else {
      Serial.println("Bluetooth getrennt"); 
    }
  }
  
  // Wenn etwas über Bluetooth gesendet wird
  if (Serial.available() > 0) {
    // Nachricht lesen
    btMessage = Serial.read();

    // Nachricht ausgeben
    Serial.print("Nachricht: ");
    Serial.println(btMessage);
  }
}

Weitere Artikel

Wiedicar (Teil 2) – Ein Display über den IIC Bus

0Shares

1 Gedanke zu „Bluetooth Kommunikation mit dem Arduino – Wiedirover (Teil 1)

Kommentare sind geschlossen.