SlideShare a Scribd company logo
1 of 100
battle
ballZ
Robot
อินพุต เอาต์พุตประมวลผล
หลักการของระบบควบคุม
ชุดควบคุมของเรา
อินพุต
เอาต์พุต
ประมวลผล
battle ballZ
Robot
POP-XT
POP-X2
IPST-SE
ATX2
ประมวลภาพ ปี 2559
ประมวลภาพ ปี 2559
ประมวลภาพ ปี 2559
IPST-SE
ATX2
Motor x 6
Servo x 8
I/O x 18
เปรียบเทียบ IPST-SE vs ATX2
Motor x 2
Servo x 4
I/O x 20
แบตเตอรี่ อแดปเตอร์
เปิ ด/ปิ ด
เซอร์โว
USB (Download)อะนาลอก
I2C
ดิจิตอล
/อะนาลอก
มอเตอร์
จอสี
128x160 จุด
สื่อสารอนุกรม 1
OK
RESET
knob
ไฟเตือนแบต
ไฟเลี้ยง CPU
ไฟเลี้ยง
SERVO
ลาโพงเปียโซ
คอมไพเลอร์ OPEN SOURCE
ATX2
Edit+Compile+Download
Arduino
ติดตั้งโปรแกรม ARDUINO 1.7.11
1. เปิ ดโปรแกรมในแผ่น CDROM
2. ดับเบิ้ลคลิกไฟล์ Arduino 1.7.11_Setup161201.exe
3. ทาตามขั้นตอนติดตั้งโปรแกรม
ขั้นตอนติดตั้งโปรแกรม
16
เมื่อจบขั้นตอนนี้จะมี
หน้าต่าง ติดตั้งไดรเวอร์
ห้ามกด Cancel
เพื่อให้คอมพิวเตอร์รู้จักกับบอร์ด ATX2
ขั้นตอนติดตั้งไดรเวอร์
เลือกบอร์ด ATX2
void setup(){
}
void loop(){
}
สาหรับกาหนดค่า เกิดขึ้นครั้งเดียว
โปรแกรมหลักทางานต่อเนื่อง
รูปแบบของโปรแกรม Arduino
XIO() เพื่อเปิ ด I/O ทั้งบอร์ด
START
ทางานใน Setup
ทางานใน Loop
รูปแบบของโปรแกรม Arduino
ตรวจสอบว่าเลือกบอร์ด ATX2 แล้ว
สายเชื่อมต่อแบตเตอรี่
แบตเตอรี่ Li-Po
แดง บวก
ดา ลบ
2 เซล 7.4V
กระแส 1100mA
จ่ายกระแส 30 เท่า
ชาร์จ 5 เท่า
แบตเตอรี่และขั้วต่อ
2 เซล 7.4V
กระแส 1100mAh
จ่ายกระแส 30 เท่า
ชาร์จ 5 เท่า
รายละเอียดแบตเตอรี่ ลิเธียม-โพลิเมอร์
1 เซล 3.7V อนุกรมกัน 2 เซล = 7.4V เมื่อชาร์จเต็ม 8.4V
จ่ายกระแสชั่วขณะได้ 1100 x 30 = 33000mA O_o!
ชาร์จได้ 5 เท่า 1100x5 = 5500mA ใช้เวลาประมาณ 20 นาที
จ่ายไฟ 1100 mA ต่อเนื่องได้ประมาณ 1 ชั่วโมง
ข้อดีของแบตเตอรี่แบบ Li-Po เมื่อนามาใช้กับหุ่นยนต์
1. มีน้าหนักเบาในเมื่อเทียบกับความจุ (mAh)
2. จ่ายกระแสได้มากกว่าความจุ ทาให้หุ่นยนต์มีความเร็วเพิ่มขึ้นชัดเจน
3. แรงดันคงที่ หุ่นยนต์ทางานนิ่งตลอด จนหมดความจุ
4. มีหลายรูปแบบขนาด ทาให้ยึดติดตั้งได้ง่าย
5. คายประจุด้วยตัวเอง(Self Discharge) น้อย
6. ชาร์จเต็มเร็วมาก
ข้อดีของแบตเตอรี่ Li-Po
ข้อเสียของแบตเตอรี่แบบ Li-Po เมื่อนามาใช้กับหุ่นยนต์
1. มีราคาแพงเมื่อเทียบกับแบตเตอรี่ชนิดอื่นๆ
2. ต้องใช้เครื่องชาร์จที่มีความเฉพาะ ซึ่งบางแบบก็มีราคาแพง
3. ต้องดูแลเป็นพิเศษ ถ้าเกิดการลัดวงจรจะเกิดความเสียหายใหญ่หลวง
4. ต้องคอยดูแลเรื่องความจุ ถ้าใกล้หมด จะเกิดการสูญเสียแรงดันและแบตเตอรี่เกิด
ความเสียหาย ต้องมีการตรวจวัดความจุของแบตเตอรี่อยู่เสมอเมื่อใช้งาน
5. เมื่อไม่ใช้งานนานๆ ต้องไม่ให้แบต มีความจุดเต็มค้างไว้ ไม่งั้นแบตจะบวม
ข้อเสียของแบตเตอรี่ Li-Po
วัด Volt อย่างเดียว
แสดงไฟและเตือน
วัดโวลต์และเตือน
วัด Volt เพื่อป้องกันแบตเสื่อม
เครื่องชาร์ตแบตกระแสสูง
ชาร์จถ่าน Ni-MH
ชาร์จแบต Li-Po
ชาร์จแบตรถยนต์
ติดตั้งแบตเตอรี่กับหุ่นยนต์
สถานะแบตเตอรี่
ถ้า LED ติด ต้อง
เปลี่ยนแบตทันที
1. ต่อแบตเตอรี่
2.ต่อสาย USB กับคอมพิวเตอร์
3.ไฟ USB ติดสว่าง
ขั้นตอนการเชื่อมต่อ
เลือกพอร์ตอนุกรม
#include <ATX2.h>
void setup(){
XIO();
glcd(0,0,"Hello World");
}
void loop(){
}
ทดสอบโปรแกรมแรก
ตรวจสอบไวยกรณ์/อัพโหลด
1. คอมไพล์
2. แจ้งว่าคอมไพล์ผ่าน
3. อัพโหลดไปยัง ATX2
ผลลัพธ์ที่บอร์ด ATX2
คุณสมบัติของขอ GLCD
glcd แสดงข้อความที่จอ GLCD ได้ 21 ตัว 16 บรรทัด (size 1)
รูปแบบ
void glcd(x,y,*p,...)
พารามิเตอร์
x คือตาแหน่งบรรทัดมีค่าตั้งแต่ 0-15
y คือตาแหน่งตัวอักษรมีค่าตั้งแต่ 0-24
*p คือข้อความที่ต้องการนามาแสดง
ค่าพิเศษ
%d แสดงตัวเลขจานวนเต็มในช่วง -32,768 ถึง 32,767
%h แสดงตัวเลขฐานสิบหก
%b แสดงตัวเลขฐานสอง
%l แสดงตัวเลขจานวนเต็มในช่วง -2,147,483,648 ถึง 2,147,483,647
%f แสดงผลตัวเลขจานวนจริง (แสดงทศนิยม 3 หลัก)
คาสั่งของ GLCD
ปกติเป็น Mode 0
ตัวอย่าง : glcdMode(1);
คาสั่งของ glcdMode (หมุนหน้าจอ)
setTextSize()
ตัวอย่าง : setTextSize(4);
ขนาดตัวอักษรเป็น 4 เท่าขนาดปกติ
ปรับขนาดตัวอักษร
setTextColor(COLOR)
GLCD_RED,
GLCD_GREEN,
GLCD_BLUE,
GLCD_YELLOW,
GLCD_BLACK,
GLCD_WHITE,
GLCD_CYAN,
GLCD_MAGENTA
GLCD_ORANGE
GLCD_LIME
GLCD_VIOLET
GLCD_PINK
GLCD_DOLLAR
GLCD_SKY
GLCD_BROWN
GLCD_DARKGREEN
GLCD_NAVY
GLCD_GRAY
GLCD_DARKGRAY
ตัวอย่าง
#include <ATX2.h>
void setup(){
setTextColor(GLCD_WHITE);
glcd(0,0,"Hello");
setTextColor(GLCD_GREEN);
glcd(1,0,"World");
}
void loop(){}
ค่าสีตัวอักษร
KRIT
ตัวอย่าง
#include <ATX2.h>
void setup(){
setTextBackgroundColor(GLCD_RED);
setTextColor(GLCD_YELLOW);
glcd(0,0,"Hello World");
}
void loop(){}
setTextBackgroundColor(COLOR)
ค่าสีพื้นหลังตัวอักษร
glcdRect(x,y,width,height,color)
glcdFillRect(x,y,width,height,color)
glcdCircle(x,y,radius,color)
glcdFillCircle(x,y,radius,color)
glcdLine(x1,y1,x2,y2,color)
x ตำแหน่งแนวนอน
y ตำแหน่งแนวตั้ง
width ควำมกว้ำง
height ควำมสูง
redius รัศมี
color สี
แสดงรูปทรงเรขาคณิต
สร้ำงวงกลมสีแดงอยู่กึ่งกลำงจอภำพ รัศมีเต็มจอพอดี
บททดสอบ 1
ลำกเส้น 4 เส้นโดยมีจุดตัดอยู่กลำงจอภำพพอดี
บททดสอบ 2
สร้ำงสี่เหลี่ยมซ้อนกันดังรูป
บททดสอบ 3
glcd แสดงข้อความที่จอ GLCD ได้ 21 ตัว 16 บรรทัด (size 1)
รูปแบบ
void glcd(x,y,*p,...)
พารามิเตอร์
x คือตาแหน่งบรรทัดมีค่าตั้งแต่ 0-15
y คือตาแหน่งตัวอักษรมีค่าตั้งแต่ 0-24
*p คือข้อความที่ต้องการนามาแสดง
ค่าพิเศษ
%d แสดงตัวเลขจานวนเต็มในช่วง -32,768 ถึง 32,767
%h แสดงตัวเลขฐานสิบหก
%b แสดงตัวเลขฐานสอง
%l แสดงตัวเลขจานวนเต็มในช่วง -2,147,483,648 ถึง 2,147,483,647
%f แสดงผลตัวเลขจานวนจริง (แสดงทศนิยม 3 หลัก)
คาสั่งของ GLCD
glcd(0,0,"%d",100);
การแสดงผลค่าตัวเลข
byte
0-65535 (unsigned int)word
0-255 (unsigned char)
0-1boolean True False
-32768 ถึง 32767int
-128 ถึง 127char
-3.4 x 1038 ถึง 3.4 x 1038float
หาข้อมูลเพิ่มเติมจาก reference
ค่าตัวแปรที่ใช้งานบ่อยๆ
• ใช้ลาโพงเปียโซ มีอิมพีแดนซ์ 32W
• มีค่าความถี่ย่าน 300Hz ถึง 3000 Hz
ATX2 กับ ลาโพงเปียโซ
beep();
กำเนิดเสียงควำมถี่ 500 Hz นำน 0.1 วินำที
sound(freq,time);
freq ความถี่เสียง
time เวลาที่เสียงดัง
#include <ATX2.h>
void setup(){
}
void loop(){
beep();
delay(1000);
}
ตัวอย่าง : สร้างเสียงติ๊ดทุกๆ 1 วินาที
#include <ATX2.h>
void setup(){}
void loop(){
sound(1200,500);
sleep(1000);
}
ตัวอย่าง :สร้างเสียงความถี่ 1200 Hz นาน 0.5 วินาที
หมุนเพื่อปรับค่า 0-1000
knob() : ตัวต้านทานปรับค่าได้
knob() ใช้อ่านค่าตัวต้านทานปรับค่าได้บน ATX2
ค่าอยู่ในช่วง 0-1000
รูปแบบ
knob();
การคืนค่า
ค่าที่อ่านได้จาก knob มีค่าระหว่าง 0-1000
ตัวอย่าง
glcd(1,1,"%d",knob());
การใช้งานคาสั่ง knob()
รูปแบบ
knob(x);
x คือค่า Scale หรือช่วงที่ต้องการ
ตัวอย่าง
glcd(1,1,"%d",knob(180));
หน้าจอจะแสดงค่า 0-180 เพราะตั้งค่าสเกลเป็น 180
การใช้งานคาสั่ง knob(x)
ปรับค่าการหมุนจาก 0 ถึงช่วงที่ต้องการ
รูปแบบ
knob(x,y);
x คือค่า Scale ช่วงเริ่มต้น
y คือค่า Scale ช่วงท้าย
ตัวอย่าง
glcd(1,1,"%d",knob(10,90));
หน้าจอจะแสดงค่า 10-90 ตามการหมุน knob()
การใช้งานคาสั่ง knob(x,y)
ปรับค่าการหมุนจาก เริ่มต้น X ถึงท้าย Y
glcd(0,0,"%d",knob());
การแสดงผลค่า knob() ที่จอ GLCD
สวิตช์ OK
กดเป็นจริง
ไม่กดเป็นเท็จ
คาสั่ง sw_OK()
#include <ATX2.h>
void setup(){}
void loop(){
if(sw_OK()){
sound(1200,100);
}
}
ตัวอย่าง
สวิตช์ OK
รอจนกระทั่งกดสวิตช์ OK
แล้วปล่อยสวิตช์ จึงจะทางาน
คาสั่ง sw_OK_press()
#include <ATX2.h>
void setup(){}
void loop(){
sw_OK_press();
beep();
}
ตัวอย่าง
1. แสดงข้อความที่หน้าจอ
2. รอจนกระทั่งกดสวิตช์ OK
3. ทางานคาสั่งถัดไป
คาสั่ง OK ()
#include <ATX2.h>
void setup(){
OK();
}
void loop(){
}
ตัวอย่าง
motor (CH,POW)
CH 1-6 คือมอเตอร์ 1 ถึง 6
12 สำหรับมอเตอร์ 1 และ 2
34 สำหรับมอเตอร์ 3 และ 4
56 สำหรับมอเตอร์ 5 และ 6
100,ALL,ALL4 สำหรับมอเตอร์ 1 ถึง 4
106 หรือ ALL6 สำหรับมอเตอร์ทั้ง 6 ตัว
POW ควำมเร็ว -100 ถึง 100
ค่ำบวก เดินหน้ำ
ค่ำลบ ถอยหลัง
คาสั่งขับมอเตอร์
motor (CH,POW)
motor(1,60); ให้มอเตอร์ 1 ไปหน้ำควำมเร็ว 60%
motor(12,-80); ให้มอเตอร์ 1 และ 2 ถอยหลังควำมเร็ว 80%
motor(ALL,100); ให้มอเตอร์ 1-4 ไปด้ำนหน้ำด้วยควำมเร็ว 100%
ตัวอย่าง : motor()
motor_stop(CH)คาสั่งหยุดมอเตอร์
CH 1-6 คือมอเตอร์ 1 ถึง 6
12 สำหรับมอเตอร์ 1 และ 2
34 สำหรับมอเตอร์ 3 และ 4
56 สำหรับมอเตอร์ 5 และ 6
100,ALL,ALL4 สำหรับมอเตอร์ 1 ถึง 4
106 หรือ ALL6 สำหรับมอเตอร์ทั้ง 6 ตัว
คาสั่ง ao() เท่ากับ motor_stop(12); มอเตอร์ 1 และ 2 หยุด
คาสั่ง AO() เท่ากับ motor_stop(ALL); มอเตอร์ 1-4 หยุด
เดินหน้า
fd(speed);
ถอยหลัง
bk(speed);
เลี้ยวซ้าย
sl(speed);
เลี้ยวขวา
sr(speed);
tl(speed);
เลี้ยวด้านเดียว
tr(speed);
หยุดหุ่นยนต์
ao();
speed = 0-100
ฟังก์ชั่นขับเคลื่อนหุ่นยนต์ กรณีขับเคลื่อน 2 ล้อ
motor1 motor2
motor1 motor2
motor1 motor2 motor1 motor2
เดินหน้า
FD(speed);
ถอยหลัง
เลี้ยวซ้าย เลี้ยวขวา
หยุดหุ่นยนต์
AO();
speed = 0-100
ฟังก์ชั่นขับเคลื่อนหุ่นยนต์ กรณีขับเคลื่อน 4 ล้อ
motor2
motor1 motor3
motor4
BK(speed);
motor2
motor1 motor3
motor4
SL(speed);
motor2
motor1 motor3
motor4
SR(speed);
motor2
motor1 motor3
motor4
motor2
motor1 motor3
motor4
ตาแหน่งเสียบสายมอเตอร์
ตาแหน่งเสียบสายมอเตอร์
motor2
motor1 motor3
motor4
หมุนมอเตอร์เดินหน้าไฟติดสีเขียว
หมุนมอเตอร์ถอยหลังไฟติดแดง
ทดสอบขับเคลื่อน เดินหน้า 1 วินาที ถอยหลัง 1 วินาที
#include <ATX2.h>
void setup(){OK();}
void loop(){
FD(50); delay(1000);
BK(50); delay(1000);
}
ทดสอบขับเคลื่อน ทดสอบเคลื่อนที่ ผ่านปุ่มกด
#include <ATX2.h>
void setup(){
}
void loop(){
OK(); FD(50); delay(500);AO();
OK(); BK(50); delay(500);AO();
OK(); SL(50); delay(500);AO();
OK(); SR(50); delay(500);AO();
}
ทดสอบขับเคลื่อน เดินวนเป็นรูปสี่เหลี่ยม
#include <ATX2.h>
void setup(){
OK();
}
void loop(){
FD(50);
delay(1000);
SR(50);
delay(700);
}
ปรับหุ่นยนต์ให้เคลื่อนที่ตรง
FD2(Speed1,speed2); เดินหน้า
BK2(Speed1,speed2); ถอยหลัง
Speed1 คือมอเตอร์ 1 และ 2
Speed2 คือมอเตอร์ 3 และ 4
motor2
motor1
motor3
motor4
มอเตอร์สาหรับเลี้ยงบอลและยิงบอล
ต่อสายมอเตอร์
เก็บลูก
ส่งลูก
motor(56,70);
motor(56,-70);
โปรแกรมทดสอบ เก็บลูก / ส่งลูก
#include <ATX2.h>
void setup(){
XIO();
setTextSize(2); glcdMode(1);
}
void loop(){
sw_OK_press();
motor(56,70); glcd(1,0,"Keep");
sw_OK_press();
motor(56,0); glcd(1,0,"stop");
sw_OK_press();
motor(56,-70); glcd(1,0,"Push");
sw_OK_press();
motor(56,0); glcd(1,0,"stop");
}
เซอร์โวมอเตอร์มาตรฐาน แกนหมุน 180 องศำ
ไฟเลี้ยง (+) GND (-)
สัญญำณ (S)
เซอร์โวรุ่น RDS3115
แรงบิด 15 kg.cm
เซอร์โวรุ่น RDS3115
คุณสมบัติ
• ใช้ชุดเฟืองทั้งหมดเป็นเฟืองโลหะ
• ขณะทำงำน ควบคุมได้ 270 องศำ
• ขณะไม่ทำงำน หมุน 360 องศำ
• ควำมเร็ว 0.16 วินำที/60 องศำ ที่แรงดัน 6 V
• แรงบิด 15 กิโลกรัมเซนติเมตร ที่แรงดัน 6 V
• ทำงำนที่แรงดัน 4.8V ถึง 8.4V
ฟังก์ชั่นขับเซอร์โวมอเตอร์
servo(CH,POS);
CH ช่องที่ใช้ขับ = 1 ถึง 8
POS ตาแหน่งองศาเซอร์โว = 0-180 ,-1
ค่า -1 หมายถึงหยุดจ่ายสัญญาณให้เซอร์โว
เซอร์โวจะไม่ล็อกแกน
เซอร์โวอยู่ที่ตาแหน่ง 0 องศา
เซอร์โวอยู่ที่ตาแหน่ง 160 องศา
เซอร์โวอยู่ที่ตาแหน่ง 180 องศา
เซอร์โวเคลื่อนที่กลับที่ 0 องศา
สปริงเลื่อนเข้าออกทาให้เกิดเสียงดัง
โปรแกรมทดสอบ SERVO1
#include <ATX2.h>
int x;
void setup(){
OK();
}
void loop(){
x=knob(180);
servo(1,x);
glcd(1,1,"%d ",x);
}
หมุน knob ทดสอบ
ค่า 0 ยืดออกสุด
โปรแกรมทดสอบ SERVO1
#include <ATX2.h>
int x;
void setup(){
OK();
}
void loop(){
x=knob(180);
servo(1,x);
glcd(1,1,"%d ",x);
}
หมุน knob ทดสอบ
ค่า 155 เตรียมยิง
โปรแกรมทดสอบ SERVO1
#include <ATX2.h>
int x;
void setup(){
OK();
}
void loop(){
x=knob(180);
servo(1,x);
glcd(1,1,"%d ",x);
}
หมุน knob ทดสอบ
ค่า 180 ยิงออก
สร้างฟังก์ชั่น Reload() เพื่อพร้อมยิง
ให้ SERVO มาที่ 0 องศา
ดึง SERVO ไว้ที่ 155 องศา
หน่วงเวลา
84
รูปแบบการสร้างฟังก์ชั่น
void Reload(int x){
ชุดคาสั่ง
y=x+2;
.
}
ชื่อฟังก์ชั่น
ชุดคาสั่งในฟังก์ชั่น
การใช้งานฟังก์ชั่น Reload(200);
ส่งค่าไปยังฟังก์ชั่น
สร้างฟังก์ชั่น Reload() เพื่อพร้อมยิง
void Reload(){
servo(1,0);delay(1000);
servo(1,160);delay(500);
}
กดปุ่ม OK โหลด กด OK อีกครั้ง ยิง
#include <ATX2.h>
void setup(){
XIO();
}
void loop(){
sw_OK_press();
Reload();
glcd(1,0,"Reload");
sw_OK_press();
servo(1,180);
glcd(1,0,"Shoot ");
}
void Reload(){
servo(1,0);delay(2000);
servo(1,155);delay(500);
}
รีโมตคอนโทรล Wireless-X
โมดูลตัวส่ง โมดูลตัวรับ
WirelessX ออกแบบมาเพื่อส่งสัญญาณจากปุ่มกดจานวน 9 ปุ่มด้วยความถี่ย่าน 2.4GHz ไปยัง
ภาครับ โดยภาครับจะแปลงค่าให้เป็นการสื่อสารอนุกรม 9600 bps เพื่อให้สามารถอ่านค่าได้อย่าง
ง่ายๆ ผ่านไมโครคอนโทรลเลอร์ทั่วๆ ไป
คุณสมบัติของ WirelessX
• ทางานรับส่งข้อมูลที่ความถี่ 2.4 GHz
• ระยะรับส่งข้อมูล 10-30 เมตร ขึ้นอยู่กับสภาวะแวดล้อม
• ทางานได้มากกว่า 100 ตัวพร้อมกัน โดยไม่เกิดสัญญาณรบกวน
• ใช้แบตเตอรี่แบบลิเธี่ยมไอออนขนาด1 เซล 3.7V พร้อมชุดชาร์จในตัว
• มีขั้วต่อMini USB สาหรับชาร์จแบตเตอรี่
• มี LED แสดงสถานะการชาร์จแบตเตอรี่ เมื่อเต็มไฟจะดับลง
• มี LED แสดงสถานะแบตเตอรี่อ่อน จะติดกะพริบเมื่อแบตอ่อน
• มีสวิตช์เปิ ด/ปิ ดพร้อม LED แสดงสถานะการทางาน
• มีสวิตช์กด 9 ตัว กดได้พร้อมกันโดยอิสระ 8 ตัว สร้างรูปแบบการควบคุมได้หลากหลาย
• ขนาด 13.5 x 7.5 เซนติเมตร
คุณสมบัติของ ตัวส่ง
• ขนาดเล็กเพียง 2.4x4.8 เซนติเมตร
• ใช้ไฟเลี้ยง 5V จากบอร์ดควบคุมได้โดยตรง
• มีขั้วต่อ JST เชื่อมต่อกับบอร์ดควบคุมของ inex ได้
• มี LED แสดงสถานะเมื่อเชื่อมต่อกับตัวส่ง
• ให้เอาต์พุตเป็นสัญญาณอนุกรม RS-232 ที่บอดเรต 9600
คุณสมบัติของ ตัวรับ
บิตข้อมูลเมื่ออ่านค่าออกมา
ติดตั้งและต่อสาย
ต่อสายเข้าที่ขา RxD1
ยึดให้ไกลสัญญาณรบกวน
ไลบรารี่ uart1
#include <ATX2.h>
int x;
void setup(){
XIO();
glcdMode(3);
setTextSize(2);
pinMode(2,INPUT_PULLUP);
}
void loop(){
while(uart1_ready()>0){ // read last x
x=uart1_read();
}
glcd(1,0,"DEC=%d ",x);
glcd(2,0,"HEX=%h ",x);
glcd(3,0,"BIN=%b ",x);
}
ทดสอบอ่านค่า
#include <ATX2.h>
byte x;
void setup(){
pinMode(2,INPUT_PULLUP);
}
void loop(){
while(uart1_ready()>0){
x=uart1_read();
}
if(x==0x01) { BK(60);}
else if(x==0x02){ SR(60);}
else if(x==0x04){ SL(60);}
else if(x==0x08){ FD(60);}
else{ AO(); }
}
ทดสอบขับเคลื่อนหุ่นยนต์ด้วย 4 ปุ่มขวา
switch (var) {
case 1:
// ทางานเมื่อค่าของตัวแปรเท่ากับ 1
break;
case 2:
//ทางานเมื่อค่าของตัวแปรเท่ากับ 2
break;
default:
// ถ้าหากค่าของตัวแปรไม่ใช่ case ที่กล่าวมา ทาส่วนนี้
}
switch case
var ตัวแปรที่ต้องการทดสอบว่าตรงกั บเงื่อนไขใด
default ถ้าไม่ตรงกับเงื่อนไขใดๆ เลยให้ทาคาสั่งต่อท้ายนี้
break เขียนต่อท้าย case ต่างๆ เพื่อไม่ต้องทาเงื่อนไขอื่น ๆ ต่อ
#include <ATX2.h>
byte x;
void setup(){
pinMode(2,INPUT_PULLUP);
}
void loop(){
while(uart1_ready()>0){
x=uart1_read();
}
switch (x){
case 0x01: BK(60);break;
case 0x02: SR(60);break;
case 0x04: SL(60);break;
case 0x08: FD(60);break;
default: AO();
}
}
ทดสอบขับเคลื่อนหุ่นยนต์ด้วย SWITCH CASE
#include <ATX2.h>
byte x;
void setup(){
pinMode(2,INPUT_PULLUP);
}
void loop(){
while(uart1_ready()>0){
x=uart1_read();
}
switch (x){
case 0x01: BK(60);break;
case 0x02: SR(60);break;
case 0x04: SL(60);break;
case 0x08: FD(60);break;
// Turbo Mode
case 0x81: BK(100);break;
case 0x82: SR(100);break;
case 0x84: SL(100);break;
case 0x88: FD(100);break;
default: AO();
}
}
เพิ่มปุ่ม Turbo
#include <ATX2.h>
byte x;
void setup(){
pinMode(2,INPUT_PULLUP);
}
void loop(){
while(uart1_ready()>0){
x=uart1_read();
}
switch (x){
case 0x01: BK(60);break;
case 0x02: SR(60);break;
case 0x04: SL(60);break;
case 0x08: FD(60);break;
// Turbo Mode
case 0x81: BK(100);break;
case 0x82: SR(100);break;
case 0x84: SL(100);break;
case 0x88: FD(100);break;
// Servo
case 0x40: Reload();break;
case 0x20: servo(1,180);break;
default: AO();
}
}
สั่งงาน servo
บริษัท อินโนเวตีฟ เอ็กเพอริเมนต์ จากัด
KRITSADA JAIYEN
108 ซอยสุขุมวิท 101/2 ถ.สุขุมวิท
แขวงบางนา เขตบางนา กรุงเทพฯ 10260
โทรศัพท์ 02-7477001-4 โทรสำร 02-7477005
kritsada@inex.co.th
www.inex.co.th
กฤษดา ใจเย็น
facebook.com/innovativeexperiment
doc.inex.co.th

