- ส่วนประกอบที่จำเป็น:
- การสร้างอินเทอร์เฟซสำหรับหุ่นยนต์โดยใช้แอพ RemoteXY:
- แผนภาพวงจรและคำอธิบาย:
- คำอธิบายรหัส:
- วิธีเรียกใช้:
ในบทความนี้เราจะควบคุม Robot Car ผ่านเซ็นเซอร์ Gของโทรศัพท์มือถือของเราและคุณจะสามารถเคลื่อนย้ายหุ่นยนต์ได้เพียงแค่เอียงโทรศัพท์ เราจะใช้แอพArduino และ RemoteXYสำหรับหุ่นยนต์ควบคุม G-Sensor นี้ด้วย แอป RemoteXY ใช้เพื่อสร้างอินเทอร์เฟซในโทรศัพท์สมาร์ทโฟนสำหรับควบคุมหุ่นยนต์ เราจะเพิ่มจอยสติ๊กในอินเทอร์เฟซเพื่อให้ Robot สามารถควบคุมด้วยจอยสติ๊กเช่นเดียวกับการเอียงโทรศัพท์
G-Sensor หรือ Gravity sensorเป็นพื้น Accelerometer ใน Smart phone ซึ่งใช้ควบคุมการวางแนวหน้าจอของโทรศัพท์ Accelerometerตรวจจับทิศทาง X, Y, Z ของแรงโน้มถ่วงและหมุนหน้าจอตามการจัดตำแหน่งของโทรศัพท์ ปัจจุบันเซ็นเซอร์ Gyroscope ที่ไวและแม่นยำยิ่งขึ้นถูกนำมาใช้ในโทรศัพท์มือถือเพื่อตัดสินใจวางแนวของหน้าจอ ในโครงการของเรารถหุ่นยนต์จะเคลื่อนที่ตามทิศทางที่โทรศัพท์เอียงเช่นเมื่อเราเอียงโทรศัพท์ไปข้างหน้าจากนั้นรถจะเคลื่อนไปข้างหน้าและเราเอียงลงจากนั้นรถจะเคลื่อนที่ถอยหลัง นี่ก็เหมือนกับเวลาเราเล่นเกมรถบางเกมในมือถือพวกเขายังใช้เซ็นเซอร์ G เพื่อเคลื่อนรถตามไปด้วย ตรวจสอบวิดีโอในตอนท้ายและตรวจสอบโครงการหุ่นยนต์อื่น ๆ ของเราที่นี่
ส่วนประกอบที่จำเป็น:
- แชสซีรถหุ่นยนต์สองล้อ
- Arduino UNO
- L298N ตัวควบคุมมอเตอร์
- โมดูลบลูทู ธ HC-06 (HC-05 จะทำงานด้วย)
- แหล่งจ่ายไฟหรือเซลล์
- การเชื่อมต่อสายไฟ
การสร้างอินเทอร์เฟซสำหรับหุ่นยนต์โดยใช้แอพ RemoteXY:
สำหรับการสร้างอินเทอร์เฟซเพื่อควบคุม Robot Car โดยใช้แอพ RemoteXY คุณจะต้องไปที่ลิงค์ต่อไปนี้
remotexy.com/en/editor/ หน้าเว็บจะเป็นแบบนี้
แล้วจากด้านซ้ายของหน้าจอ, รับปุ่มสวิทช์และจอยสติ๊กและวางไว้ในอินเตอร์เฟซมือถือปุ่มจะเปิดไฟที่ขา 13 ซึ่งเชื่อมต่อภายใน Arduino และจอยสติ๊กจะเคลื่อนย้ายรถหุ่นยนต์ หน้าเว็บหลังจากวางสวิตช์และจอยสติ๊กจะมีลักษณะดังนี้
จากนั้นเราจะต้องวางปุ่มเปิด / ปิดการใช้งานเซ็นเซอร์ Gพร้อมกับจอยสติ๊กเพื่อให้เราสามารถเคลื่อนย้าย Robot Car ได้โดยการเอียงโทรศัพท์ไปทางซ้ายขวาขึ้นและลง การใช้ปุ่มนั้นเราสามารถเปิดและปิดใช้งานเซ็นเซอร์ G เมื่อปิดใช้งานเซ็นเซอร์ G สามารถควบคุมรถได้โดยการเลื่อนจอยสติ๊ก ดังนั้นในการวางปุ่มเปิด / ปิดเซ็นเซอร์ G ให้คลิกที่จอยสติ๊กที่คุณวางไว้ในอินเทอร์เฟซและทางด้านซ้ายจะมีส่วนคุณสมบัติจะมีตัวเลือกในตอนท้ายสำหรับการวางปุ่มเซ็นเซอร์ G ใกล้กับจอยสติ๊ก ดังนั้นให้วางปุ่มเซ็นเซอร์ G ไว้ในที่ที่คุณต้องการ หน้าเว็บหลังจากนี้จะมีลักษณะดังนี้
หลังจากนั้นคลิกที่ปุ่ม“รับรหัสที่มา” และบันทึกไว้บนคอมพิวเตอร์ของคุณ ดาวน์โหลดไลบรารีจากที่นี่และบันทึกลงในโฟลเดอร์ไลบรารี Arduino รวบรวมรหัสที่ดาวน์โหลดมาเพื่อตรวจสอบว่าไม่มีข้อผิดพลาด นี่ไม่ใช่รหัสที่จะเรียกใช้ Robot แต่จะช่วยในการใช้ App กับ Arduino ดาวน์โหลดแอพจากที่นี่หรือไปที่ Play Store และดาวน์โหลดแอพ RemoteXY จากที่นั่นสำหรับ Android Smart Phone ของคุณ
แผนภาพวงจรและคำอธิบาย:
ก่อนอื่นเราจะเชื่อมต่อตัวควบคุมมอเตอร์ L298N กับ Arduino เชื่อมต่อขา ENA และ ENB ของตัวควบคุมมอเตอร์เข้ากับขา Arduino 12 และ 11 ตามลำดับ หมุดสองตัวนี้ใช้สำหรับควบคุม PWM ของมอเตอร์ ใช้หมุดเหล่านี้เราสามารถเพิ่มหรือลดความเร็วของรถได้ จากนั้นเชื่อมต่อ IN1, IN2, IN3 และ IN4 เข้ากับหมุด Arduino 10, 9, 8 และ 7 ตามลำดับ หมุดเหล่านี้จะหมุนมอเตอร์ทั้งสองทิศทาง (ตามเข็มนาฬิกาและทวนเข็มนาฬิกา)
ในการจ่ายไฟให้กับมอเตอร์ให้ต่อขั้วบวกและขั้วลบของแบตเตอรี่เข้ากับ 12V และกราวด์ของตัวควบคุมมอเตอร์ จากนั้นเชื่อมต่อ 5V และกราวด์จากตัวควบคุมมอเตอร์เข้ากับ Arduino Vin และกราวด์
จากนั้นเราจะเชื่อมต่อโมดูลบลูทู ธ HC-06 กับ arduino หากคุณมี HC-05 ก็จะใช้งานได้เช่นกัน เชื่อมต่อ VCC และกราวด์ของโมดูลบลูทู ธ เข้ากับ 5V และกราวด์ของ Arduino จากนั้นเชื่อมต่อพิน TX ของโมดูลบลูทู ธ เข้ากับพิน 2 ของ Arduino และพิน RX เข้ากับพิน 3 ของ Arduino ตรวจสอบรถของเล่นที่ควบคุมด้วยบลูทู ธ โดยใช้ Arduino เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการใช้บลูทู ธ กับ Arduino
คำอธิบายรหัส:
รหัส Arduinoแบบเต็มสำหรับรถหุ่นยนต์ที่ควบคุมด้วยมือถือนี้ได้รับด้านล่างในส่วนรหัสที่นี่เราจะเข้าใจว่ารหัสนี้ทำงานอย่างไร
ก่อนอื่นเราได้รวมไลบรารีสำหรับ Software Serial และ RemoteXY ไลบรารี RemoteXY จะช่วยเราในการตั้งค่าแอปด้วย Arduino ซึ่งเราจะควบคุมรถหุ่นยนต์ หลังจากนั้นเราได้กำหนดพินสำหรับโมดูลบลูทู ธ TX จากโมดูลบลูทู ธ เชื่อมต่อกับพิน 2 ของ Arduino ซึ่งเป็นขา RX ของ Arduino และ RX จากโมดูลบลูทู ธ เชื่อมต่อกับพิน 3 ของ Arduino ซึ่ง เป็นพิน TX ของ Arduino และกำหนดอัตราการส่งข้อมูลของโมดูลบลูทู ธ ที่ 9600
# กำหนด REMOTEXY_MODE__SOFTWARESERIAL # รวม
รหัสต่อไปนี้จะเพิ่มหรือลดความเร็วของมอเตอร์ เมื่อจอยสติ๊กอยู่ที่ศูนย์กลางความเร็วจะเป็นศูนย์และเมื่ออยู่ในทิศทางไปข้างหน้าความเร็วจะเพิ่มขึ้นจากศูนย์ถึง 100 ความเร็วจะลดลงจาก 0 ถึง -100 เมื่อรถเคลื่อนที่ไปใน ทิศทางย้อนกลับ นอกจากนี้ยังสามารถเคลื่อนย้ายรถด้วยความเร็วเฉพาะซึ่งทำได้โดยการให้สัญญาณ PWM สัญญาณ pwm จะถูกส่งไปยังมอเตอร์ตามการหมุนของจอยสติ๊ก
ถ้า (motor_speed> 100) motor_speed = 100; ถ้า (motor_speed <-100) motor_speed = -100; ถ้า (motor_speed> 0) {digitalWrite (ตัวชี้สูง); digitalWrite (ตัวชี้, LOW); analogWrite (ตัวชี้, motor_speed * 2.55); } else if (motor_speed <0) {digitalWrite (ตัวชี้, LOW); digitalWrite (ตัวชี้สูง); analogWrite (ตัวชี้ (-motor_speed) * 2.55); } else {digitalWrite (ตัวชี้, LOW); digitalWrite (ตัวชี้, LOW); analogWrite (ตัวชี้ 0); }
ในโค้ดต่อไปนี้เราได้กำหนดฟังก์ชันซึ่งจะถูกเรียกทุกครั้งที่เราจะย้ายจอยสติ๊กในแอพ เมื่อเราจะเปิดสวิตช์ในแอปตรรกะ 1 จะถูกกำหนดให้กับพิน 13 ของ Arduino ซึ่งจะเปิดขา LED ในขณะที่เคลื่อนรถหุ่นยนต์ไปในทิศทางเดินหน้าและถอยหลัง จะมีการเรียกใช้ฟังก์ชัน Speed
เป็นโมฆะ loop () {RemoteXY_Handler (); digitalWrite (ledpin, (RemoteXY.switch_1 == 0)? LOW: HIGH); ความเร็ว (first_motor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); ความเร็ว (second_motor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x); }
วิธีเรียกใช้:
เพิ่มไลบรารีของ RemoteXY ไปยังไลบรารี Arduino และอัปโหลดรหัสใน Arduino IDE จากนั้นดาวน์โหลดแอพในโทรศัพท์มือถือของคุณจากนั้นเปิดบลูทู ธ อินเทอร์เฟซของแอพจะเป็นแบบนี้
จากนั้นไปที่บลูทู ธ แล้วเปิดบลูทู ธ ที่นั่น หลังจากเปิดเครื่องจะแสดงอุปกรณ์บลูทู ธ เลือกโมดูลบลูทู ธ HC-06 ของคุณจากที่นั่นระบบจะนำคุณไปยังอินเทอร์เฟซซึ่งคุณสามารถควบคุม Robot Car ได้
นี่คือวิธีที่เราสามารถใช้เซ็นเซอร์แรงโน้มถ่วงภายในโทรศัพท์มือถือของเราเพื่อเคลื่อนย้ายหุ่นยนต์ คุณสามารถทดลองเพิ่มเติมและค้นหาการใช้G sensor ที่น่าสนใจยิ่งขึ้นเพื่อควบคุมสิ่งภายนอกได้โดยการเชื่อมต่อ Microcontorllerระหว่าง (เช่น Arduino)