Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

HC-05 Bluetooth modules koppelen als Master & Slave met AT-commando's

Overzicht

De HC-05 kan zowel Master als Slave zijn (in tegenstelling tot HC-06, alleen Slave). In deze tutorial configureer je twee modules: één als Master, één als Slave, en koppel je ze voor communicatie tussen twee Arduino's.

AT-commando modus activeren

  1. EN-pin (of KEY-pin) op 5V zetten (knop ingedrukt houden tijdens opstarten)
  2. TX en RX op Arduino gewisseld aansluiten: Arduino RX → Module RX (via spanningsdeler), Arduino TX → Module TX
  3. Lege sketch uploaden (RX/TX losmaken tijdens upload!)
  4. Serial Monitor: "Both NL & CR", 38400 baud
  5. LED knippert elke 2 seconden → AT-modus actief

Commando-formaat: AT+<PARAMETER>? (opvragen) of AT+<PARAMETER>=<WAARDE> (instellen).

Slave-configuratie

  • AT → "OK"
  • AT+UART? → controleer baudrate (standaard 38400)
  • AT+ROLE? → "+ROLE=0" (Slave)
  • AT+ADDR? → adres noteren, bv. 98d3:34:905d3f (nodig voor Master)

Master-configuratie

  • AT+UART? → controleer 38400 baud
  • AT+ROLE=1 → Master-modus
  • AT+CMODE=0 → vast adres koppelen
  • AT+BIND=98d3,34,905d3f → Slave-adres instellen (komma's in plaats van dubbelepunten!)

Na herstart in normale modus (EN laag, TX/RX correct) koppelen ze automatisch: beide LED's knipperen elke 2 seconden = succesvolle verbinding.

Praktisch voorbeeld: Potentiometer & Servo / Knop & LED

Master: Potentiometer (A0) → map 0-1023 naar 0-255 → verstuur via Serial → LED (pin 9) aan/uit via knop van Slave.

Slave: Servo (pin 9) ontvangt waarde 0-255 → schrijft naar servo. Knop (pin 8) stuurt '1' of '0' naar Master voor LED.

// MASTER CODE
#define ledPin 9
int state = 0, potValue = 0;
void setup() { pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); Serial.begin(38400); }
void loop() {
  if (Serial.available()) state = Serial.read();
  if (state == '1') digitalWrite(ledPin, HIGH);
  else if (state == '0') digitalWrite(ledPin, LOW);
  potValue = analogRead(A0);
  Serial.write(map(potValue, 0, 1023, 0, 255));
  delay(10);
}

// SLAVE CODE
#include <Servo.h>
#define button 8
Servo myServo;
int state = 20, buttonState = 0;
void setup() { pinMode(button, INPUT); myServo.attach(9); Serial.begin(38400); }
void loop() {
  if (Serial.available()) state = Serial.read();
  myServo.write(state); delay(10);
  buttonState = digitalRead(button);
  Serial.write(buttonState == HIGH ? '1' : '0');
}

Deze setup is de basis voor draadloze sensornetwerken, remote control robots, en multi-Arduino projecten zonder WiFi.

Productieproces

  1. Je vochtigheidssensor verifiëren en kalibreren voor nauwkeurige metingen
  2. Bouw een Bluetooth-gecontroleerde Arduino Auto: Complete DIY Handleiding
  3. Arduino-gestuurde slimme koffiezetapparaat met Bluetooth-bediening en temperatuurmonitoring
  4. Bluetooth-gecontroleerde Pick-and-Place Robot: Arduino UNO + 2-DOF Arm & Smart Car Chassis
  5. NeoPixels configureren met Vixen Lights en Arduino: een stapsgewijze handleiding
  6. ADXL345 Accelerometer met Arduino: Oriëntatie Tracking Stap-voor-Stap
  7. Je Arduino-robotauto draadloos besturen met HC-05 Bluetooth, NRF24L01 en HC-12 transceiver-modules
  8. Toolstaal gedemystificeerd: samenstelling, productie en industriële toepassingen
  9. Bandsaag vs. Cirkelzaag: Belangrijkste Verschillen Uitgelegd
  10. Bluetooth LE vs. XLE: De Volgende Generatie Asset Tracking & Monitoring
  11. Bluetooth en Ultrasound Combineren voor Nauwkeurige, Kosten-Effectieve Real-Time Locatietracking