Home » หุ่นยนต์ » BURC : App สำหรับควบคุมหุ่นยนต์ผ่านระบบปฏิบัติการ Android

BURC : App สำหรับควบคุมหุ่นยนต์ผ่านระบบปฏิบัติการ Android

bluetoothRobotwithPWMการสร้างหุ้นยนต์ที่สามารถควบคุมได้ด้วยสมาร์ทโฟนหรือแท็บเลต เป็นสิ่งที่กำลังได้รับควมสนใจเป็นอย่างมาก โดยแอปปลิเคชั่นร่วมกับอุปกรณ์ที่รองรับการใช้งานเครือข่ายไร้สายอย่าง Bluetooth นับว่าเป็นการเริ่มต้นที่ดี ต่อการเริ่มต้นสร้างหุ่นยนต์ที่มีการทำงานไม่ซับซ้อน

BURC คือ Application สำหรับควบคุมหุ่นยนต์ด้วยสัญญาณบลูทูธ ใช้การชื่อสารแบบ Serial (UART) ร่วมกับโมดูลบลูทูธเช่น HC-05,HC-06 โดยเชื่อมต่อสัญญาญกับไมโครคอนโทรลเลอร์ เช่น Arduino UNO หรืออื่นๆ ที่สามารถชื่อสารแบบ Serial ได้

ดาวน์โหลด

QR-BURC

 

ออกแบบหน้าจอให้เหมาะสมกับโทรศัพท์หน้าจอขนาด 4.5 นิ้วขึ้นไป

 

Screenshot_2014-12-05-11-54-00

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

BURCChar

แต่ละปุ่มในหน้าควบคุมจะมาตัวอักษรที่กำหนดไว้


 

 การสร้างหุ่นยนต์เพื่อรับคำสั่งจาก BURC

หุ่นยนต์สาธิตนี้จะใช้อุปกรณ์ดังนี้

1 ไมโคคอนโทรลเลอร์ Arduino UNO R3

2 บลูทูธโมดูล HC-06

3 รีเลย์โมดูล 4 ช่อง

4 มอเตอร์พร้อมล้อ 2 ชุด

5 สายไฟ

6 แบตเตอร์รี่ lithium polymer 12V


 ตัวอย่าง Code

#include <SoftwareSerial.h>

SoftwareSerial BT(2,3);//เชื่อมต่อกับ Bluetooth แบบ Serial ที่ขา 2,3 ซึ่ง ขา 2 เป็นขา RX และขา 3 เป็นขา TX

struct driveMotor{ //สร้างโครงสร้างตัวแปร driveMotor
int in1;
int in2;
};

driveMotor motor[2]={{A0,A1},{A2,A3}}; //ประกาศตัวแปรแบบโครงสร้าง driveMotor ชื่อมอเตอร์เป็นตัวแปรแบบ Array มีสมาชิกสองตัวเป็นตัวแทนมอเตอร์ 2 ตัว ซึ่งมอเตอร์ 1 ตัวใช้ relay 2 ตัวในการควบคุม

void setup(){
pinMode(motor[0].in1,OUTPUT);//กำหนดขาที่ควบคุมมอเตอร์ทั้งหมดเป็นเอาต์พุต
pinMode(motor[0].in2,OUTPUT);

pinMode(motor[1].in1,OUTPUT);
pinMode(motor[1].in2,OUTPUT);

BT.begin(9600); //กำหนดอัตราการสื่อสารกับ Bluetooth ที่ 9600bps

}

void loop(){
if(BT.available()){
char c=BT.read();
if(c==’F’)forward();
else if(c==’B’)reward();
else if(c==’L’)turnleft();
else if(c==’R’)turnright();
else if(c==’S’)robotStop();
}
}

void forward(){//เดินหน้า
motorRun(0,’a’);//มอเตอร์ 0 หมนทวนเข็มนาฬิกา a:anti clock witch
motorRun(1,’c’);//มอเตอร์ 1 หมนตามเข็มนาฬิกา c:clock witch
}
void reward(){//ถอยหลัง
motorRun(0,’c’);
motorRun(1,’a’);
}

void turnleft(){//เหลี่ยวซ้าย
motorRun(0,’c’);
motorRun(1,’c’);
}

void turnright(){//เหลี่ยวขวา
motorRun(0,’a’);
motorRun(1,’a’);
}

void robotStop(){//หยุด s:stop
motorRun(0,’s’);
motorRun(1,’s’);
}

void motorRun(int motorNo,char dir){
if(dir==’a’){ //a:anti clock witch
digitalWrite(motor[motorNo].in1,HIGH);
digitalWrite(motor[motorNo].in2,LOW);
}else if(dir==’c’){ //c:clock witch
digitalWrite(motor[motorNo].in1,LOW);
digitalWrite(motor[motorNo].in2,HIGH);
}if(dir==’s’){//s:stop
digitalWrite(motor[motorNo].in1,LOW);
digitalWrite(motor[motorNo].in2,LOW);
}
}


ดาวน์โหลด Code bluetoothRobot

ดาวน์โหลด Code bluetoothRobotwithPWM แบบควบคุมความเร็วด้วย PWM

One thought on “BURC : App สำหรับควบคุมหุ่นยนต์ผ่านระบบปฏิบัติการ Android

  1. เพิ่มพูน พูดว่า:

    น่าจะทำให้มันใช้ได้ในไอโฟน. นะคับ

ส่งความเห็นที่ เพิ่มพูน ยกเลิกการตอบ

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

*
*