More Related Content

What's hot

Chuyen de cm axe 810
Chuyen de cm  axe 810  Chuyen de cm  axe 810
Chuyen de cm axe 810 korro21
 
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたFPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたTakefumi MIYOSHI
 
ESP32開発環境まとめ
ESP32開発環境まとめESP32開発環境まとめ
ESP32開発環境まとめKenta IDA
 
[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)Simen Li
 
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...Sardegna Ricerche
 
manual-vectra-2008.pdf
manual-vectra-2008.pdfmanual-vectra-2008.pdf
manual-vectra-2008.pdfEdsonMarcos17
 
Socket Programming Tutorial
Socket Programming TutorialSocket Programming Tutorial
Socket Programming TutorialJignesh Patel
 
Solarwinds Orion NPM ve NTA sunumu
Solarwinds Orion NPM ve NTA sunumuSolarwinds Orion NPM ve NTA sunumu
Solarwinds Orion NPM ve NTA sunumuKavi International
 
Real Time Clock Interfacing with FPGA
Real Time Clock Interfacing with FPGAReal Time Clock Interfacing with FPGA
Real Time Clock Interfacing with FPGAMafaz Ahmed
 
20190625 OpenACC 講習会 第3部
20190625 OpenACC 講習会 第3部20190625 OpenACC 講習会 第3部
20190625 OpenACC 講習会 第3部NVIDIA Japan
 
