สวัสดีน้องๆ!
มนุษย์เราชอบควบคุมอะไรซักอย่างเนอะ ว่าไหม? พี่ว่าพี่รู้ใจน้องแน่ๆ เลย! พี่เองก็เป็นคนนึงที่บ้าอาร์ดุยโน่ วันนี้พี่จะมาสอนโปรเจคเจ๋งๆ ที่พี่ทำไว้ แล้วพี่เชื่อว่าน้องต้องชอบทำตามแน่นอน! ไม่ง้อคำนำยาวๆ เริ่มกันเลยดีกว่า!
คราวนี้เราจะมาทำ รถบังคับบลูทูธ กัน โดยเราจะใช้โมดูล 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 ตัว
- สายไฟเพียบ
ขั้นตอนการทำโปรเจค:
- ติดตั้งแอปพลิเคชัน "Arduino Bluetooth Car Control" ในมือถือ Android ของน้องได้เลย



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

- อัพโหลดโค้ด 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 มิลลิแอมป์!
- ถ้าน้องเอามอเตอร์ไปต่อตรงกับพิน (เช่น Pin 3) เลย รับรองชิป
Atmega328Pระเบิดแน่นอน! - น้อง ต้อง ใช้ตัวกลางอย่าง L298N Dual H-Bridge Motor Driver.
- L298N นี้จะรับไฟแรงสูง (เช่น 9V) จากแบตเตอรี่โดยตรง
- 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 ต่อตรงเข้าไปที่บล็อกอินพุท เพื่อป้องกันไม่ให้โปรเซสเซอร์ดับฉับพลันเพราะไฟตก!)