กลับไปหน้ารวมไฟล์
arduino-bluetooth-car-control-9730d6.md

สวัสดีน้องๆ!

มนุษย์เราชอบควบคุมอะไรซักอย่างเนอะ ว่าไหม? พี่ว่าพี่รู้ใจน้องแน่ๆ เลย! พี่เองก็เป็นคนนึงที่บ้าอาร์ดุยโน่ วันนี้พี่จะมาสอนโปรเจคเจ๋งๆ ที่พี่ทำไว้ แล้วพี่เชื่อว่าน้องต้องชอบทำตามแน่นอน! ไม่ง้อคำนำยาวๆ เริ่มกันเลยดีกว่า!

คราวนี้เราจะมาทำ รถบังคับบลูทูธ กัน โดยเราจะใช้โมดูล HC-05 Bluetooth ในการรับคำสั่งบังคับจากสมาร์ทโฟนระบบ Android (ที่มี Google Play Store) นะ

แน่นอนว่าเราต้องมีแอปในมือถือไว้ส่งคำสั่งไปให้โมดูลบลูทูธ (HC-05) ด้วย เดี๋ยวพี่จะบอกรายละเอียดให้อีกที

อุปกรณ์ที่ต้องใช้

  • Arduino Uno 1 ตัว
  • มอเตอร์ DC 2 ตัว (สำหรับเลี้ยว และสำหรับเดินหน้า/ถอยหลัง)
  • บอร์ดขับมอเตอร์ L298 1 ตัว
  • โมดูลบลูทูธ (HC-05, HC-06 อะไรก็ได้) 1 ตัว
  • แบตเตอรี่หรือพาวเวอร์แบงค์ (9-12 โวลต์) เลือกตามกำลังมอเตอร์ของน้องได้เลย
  • LED 4 ดวง
  • บัซเซอร์ (ออด) 1 ตัว
  • ตัวต้านทาน (Resistor) 1kΩ 2 ตัว
  • ตัวต้านทาน (Resistor) 220Ω 2 ตัว
  • สวิตช์เปิดปิด 1 ตัว
  • สายไฟเพียบ

ขั้นตอนการทำโปรเจค:

  1. ติดตั้งแอปพลิเคชัน "Arduino Bluetooth Car Control" ในมือถือ Android ของน้องได้เลย

App Screenshot

App Screenshot

App Screenshot

  1. ไฟล์ทั้งหมดไม่ว่าจะเป็นวงจร, ขั้นตอนประกอบ, และโค้ด Arduino (.ino) พี่เตรียมไว้ให้ในลิงก์ด้านล่างแล้วนะ
  2. ต่อวงจรอุปกรณ์ต่างๆ ตามที่อธิบายไว้ด้านล่างได้เลย

Connection Schematic

  1. อัพโหลดโค้ด Arduino (.ino) ลงไปในบอร์ด Arduino Uno ของน้อง

แค่นี้แหละจบ! (ใช้เวลาแค่ชั่วโมงเดียวเอง)

จัดไปวัยรุ่น!

(น้องๆ สามารถประยุกต์ทำแอปพลิเคชันอื่นๆ ได้ด้วยการเปลี่ยนโค้ด Arduino นะ)

🛠️ ลงลึกกันหน่อย / วิเคราะห์เชิงเทคนิค

การที่หุ่นยนต์ต้องลากสายไฟไปทั่วเนี่ย มันจำกัดรัศมีการสำรวจสุดๆ! รถบังคับบลูทูธด้วย Arduino ตัวนี้ตัดปัญหานั้นโดยถาวร โดยโอนย้ายอำนาจการบังคับทั้งหมดไปที่สมาร์ทโฟน Android แทน! ผ่านการติดตั้งทรานซีฟเวอร์บลูทูธ HC-05, Arduino ของเราจะคอยฟัง (listen) รับคำสั่งตัวอักษร Serial เป็น 1 หรือ 0 ที่วิ่งมาทางคลื่นวิทยุ 2.4GHz อยู่ตลอด พอเจอคำสั่งที่ถูกต้อง มันก็จะสั่งการให้ไดรเวอร์มอเตอร์แบบ H-Bridge ปล่อยกระแสไฟมหาศาลไปหมุนมอเตอร์ DC เกียร์สองตัวในทิศทางที่ต้องการ!

หลักการของ L298N H-Bridge Motor Driver

พินดิจิทัลของ Arduino ปล่อยกระแสออกมาได้แค่ 40 มิลลิแอมป์ ซึ่งน้อยมาก! แต่มอเตอร์ DC TT-Gear กลับต้องการกระแสสูงถึง 500-1000 มิลลิแอมป์!

  1. ถ้าน้องเอามอเตอร์ไปต่อตรงกับพิน (เช่น Pin 3) เลย รับรองชิป Atmega328P ระเบิดแน่นอน!
  2. น้อง ต้อง ใช้ตัวกลางอย่าง L298N Dual H-Bridge Motor Driver.
  3. L298N นี้จะรับไฟแรงสูง (เช่น 9V) จากแบตเตอรี่โดยตรง
  4. Arduino จะส่งสัญญาณลอจิก 5V อ่อนๆ (IN1, IN2, IN3, IN4) ไปเพื่อสั่งให้ H-Bridge ปล่อยกระแสไฟมหาศาลเข้าสู่มอเตอร์ในทิศทางที่ต้องการ!