WHATTODO est une Plate-forme web de réservation d'activités et loisirs touris...
WHATTODO est une Plate-forme web de réservation d'activités et loisirs touris...WHATTODO est une Plate-forme web de réservation d'activités et loisirs touris...
WHATTODO est une Plate-forme web de réservation d'activités et loisirs touris...Mohammed BENNANI
 
[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack Firmware
[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack Firmware[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack Firmware
[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack FirmwareSimen Li
 
інструкція з налаштування тестування за допомогою локальної мережі Mytest x
інструкція з налаштування тестування за допомогою локальної мережі Mytest xінструкція з налаштування тестування за допомогою локальної мережі Mytest x
інструкція з налаштування тестування за допомогою локальної мережі Mytest xdefolt1998
 
програма гуртка основи мікроелектроніки з Arduino
програма гуртка основи мікроелектроніки з Arduinoпрограма гуртка основи мікроелектроніки з Arduino
програма гуртка основи мікроелектроніки з ArduinoГригорий Громко
 
Javaで簡単にgpgpu aparapi
Javaで簡単にgpgpu aparapiJavaで簡単にgpgpu aparapi
Javaで簡単にgpgpu aparapiKen'ichi Sakiyama
 

What's hot (20)

Chuyen de cm axe 810
Chuyen de cm  axe 810  Chuyen de cm  axe 810
Chuyen de cm axe 810
 
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたFPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみた
 
ESP32開発環境まとめ
ESP32開発環境まとめESP32開発環境まとめ
ESP32開発環境まとめ
 
Mips opcodes
Mips opcodesMips opcodes
Mips opcodes
 
[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)
 
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
 
manual-vectra-2008.pdf
manual-vectra-2008.pdfmanual-vectra-2008.pdf
manual-vectra-2008.pdf
 
Instruction formats-in-8086
Instruction formats-in-8086Instruction formats-in-8086
Instruction formats-in-8086
 
Socket Programming Tutorial
Socket Programming TutorialSocket Programming Tutorial
Socket Programming Tutorial
 
Solarwinds Orion NPM ve NTA sunumu
Solarwinds Orion NPM ve NTA sunumuSolarwinds Orion NPM ve NTA sunumu
Solarwinds Orion NPM ve NTA sunumu
 
Real Time Clock Interfacing with FPGA
Real Time Clock Interfacing with FPGAReal Time Clock Interfacing with FPGA
Real Time Clock Interfacing with FPGA
 
7_2811.pptx
7_2811.pptx7_2811.pptx
7_2811.pptx
 
20190625 OpenACC 講習会 第3部
20190625 OpenACC 講習会 第3部20190625 OpenACC 講習会 第3部
20190625 OpenACC 講習会 第3部
 
WHATTODO est une Plate-forme web de réservation d'activités et loisirs touris...
WHATTODO est une Plate-forme web de réservation d'activités et loisirs touris...WHATTODO est une Plate-forme web de réservation d'activités et loisirs touris...
WHATTODO est une Plate-forme web de réservation d'activités et loisirs touris...
 
Prelude to halide_public
Prelude to halide_publicPrelude to halide_public
Prelude to halide_public
 
[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack Firmware
[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack Firmware[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack Firmware
[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack Firmware
 
3 клас урок 32 як презентувати й оцінювати проект
3 клас урок 32 як презентувати й оцінювати проект3 клас урок 32 як презентувати й оцінювати проект
3 клас урок 32 як презентувати й оцінювати проект
 
інструкція з налаштування тестування за допомогою локальної мережі Mytest x
інструкція з налаштування тестування за допомогою локальної мережі Mytest xінструкція з налаштування тестування за допомогою локальної мережі Mytest x
інструкція з налаштування тестування за допомогою локальної мережі Mytest x
 
програма гуртка основи мікроелектроніки з Arduino
програма гуртка основи мікроелектроніки з Arduinoпрограма гуртка основи мікроелектроніки з Arduino
програма гуртка основи мікроелектроніки з Arduino
 
Javaで簡単にgpgpu aparapi
Javaで簡単にgpgpu aparapiJavaで簡単にgpgpu aparapi
Javaで簡単にgpgpu aparapi
 

Similar to Battle Ball Z Robot with Robo Creator XT

การใช้งานหุ่นยนต์ RQ-BOT จากชุด Robo-Creator XT
การใช้งานหุ่นยนต์ RQ-BOT จากชุด Robo-Creator XTการใช้งานหุ่นยนต์ RQ-BOT จากชุด Robo-Creator XT
การใช้งานหุ่นยนต์ RQ-BOT จากชุด Robo-Creator XTInnovative Experiment Co.,Ltd.
 
Robot Arm opencm และมอเตอร์ dynamixel จาก robotis
Robot Arm opencm และมอเตอร์ dynamixel จาก robotisRobot Arm opencm และมอเตอร์ dynamixel จาก robotis
Robot Arm opencm และมอเตอร์ dynamixel จาก robotisInnovative Experiment Co.,Ltd.
 
การใช้งานหุ่นยนต์ IPST-MicroBOX SE (i-BOT)
การใช้งานหุ่นยนต์ IPST-MicroBOX SE (i-BOT)การใช้งานหุ่นยนต์ IPST-MicroBOX SE (i-BOT)
การใช้งานหุ่นยนต์ IPST-MicroBOX SE (i-BOT)Innovative Experiment Co.,Ltd.
 
การสร้าง optokinetic drum ด้วย Arduino
การสร้าง optokinetic drum ด้วย Arduinoการสร้าง optokinetic drum ด้วย Arduino
การสร้าง optokinetic drum ด้วย ArduinoSupachai Vorapojpisut
 

Similar to Battle Ball Z Robot with Robo Creator XT (7)

การใช้งานหุ่นยนต์ RQ-BOT จากชุด Robo-Creator XT
การใช้งานหุ่นยนต์ RQ-BOT จากชุด Robo-Creator XTการใช้งานหุ่นยนต์ RQ-BOT จากชุด Robo-Creator XT
การใช้งานหุ่นยนต์ RQ-BOT จากชุด Robo-Creator XT
 
I bot new
I bot newI bot new
I bot new
 
POP-X2 Education Kit Presentation
POP-X2 Education Kit PresentationPOP-X2 Education Kit Presentation
POP-X2 Education Kit Presentation
 
Robot Arm opencm และมอเตอร์ dynamixel จาก robotis
Robot Arm opencm และมอเตอร์ dynamixel จาก robotisRobot Arm opencm และมอเตอร์ dynamixel จาก robotis
Robot Arm opencm และมอเตอร์ dynamixel จาก robotis
 
การใช้งานหุ่นยนต์ IPST-MicroBOX SE (i-BOT)
การใช้งานหุ่นยนต์ IPST-MicroBOX SE (i-BOT)การใช้งานหุ่นยนต์ IPST-MicroBOX SE (i-BOT)
การใช้งานหุ่นยนต์ IPST-MicroBOX SE (i-BOT)
 
การสร้าง optokinetic drum ด้วย Arduino
การสร้าง optokinetic drum ด้วย Arduinoการสร้าง optokinetic drum ด้วย Arduino
การสร้าง optokinetic drum ด้วย Arduino
 
Pop x2 FireBOT present
Pop x2 FireBOT presentPop x2 FireBOT present
Pop x2 FireBOT present
 

More from Innovative Experiment Co.,Ltd.

Robot Arena Programable Line Junior WRG Thailand 2019 310x240cm
Robot Arena Programable Line Junior WRG Thailand 2019 310x240cmRobot Arena Programable Line Junior WRG Thailand 2019 310x240cm
Robot Arena Programable Line Junior WRG Thailand 2019 310x240cmInnovative Experiment Co.,Ltd.
 
Robot Arena - Programable Line Senior WRG Thailand 2019 360x240 CM
Robot Arena - Programable Line Senior WRG Thailand 2019 360x240 CMRobot Arena - Programable Line Senior WRG Thailand 2019 360x240 CM
Robot Arena - Programable Line Senior WRG Thailand 2019 360x240 CMInnovative Experiment Co.,Ltd.
 
PowerPoint for micro:bit makeCode (JavaScript Blocks editor ) Thai
PowerPoint for micro:bit makeCode (JavaScript Blocks editor ) ThaiPowerPoint for micro:bit makeCode (JavaScript Blocks editor ) Thai
PowerPoint for micro:bit makeCode (JavaScript Blocks editor ) ThaiInnovative Experiment Co.,Ltd.
 

More from Innovative Experiment Co.,Ltd. (20)

Beginning with IROVER Robot (IPST WiFi + IKB+1)
Beginning with IROVER Robot (IPST WiFi + IKB+1)Beginning with IROVER Robot (IPST WiFi + IKB+1)
Beginning with IROVER Robot (IPST WiFi + IKB+1)
 
Robot Arena Maze Runner Senior @ TMC 2019
Robot Arena Maze Runner Senior @ TMC 2019 Robot Arena Maze Runner Senior @ TMC 2019
Robot Arena Maze Runner Senior @ TMC 2019
 
Robot Arena TMC 2019 Line Tracing Junior and Mentor
Robot Arena TMC 2019 Line Tracing Junior and MentorRobot Arena TMC 2019 Line Tracing Junior and Mentor
Robot Arena TMC 2019 Line Tracing Junior and Mentor
 
Robot Arena TPA Junior Competition 2019 Bit Racer
Robot Arena TPA Junior Competition 2019 Bit Racer Robot Arena TPA Junior Competition 2019 Bit Racer
Robot Arena TPA Junior Competition 2019 Bit Racer
 
Robot Arena Programable Line Master 2019 300x240cm
Robot Arena Programable Line Master 2019 300x240cmRobot Arena Programable Line Master 2019 300x240cm
Robot Arena Programable Line Master 2019 300x240cm
 
Robot Arena Programable Line Junior WRG Thailand 2019 310x240cm
Robot Arena Programable Line Junior WRG Thailand 2019 310x240cmRobot Arena Programable Line Junior WRG Thailand 2019 310x240cm
Robot Arena Programable Line Junior WRG Thailand 2019 310x240cm
 
Robot Arena-Beam Senior WRG Thailand2019 480x240cm
Robot Arena-Beam Senior WRG Thailand2019 480x240cmRobot Arena-Beam Senior WRG Thailand2019 480x240cm
Robot Arena-Beam Senior WRG Thailand2019 480x240cm
 
Robot Arena-Beam Master WRG Thailand 2019 360x240cm
Robot Arena-Beam Master WRG Thailand 2019 360x240cmRobot Arena-Beam Master WRG Thailand 2019 360x240cm
Robot Arena-Beam Master WRG Thailand 2019 360x240cm
 
Robot Arena - Beam Junior WRG Thailand 2019 360x240cm
Robot Arena - Beam Junior WRG Thailand 2019 360x240cmRobot Arena - Beam Junior WRG Thailand 2019 360x240cm
Robot Arena - Beam Junior WRG Thailand 2019 360x240cm
 
Robot Arena - Programable Line Senior WRG Thailand 2019 360x240 CM
Robot Arena - Programable Line Senior WRG Thailand 2019 360x240 CMRobot Arena - Programable Line Senior WRG Thailand 2019 360x240 CM
Robot Arena - Programable Line Senior WRG Thailand 2019 360x240 CM
 
Programmable Line Tracing Senior Arena
 Programmable Line Tracing Senior Arena Programmable Line Tracing Senior Arena
Programmable Line Tracing Senior Arena
 
Programmable Line Tracing Junior Arena
Programmable Line Tracing Junior ArenaProgrammable Line Tracing Junior Arena
Programmable Line Tracing Junior Arena
 
POP-7 Robot with RQ-7 Platform (PDF)
POP-7 Robot with RQ-7 Platform  (PDF)POP-7 Robot with RQ-7 Platform  (PDF)
POP-7 Robot with RQ-7 Platform (PDF)
 
I-Beam Robot From inex.co.th
I-Beam Robot From inex.co.thI-Beam Robot From inex.co.th
I-Beam Robot From inex.co.th
 
Wireless x channel programming
Wireless x channel programmingWireless x channel programming
Wireless x channel programming
 
How To Use Robo-Circle
How To Use Robo-Circle How To Use Robo-Circle
How To Use Robo-Circle
 
Interactive C Robot with AX-11 Board
Interactive C Robot with AX-11 BoardInteractive C Robot with AX-11 Board
Interactive C Robot with AX-11 Board
 
iBIT CIRCLE Programming Robot with microbit
iBIT CIRCLE Programming Robot with microbitiBIT CIRCLE Programming Robot with microbit
iBIT CIRCLE Programming Robot with microbit
 
PowerPoint for micro:bit makeCode (JavaScript Blocks editor ) Thai
PowerPoint for micro:bit makeCode (JavaScript Blocks editor ) ThaiPowerPoint for micro:bit makeCode (JavaScript Blocks editor ) Thai
PowerPoint for micro:bit makeCode (JavaScript Blocks editor ) Thai
 
Bit racer final 215x215 cm robot arena
Bit racer final 215x215 cm robot arenaBit racer final 215x215 cm robot arena
Bit racer final 215x215 cm robot arena
 

Battle Ball Z Robot with Robo Creator XT