Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

HC-05 Bluetooth Module als Master & Slave koppeln – AT-Befehle Schritt für Schritt

In diesem Arduino-Tutorial lernen Sie, wie Sie zwei HC-05 Bluetooth-Module als Master- und Slave-Geräte konfigurieren und koppeln. Sie können das folgende Video ansehen oder die schriftliche Anleitung unten lesen.

Überblick

In meinen vorherigen Tutorials haben wir bereits gelernt, wie man das HC-05-Modul mit Arduino verbindet und eine Kommunikation zwischen Android-Smartphone und Arduino herstellt. Dabei nutzten wir das HC-05 in der Standardkonfiguration als Slave-Gerät.

HC-05 Bluetooth Modul konfigurieren – AT-Befehle

Für dieses Tutorial müssen wir beide Module konfigurieren. Dazu wechseln wir in den AT-Befehlsmodus. So geht’s: Verbinden Sie das Bluetooth-Modul wie in den vorherigen Tutorials gezeigt mit dem Arduino. Zusätzlich verbinden Sie den „EN“-Pin des Bluetooth-Moduls mit 5 Volt und tauschen die TX- und RX-Leitungen am Arduino.

HC-05 Bluetooth Module als Master & Slave koppeln – AT-Befehle Schritt für Schritt

Der Arduino-RX-Pin geht über den Spannungsteiler an den RX-Pin des Bluetooth-Moduls, der Arduino-TX-Pin direkt an den TX-Pin des Moduls. Halten Sie nun den kleinen Knopf über dem „EN“-Pin gedrückt, während Sie das Modul mit Strom versorgen – so gelangen Sie in den AT-Befehlsmodus. Blinkt die LED alle 2 Sekunden, war der Eintritt erfolgreich.

Laden Sie nun einen leeren Sketch auf den Arduino (RX/TX vorher trennen!). Öffnen Sie den Serial Monitor: „Both NL & CR“ und „38400 baud“ (Standard-Baudrate des Moduls) auswählen. Jetzt können Sie Befehle senden. Das Format:

HC-05 Bluetooth Module als Master & Slave koppeln – AT-Befehle Schritt für Schritt

Alle Befehle beginnen mit „AT“, gefolgt von „+“, dann , und enden mit „?“ (Abfrage aktuellen Wert) oder „=“ (neuen Wert setzen).

Slave-Konfiguration

Beispiel: „AT“ (Test) → Antwort „OK“. „AT+UART?“ → Standard-Baudrate 38400. „AT+ROLE?“ → „+ROLE=0“ (Slave-Modus). „AT+ADDR?“ → Adresse des Moduls, z. B. 98d3:34:905d3f.

HC-05 Bluetooth Module als Master & Slave koppeln – AT-Befehle Schritt für Schritt

Notieren Sie diese Adresse – sie wird für die Master-Konfiguration benötigt. Das ist im Wesentlichen alles für den Slave, obwohl man noch Name, Baudrate, Pairing-Passwort etc. ändern könnte.

Master-Konfiguration

Nun konfigurieren wir das zweite Modul als Master. Zuerst Baudrate prüfen (sollte 38400 wie beim Slave sein). Mit „AT+ROLE=1“ setzen wir das Modul auf Master. „AT+CMODE=0“ setzt den Verbindungsmodus auf „feste Adresse“. Mit „AT+BIND=“ und der zuvor notierten Slave-Adresse binden wir den Master an den Slave.

HC-05 Bluetooth Module als Master & Slave koppeln – AT-Befehle Schritt für Schritt

Wichtig: Adresse mit Kommas statt Doppelpunkten eingeben (z. B. 98d3,34,905d3f). Hätte man bei „AT+CMODE“ den Wert „1“ statt „0“ gewählt, würde der Master sich mit jedem Gerät in Reichweite verbinden – weniger sicher. Vollständige Befehlsliste: HC-05 AT Commands List.

Das war die Grundkonfiguration. Schließen Sie die Module nun im Normalmodus (Datenmodus) wieder an und versorgen sie mit Strom – nach wenigen Sekunden verbindet sich der Master mit dem Slave. Beide LEDs blinken alle 2 Sekunden → erfolgreiche Verbindung.

