Posted in

สร้างรถหุ่นยนต์ 2WD ควบคุมผ่าน Bluetooth HC-06 ด้วย Arduino

สร้างรถหุ่นยนต์ 2WD ควบคุมผ่าน Bluetooth HC-06 ด้วย Arduino

โปรเจคนี้จะพาคุณสร้างรถหุ่นยนต์ 2 ล้อ (2WD Robot) ที่สามารถควบคุมผ่านสมาร์ตโฟน
ด้วยระบบ Bluetooth โดยใช้ Arduino UNO เป็นตัวควบคุมหลัก

เหมาะสำหรับผู้เริ่มต้นที่ต้องการเรียนรู้ด้าน Robotics, การควบคุมมอเตอร์
และการสื่อสารแบบไร้สาย


อุปกรณ์ที่ใช้ (Devices & Components)


คุณสมบัติของโปรเจค

  • รถหุ่นยนต์ 2 ล้อ (2WD)
  • ควบคุมผ่าน Bluetooth
  • ใช้ Arduino เป็นสมองหลัก
  • ควบคุมมอเตอร์ผ่าน L298N
  • สามารถต่อยอดได้ง่าย

ขั้นตอนที่ 1: ประกอบโครงรถ

  • ติดตั้งมอเตอร์เข้ากับโครงรถ
  • ติดตั้งล้อและล้ออิสระ (caster wheel)
  • ยึด Arduino และ L298N ให้แน่น
  • จัดสายไฟให้เรียบร้อย

ขั้นตอนที่ 2: การต่อวงจร

มอเตอร์ → L298N

  • มอเตอร์ขวา → OUT1, OUT2
  • มอเตอร์ซ้าย → OUT3, OUT4
  • VCC → แบตเตอรี่ (7–12V)
  • GND → ต่อร่วมกับ Arduino

Arduino → L298N

  • Pin 5 → IN1
  • Pin 6 → IN2
  • Pin 9 → IN3
  • Pin 10 → IN4

Bluetooth HC-06

  • VCC → 5V
  • GND → GND
  • TX → RX (Pin 0)
  • RX → TX (Pin 1)

หมายเหตุ: ควรถอดสาย TX/RX ก่อนอัปโหลดโค้ด


ขั้นตอนที่ 3: อัปโหลดโค้ด

  • เลือกบอร์ด Arduino Uno
  • เลือก COM Port ให้ถูกต้อง
  • อัปโหลดโค้ด
  • ต่อ Bluetooth กลับหลังอัปโหลดเสร็จ

ขั้นตอนที่ 4: ควบคุมผ่านสมาร์ตโฟน

ดาวน์โหลดแอปควบคุม Bluetooth:


Arduino Control RC App

  • จับคู่ HC-05 (รหัส 1234 หรือ 0000)
  • ส่งคำสั่ง:
    • F = เดินหน้า
    • G = ถอยหลัง
    • L = เลี้ยวซ้าย
    • R = เลี้ยวขวา
    • S = หยุด

โค้ดโปรแกรม Arduino


String codigo = "";

// MOTOR 1
const int M1A=5; 
const int M1B=6;

// MOTOR 2
const int M2A=9;
const int M2B=10;

// ความเร็ว
int vel=128;

void setup() {
  Serial.begin(9600);

  pinMode(M1A,OUTPUT);
  pinMode(M1B,OUTPUT);
  pinMode(M2A,OUTPUT);
  pinMode(M2B,OUTPUT);

  analogWrite(M1A,0);
  analogWrite(M1B,0);
  analogWrite(M2A,0);
  analogWrite(M2B,0);
}

void loop() {
  if (Serial.available() > 0) {
    char caracter = Serial.read();

    if (caracter != '\n') {
      codigo += caracter;
    } else {
      char inicial= codigo.charAt(0);

      switch (inicial) {
        case 'F': adelante(); break;
        case 'G': atras(); break;
        case 'R': derecha(); break;
        case 'L': izquierda(); break;
        case 'S': detener(); break;
        case '#':
          String numero = codigo.substring(1);
          vel = numero.toInt();
          break;
      }
      codigo = "";
    }
  }
}

void adelante(){
  analogWrite(M1A,vel);
  analogWrite(M1B,0);
  analogWrite(M2A,vel);
  analogWrite(M2B,0);
}

void atras(){
  analogWrite(M1A,0);
  analogWrite(M1B,vel);
  analogWrite(M2A,0);
  analogWrite(M2B,vel);
}

void derecha(){
  analogWrite(M1A,vel);
  analogWrite(M1B,0);
  analogWrite(M2A,0);
  analogWrite(M2B,vel);
}

void izquierda(){
  analogWrite(M1A,0);
  analogWrite(M1B,vel);
  analogWrite(M2A,vel);
  analogWrite(M2B,0);
}

void detener(){
  analogWrite(M1A,0);
  analogWrite(M1B,0);
  analogWrite(M2A,0);
  analogWrite(M2B,0);
}

วิดีโอสาธิตการทำงาน


สรุป

โปรเจคนี้ช่วยให้คุณเข้าใจพื้นฐานของการสร้างหุ่นยนต์เคลื่อนที่
และการควบคุมผ่าน Bluetooth

สามารถนำไปต่อยอดได้ เช่น:

  • เพิ่มเซ็นเซอร์หลบสิ่งกีดขวาง
  • ควบคุมผ่าน WiFi
  • เพิ่มกล้อง (Smart Robot)

เริ่มจากรถ 2WD ธรรมดา แล้วต่อยอดเป็นหุ่นยนต์อัจฉริยะได้ง่าย ๆ