if (Serial.available() > 0) {
  char command = Serial.read();

  if (command == 'F') { // คำสั่งเดินหน้า!
    digitalWrite(IN1, HIGH); // มอเตอร์ซ้ายเดินหน้า
    digitalWrite(IN2, LOW);
    digitalWrite(IN3, HIGH); // มอเตอร์ขวาเดินหน้า
    digitalWrite(IN4, LOW);
  } 
  else if (command == 'L') { // คำสั่งเลี้ยวซ้ายแบบจัดเต็ม!
    digitalWrite(IN1, LOW);  // มอเตอร์ซ้ายถอยหลัง!
    digitalWrite(IN2, HIGH); 
    digitalWrite(IN3, HIGH); // มอเตอร์ขวาเดินหน้า!
    digitalWrite(IN4, LOW);
  }
}

สร้างเลย์เอาท์สัมผัสบนแอนดรอยด์

แอป Bluetooth Terminal แบบมาตรฐานมันน่าเบื่อชะมัด โปรเจกต์นี้พึ่งพาการแมปภาพแบบเต็มรูปแบบ!

  • ใช้ MIT App Inventor ลากลูกศรทิศทางจริงๆ (ขึ้น, ลง, ซ้าย, ขวา) ลงบนแคนวาสสมาร์ทโฟน
  • พอน้อง TouchDown ที่ลูกศรขึ้น แอปจะยิงตัวอักษร 'F' ผ่าน Bluetooth ออกไป
  • ที่สำคัญมาก: พอ TouchUp (ปล่อยปุ่ม) แอปจะยิง 'S' (Stop) ทันที ทำให้ Arduino บังคับสั่งให้ขาทั้งหมดของ L298N เป็น LOW เพื่อเบรกตัวรถแบบถอนหายใจไม่ทัน!

โครงสร้างพื้นฐานฮาร์ดแวร์อัตโนมัติ

  • Arduino Uno Rev3 (ทำหน้าที่เป็นสมองหลัก แปลงข้อมูลอนุกรม RF เป็นเมทริกซ์ขา)
  • โมดูล Bluetooth HC-05 หรือ JDY-31 (ต้องใช้ตัวต้านทาน (Resistor) แบ่งแรงดันคู่ 3.3V ที่ขา RX เพื่อป้องกันไม่ให้ลอจิก 5V จาก Arduino ทำลายชิป Bluetooth เสียถาวร! ระวังให้ดี)
  • ไดรเวอร์มอเตอร์คู่ L298N (จัดการกระแสสูงสุด 2Amp ได้แบบฉลุย!)
  • มอเตอร์เกียร์ TT สีเหลือง 2 หรือ 4 ตัว ติดตั้งบนตัวรถที่ทำจากอะคริลิคหรือพิมพ์ 3D
  • แบตเตอรี่แยกสำหรับมอเตอร์ (ห้ามจ่ายไฟให้มอเตอร์จากขา 5V ของ Arduino เด็ดขาด! L298N ต้องการแบตเตอรี่แยก เช่น แพ็ค 18650 2 ลูก 7.4V ต่อตรงเข้าไปที่บล็อกอินพุท เพื่อป้องกันไม่ให้โปรเซสเซอร์ดับฉับพลันเพราะไฟตก!)

ข้อมูล Frontmatter ดั้งเดิม

apps:
  - "1x Bluetooth RC Controller(Android App)"
  - "1x Arduino IDE"
author: "rishanchakraborty13"
category: "Motors & Robotics"
components:
  - "1x Wire, Wrapping Wire"
  - "1x Battery Holder, 18650 x 2"
  - "1x 18650 3.7v Li-ion batteries"
  - "4x DC Motor, 12 V"
  - "1x HC-05 Bluetooth Module"
  - "1x Arduino Uno L293D Motor Shield"
  - "4x Wheels"
  - "1x Arduino UNO"
  - "1x Multitool, Screwdriver"
description: "โปรเจคจัดไป! ใช้ Arduino ควบคุมรถ RC ผ่านแอพในมือถือ Android ด้วย Module บลูทูธ ต่อมอเตอร์ง่ายๆ ใครๆ ก็ทำได้แบบเทพๆ"
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles: []
encryptedPayload: "U2FsdGVkX1/KSQU2CQmsJMxP4TPtjCRJx1vD6rowFlJFkyrDQjOtnFhUfPYBX7JOxYukmA4nhnhN0R5rs4EmooB33irf9JuntTmada6LXDRSxu1eFX6iWkx8qE/35KA1GqYGbwo25+7E9zSFJtj8LJGWZIXbX8nbtLw0tK2D1oILvETbON5qq3KEo3xg1LKfr3862Lf7kWwzA37HRIXq3IuVWtNlNXXH/gfDnZtw8Fg="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/arduino-bluetooth-car-control-9730d6_cover.jpg"
lang: "en"
likes: 19
passwordHash: "2935c4b513d6d3e522bbf1b5348e49b06edd54459980e0fd989881b90c55ae95"
price: 2450
seoDescription: "Build an Arduino-Android car controlled via Bluetooth module. Learn assembly and coding basics for this DIY robotics project."
tags:
  - "arduino uno"
  - "bluetooth"
  - "smartphone controlled"
  - "wireless"
  - "4wd"
  - "rc cars"
title: "ควบรถ Arduino ผ่านบลูทูธ งานง่ายแต่หล่อ!"
tools: []
videoLinks:
  - "https://www.youtube.com/embed/gtChKOX8yj8"
views: 32536