Kommunikation zwischen zwei HC-05 Modulen – Beispiel

Jetzt das praktische Beispiel. Schaltplan: Am Master ein Potentiometer zur Steuerung eines Servos am Slave. Am Slave ein Taster zur Steuerung einer LED am Master.

HC-05 Bluetooth Module als Master & Slave koppeln – AT-Befehle Schritt für Schritt

Benötigte Komponenten:

  • HC-05 Bluetooth-Modul (2×)
  • Arduino Board (2×)
  • Servomotor
  • Potentiometer
  • 3× 220 Ohm Widerstände
  • Steckbrett und Jumper-Kabel

Arduino Quellcodes

Beschreibung: Pins und Variablen definieren. Im setup() beim Master: LED-Pin als Output, initial Low, serielle Kommunikation mit 38400 Baud. Beim Slave: Taster-Pin als Input, Servo-Pin definieren, serielle Kommunikation 38400 Baud.

Im loop() prüfen beide Codes per Serial.available() auf eingehende Daten und lesen per Serial.read() in Variable „state“. Empfängt der Master Zeichen ‚1‘ (gesendet vom Slave bei gedrücktem Taster), schaltet die LED an. Bei ‚0‘ aus.

Für den Servo: Master liest Potentiometer, mapped auf 0–255, sendet an Slave, der den Servo entsprechend positioniert.

Master-Code:

/* 
 * How to configure and pair two HC-05 Bluetooth Modules 
 * by Dejan Nedelkovski, www.HowToMechatronics.com 
 * == MASTER CODE == */
#define ledPin 9
int state = 0;
int potValue = 0;
void setup() {
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
  Serial.begin(38400);
}
void loop() {
  if (Serial.available() > 0) {
    state = Serial.read();
  }
  // LED steuern
  if (state == '1') {
    digitalWrite(ledPin, HIGH);
    state = 0;
  } else if (state == '0') {
    digitalWrite(ledPin, LOW);
    state = 0;
  }
  // Potentiometer lesen & senden
  potValue = analogRead(A0);
  int potValueMapped = map(potValue, 0, 1023, 0, 255);
  Serial.write(potValueMapped);
  delay(10);
}Code language: Arduino (arduino)

Slave-Code:

/* 
 * How to configure and pair two HC-05 Bluetooth Modules 
 * by Dejan Nedelkovski, www.HowToMechatronics.com 
 * == SLAVE CODE == */
#include <Servo.h>
#define button 8
Servo myServo;
int state = 20;
int buttonState = 0;
void setup() {
  pinMode(button, INPUT);
  myServo.attach(9);
  Serial.begin(38400);
}
void loop() {
  if (Serial.available() > 0) {
    state = Serial.read();
  }
  // Servo steuern
  myServo.write(state);
  delay(10);
  // Taster lesen & senden
  buttonState = digitalRead(button);
  if (buttonState == HIGH) {
    Serial.write('1'); // '1' an Master -> LED an
  } else {
    Serial.write('0');
  }
}Code language: Arduino (arduino)

Das war’s. Bei Problemen fragen Sie gerne in den Kommentaren!

Herstellungsprozess

  1. Bluetooth LE vs. XLE: Die nächste Generation von Asset-Tracking & Monitoring
  2. Bluetooth und Ultraschall kombiniert für präzises, kosteneffizientes Echtzeit-Location-Tracking
  3. Feuchtigkeitssensor verifizieren und kalibrieren für präzise Messungen
  4. Bluetooth-gesteuertes Arduino-Auto bauen – Komplette DIY-Anleitung
  5. Arduino-gesteuerte smarte Kaffeemaschine mit Bluetooth & Temperaturüberwachung
  6. Bluetooth-gesteuerter Pick-and-Place Roboter: Arduino UNO + 2-DOF Arm & Smart Car Chassis
  7. NeoPixels mit Vixen Lights & Arduino konfigurieren: Schritt-für-Schritt-Anleitung
  8. ADXL345 Beschleunigungssensor mit Arduino: Orientierung tracken
  9. Werkzeugstahl entmystifiziert: Zusammensetzung, Herstellung, industrielle Anwendungen
  10. Bandsäge vs. Kreissäge: Wichtige Unterschiede erklärt