วันพุธที่ 30 มกราคม พ.ศ. 2556

POPBOT-XT ส่งข้อมูลผ่านบลูทูธ ไปยัง Tablet Android


ติดตั้งบลูทูธกับชุดหุ่นยนต์ POPBOT XT ให้เรียบร้อย 

เชื่อมต่อสวิตซ์ จำนวน 2 ตัว เข้ากับตัวบอร์ด โดยสวิตซ์แต่ละตัวจะส่งค่าข้อมูล 1 และ 2 ออกไป  



เขียนโปรแกรมบน popxt  เพื่อคอยตรวจสอบตำแหน่งของการกดสวิตซ์ ดังนี้   เมื่อสวิตซ์ตัวใดถูกกด  โปรแกรมสั่งให้ส่งข้อมูลออกไป  โดยข้อมูลที่ส่งไปนั้นมีค่าเป็น '1' '2' ตามตำแหน่งที่กด



จากนั้นทำการออกแบบหน้าตาโปรแกรมทางฝั่งของมือถือแอนดรอยด์ด้วยโปรแกรม App Inventor โดยจะประกอบด้วยปุ่มสำหรับเชื่อมต่อบลูทูธ ปุ่มสำหรับยกเลิกการเชื่อมต่อ    ซึ่งมือถือแอนดรอดย์จะมีหน้าที่เป็นตัวหลักในการเชื่อมต่อกับบอร์ด popxt   กำหนด label ขึ้นมา 1 ตัวเพื่อแสดงค่าตัวเลข เพื่อให้เห็นถึงความเปลี่ยนแปลงของการทำงาน โดยตัวเลขจะเพิ่มขึ้น ลดลง ขึ้นอยู่กับข้อมูลที่จะถูกส่งเข้ามา โดยการกดสวิตซ์ที่ตัวบอร์ด popxt ในที่นี้ข้อมูลที่เข้ามาจะเป็น '1' , '2'



เขียนโปรแกรมดังนี้  ขออนุญาติไม่อธิบายเกี่ยวกับปุ่มเชื่อมต่อบลูทูธ  ถ้าไม่เข้าใจ กลับไปดูที่บล็อก AppInventor เกี่ยวกับการเชื่อมต่อบลูทูธ 


โปรแกรมจะรอรับค่าที่ถูกส่งเข้ามา จากนั้นนำค่าที่ได้เก็บไว้ในตัวแปร  นำค่าที่ได้ไปแสดงผลบนหน้าจอ โดยค่าจะเพิ่มขึ้น หรือ น้อยลง ขึ้นอยู่กับข้อมูลที่ถูกส่งเข้ามา




จบ.






วันพุธที่ 5 ธันวาคม พ.ศ. 2555

POPBOT XT + ULTRASONIC SRF04


การทำงานของบอร์ดหุ่นยนต์ popbot xt ร่วมกับโมดูลวัดระยะทาง อัลต้าโซนิค SRF04 ทำงานร่วมกันได้อย่างถูกต้องแม่นยำ 





โค๊ดตัวอย่าง

#include "Ultrasonic.h"
#include <popxt.h>
Ultrasonic ultrasonic(6,4); // ขา trig ต่อกับ D6  ขา echo ต่อกับ D4

void setup() {
setTextSize(3);
}

void loop()
{
  glcd(1,1,"  %d   ",ultrasonic.Ranging(CM)); 
  delay(100);
}








วันพฤหัสบดีที่ 18 ตุลาคม พ.ศ. 2555

เริ่มต้นแกะกล่อง และประกอบหุ่นยนต์ POP-BOT XT

การควบคุมหุ่นยนต์ POP-BOT XT ด้วยแอนดรอยด์ผ่านบลูทูธด้วย BlueStick

เนื้อหาของบทความนี้คัดลอกมาจาก facebook ของบริษัท Innovetive Experiment เห็นว่าน่าสนใจเลยนำมาฝากครับ  ดูรายละเอียดได้ที่ facebook ของ inex นะครับ 
www.inex.co.th

โมดูล BlueStick เป็นโมดูลบลูทูธที่แปลงสัญญาณออกมาเป็นอนุกรม มีขา TxD ส่งข้อมูล ขา RxD รับข้อมูล ซึ่งสามารถนำโมดูลนี้ไปสื่อสารไร้สายกับคอมพิวเตอร์หรือโทรศัพท์สมาร์ทโฟนต่างๆ ที่มีโปรแกรมสื่อสารอนุกรมได้ ในที่นี้จะยกตัวอย่างการเชื่อมต่อกับ Android ครับ

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

1. หุ่นยนต์ POP-BOT XT http://goo.gl/avAEE



2. โมดูล Blue stick http://goo.gl/FP017
3. ADX-BTstick http://goo.gl/MUjS9 สำหรับติดตั้งโมดูล BlueStick จุดเชื่อมต่อ TxD และ RxD สามารถเชื่อมต่อกับคอนเน็กเตอร์ JST ของ INEX ได้
3. โทรศัพท์เคลื่อนที่ระบบปฏิบัติการแอนดรอยด์


ติดตั้งโมดูล BlueStick เข้ากับหุ่นยนต์ POP-BOT XT
ให้นำ ADX-BTStick ยึดติดเข้ากับโครงสร้างของหุ่นยนต์ POP-BOT-XT จากนั้นเสียบสัญญาณ จากขั้ว TxD ของ ADX-BTStick เข้ากับขั้ว RxD ของ POP-XT และ ขั้ว RxD ของ ADC-BTStick เข้ากับขั้ว TxD ของ POP-XT




ตัวอย่างโปรแกรม



#include <popxt.h>

char key;
void setup(){
glcdMode(1);
setTextSize(2);
glcd(1,1,"Press OK");
sw_ok_press();
glcdClear();
}
void loop(){ if(uart1_available()) { key=uart1_getkey();
if(key==0x38){
glcd(1,1,"Forward ");
fd(50);
}
else if (key==0x32){
glcd(1,1,"Backward ");
bk(50);
}
else if (key==0x34){
glcd(1,1,"Spin Left ");
sl(50);
}
else if (key==0x36){
glcd(1,1,"Spin Right");
sr(50);
}
}
else {
glcd(1,1,"Motor Stop");ao();
}
}


การทำงานของโปรแกรม

POPBOT-XT มีไลบรารี่สำหรับการสื่อสารอนุกรมไว้ให้ใช้งานเรียบร้อยแล้ว โดยใช้คำสั่ง uart สำหรับการสื่อสารอนุกรมผ่านสาย usb และ uart1 สำหรับการสื่อสารอนุกรมผ่านจุดต่อ JST บนบอร์ด POP-XT ซึ่งเราจะเลือกใช้ uart1 มาใช้งาน
การทำงานในเบื้องต้นจะตรวจสอบว่ามีการส่งข้อมูลจากบลูทูธเข้ามาหรือไม่ ถ้ามีการส่งเข้ามาก็ตรวจสอบว่าตรงกับค่าคีย์สำหรับการ เดินหน้า (0x38) ถอยหลัง (0x32) เลี้ยวซ้าย (0x34) หรือเลี้ยวขวา (0x36) หรือไม่ ถ้าใช่ก็เรียกคำสั่งสำหรับเดินหน้าถอยหลังเหล่านั้น โดยแสดงข้อความที่หน้าจอออกมาด้วย แต่ถ้าไม่มีการส่งข้อมูลออกมา จะมีคำสั่งให้หุ่นยนต์หยุดการเคลื่อนที่
การทดสอบในส่วนนี้สามารถใช้คอมพิวเตอร์โน๊ตบุ๊คที่มีบลูทูธ เขียนเชื่อมต่ออนุกรมกับหุ่นยนต์แล้วกดคีย์ตัวเลขเพื่อควบคุมหุ่นยนต์ได้เลย ผ่านโปรแกรม Terminal ต่างๆ

การเชื่อมต่อหุ่นยนต์กับมือถือ Android
ก่อนอื่นครับให้ไปดาวน์โหลดซอฟต์แวร์ BlueStick Control ใน Google Play กันก่อน โดยเข้าไปที่หน้า Google Play จากนั้นกดค้นหา "Bluestick" ดังรูป

การเชื่อมต่อหุ่นยนต์กับมือถือ Android
ก่อนอื่นครับให้ไปดาวน์โหลดซอฟต์แวร์ BlueStick Control ใน Google Play กันก่อน โดยเข้าไปที่หน้า Google Play จากนั้นกดค้นหา "Bluestick" ดังรูป

เข้าไปที่ BlueStick Control แลัวเลือกติดตั้ง



จะได้เป็น App BlueStick Control ดังรูป



เมื่อเปิดโปรแกรมเข้าไปจะพบหน้าต่างตัวเลือกสำหรับรูปแบบการควบคุม 2 รูปแบบคือ แบบกดที่หน้าจอ (Button Mode) หรือแบบโยกหน้าจอ Tilt โหมด ให้เลือกแบบ Button Mode ก่อนครับ




จะพบกับหน้าจอสีฟ้าดังรูป ให้กดไปที่รูปเฟืองมุมล่างด้านซ้ายเพื่อค้นหาและจับคู่กับโมดูล BlueStick

เมื่อพบโมดูล BlueStick ให้กดเลือกแล้วจะต้องป้อนรหัสผ่านเพื่อจับคู่ โดยปกติจะใช้ค่า 1234



นอกจากการควบคุมแบบ Button Mode แล้ว ยังสามารถเปลี่ยนเป็นโหมด Tilt Mode ได้จากแถวข้อความด้านล่าง


ทดสอบใช้งาน
เป็นไฟล์ YOUTUBE ครับติดตามได้ตามลิงก์เลยครับ
http://youtu.be/gy8bdeXMagA










หุ่นยนต์ POP-BOT-XT ควบคุมด้วยรีโมตคอนโทรล RC


เนื้อหาของบทความนี้คัดลอกมาจาก facebook ของบริษัท Innovetive Experiment 
www.inex.co.th


หุ่นยนต์ POP-BOT-XT ควบคุมด้วยรีโมตคอนโทรล RC
สำหรับเครื่องบินบังคับวิทยุ หรือรถบังคับวิทยุจะใช้รีโมตแบบคลื่อนวิทยุในการควบคุม เอาต์พุตที่ได้จากตัวมันก็จะมีภาครับหรือ รีซีฟเวอร์เป็นตัวจัดการ ปัจจุบันราคาของอุปกรณ์เหล่านี้มีราคาถูกลงมาก (แต่บางตัวฟังก์ชั่นเยอะๆ ก็แพงเหมือนกัน)









รีโมตคอนโทรล


ภาครีซีฟเวอร์เมื่อรับสัญญาณมาแล้วก็เปลี่ยนสัญญาณเหล่านั้นไปควบคุมเซอร์โวมอเตอร์


รีซีฟเวอร์

ดังนั้นถ้าเราจับสัญญาณเซอร์โวที่มาจากรีซีฟเวอร์ได้ ก็นำรีโมตของรถบังคับไปใช้งานได้



พัลส์ที่รีซีฟเวอร์รับได้เพื่อไปควบคุมเซอร์โวมอเตอร์

สำหรับ Arduino มีคำสั่งชื่อ PulseIn ใช้สำหรับอ่านค่าความกว้างพัลล์ที่ป้อนเข้ามา โดยให้ค่าออกมาหน่วยเป็นไมโครวินาที
รูปแบบการใช้งานคำสั่ง
pulseIn(pin, value ,timeout)
โดย pin คือขาดิจิตอลอินพุตที่ต้องการอ่านค่า
value คือลอจิกที่จะอ่านค่าความกว้างพัลส์ออกมา
timeout คือช่วงเวลาที่เรากำหนดว่าถ้าไม่เกิดพัลส์ขึ้นมาในช่วงเวลากี่ไมโครวินาที ให้ไปทำงานคำสั่งถัดไป

การเชื่อมต่อ
ขั้นตอนในส่วนนี้แนะนำให้ไปประยุกต์หาอุปกรณ์ตามที่มีอยู่ใหล้ๆตัวนะครับ เพื่อเชื่อมต่อสายสัญญาณ
  สายสัญญาณของเซอร์โวมอเตอร์ที่ใช้กับชุดรีซีฟเวอร์จะแตกต่างกับสายสัญญาณ JST ที่ใช้งานกับหุ่นยนต์ POP-BOT XT จึงจำเป็นต้องมีการตัดต่อสายเล็กน้อย (หรือถ้าไม่มีการใช้งานช่องเซอร์โวมอเตอร์ สามารถเชื่อมต่อสายเข้ากับช่องของเซอร์โวมอเตอร์ก็ได้) ตามขั้นตอนดังนี้


สายสัญญาณเซอร์โว

1. นำสายเซอร์โวมอเตอร์ มาตัดปลายออกด้านหนึ่ง ปอกปลายสายเล็กน้อย ให้ทั้งสามสายเหลื่อมกันดังรูป เมื่อบัดกรีแล้วจะได้ไม่ชอร์ตกัน


สายสัญญาณ JST

2. ทำแบบเดียวกันกับสาย JST ปอกปลายสายเช่นเดียวกัน




เชื่อมต่อให้เหลื่อมกันเล็กน้อยจะได้ไม่ชอร์ตกัน

3. นำสายทั้งสองมาเชื่อมกัน อาจใช้เทปพันสายไฟหรือท่อหดพันไว้เพื่อป้องกันการชอร์ต



สียสายเซอร์โวเข้ากับรีซีฟเวอร์
 
4. เสียบสายด้านเซอร์โวมอเตอร์เข้าที่ช่องที่ 1 2 และ 3 ครับ สังเกตทิศทางของสาย สีดำคือไฟลบหรือกราวด์ต้องจำไว้เสมอ
5. เชื่อมต่อสายอีกด้านเข้ากับบอร์ด POP-BOT XT ในที่นี้เลือกต่อตามนี้ครับ

CH1 ==== 21
CH2 ==== 22
CH3 ==== 23
ที่เหลือก็คือการเขียนโปรแกรมทดสอบละครับ เริ่มจากนำค่าที่อ่านได้มาโชว์ที่หน้าจอ GLCD กันก่อน





ทดสอบปรับค่าคันโยกที่รีโมตคอนโทรล แล้วสังเกตค่าตัวเลขที่เปลี่ยนแปลงที่หน้าจอของ GLCD ครับ จะเห็นว่าค่าของทั้ง 3 ช่องจะอยู่ในช่วง 1000 ถึง 2000 โดยค่าประมาณตรงกลางจะอยู่ที่ 1500
ทีนี้ก็เอาค่าเหล่านี้ไปควบคุมหุ่นยนต์ได้แล้วครับ


#include
int ch1;
int ch2;
int ch3;
void servo_open(){   
servo(2,80);sleep(400);   
servo(1,140);sleep(400);   
servo(1,-1);servo(2,-1);
}
void servo_close(){ 
servo(1,0);sleep(1000); 
servo(2,0);sleep(1000); 
servo(1,-1);servo(2,-1);
}
void setup() { 
pinMode(21, INPUT);
pinMode(22, INPUT); 
pinMode(23, INPUT); 
glcdMode(1);                        
setTextSize(2);                     
glcd(1,1,"Press OK");               
sw_ok_press();          
glcdClear();
}
void loop() { 
ch1 = pulseIn(21, HIGH, 25000);  
if (ch1>1200&&ch1
ao();
else if (ch1
fd(70);
else if (ch1>1500)  {
bk(70);
ch2 = pulseIn(22, HIGH, 25000);
if (ch2>1200&&ch2
ao();
else if (ch2
sl(60);
}  
else if (ch2>1500){
sr(60);
ch3 = pulseIn(23, HIGH, 25000); 
if (ch3>1500) {
servo_close();
else if (ch3
servo_open();
}  
}


เขียนโปรแกรมบนมือถือง่ายๆด้วย AppInventor ควบคุมหุ่นยนต์ POPBOT XT


เริ่มต้นการเขียนโปรแกรม  ไปที่เว็บ appinventor.mit.edu



คลิกเลือกที่ Invent  สำหรับเริ่มต้นเข้าใช้งาน AppInventor



ทำการ Login เข้าสู่ระบบ โดยใส่ชื่อที่อยู่อีเมลล์และรหัสผ่าน ที่เราได้สมัครไว้แล้ว
สำหรับผู้เริ่มต้นใช้งานซึ่งยังไม่มี google account นั้น  สามารถใช้ที่อยู่ของ gmail ในการเข้าใช้งานได้
***วิธีการสมัครเข้าใช้งาน AppInventor ดูได้จากเนื้อหาในบทความตอนต้นได้



การขออนุญาตในการเข้าถึงที่อยู่อีเมลล์ของเรา   ให้เราคลิกเลือกที่อนุญาต 



เริ่มต้นสร้างโปรเจ็คขึ้นมาใหม่  คลิกที่ New ตั้งชื่องานที่ต้องการ ในที่นี้ผมตั้งชื่อโปรเจ็คผมว่า bluetooth_popxt 


เริ่มต้นเข้าสู่หน้าต่างการออกแบบ ดังภาพ



เริ่มต้นออกแบบหน้าตาโปรแกรม โดยจะเพิ่มเครื่องมือตัวแรก คือ ListPicker



หลังจากนั้นเพิ่มเครื่องมือ Button เข้ามาอีก ตัว ปรับแต่งแก้ไขหน้าตาตามใจชอบ  ตัวอย่าง เลือกเครื่องมือที่ต้องการปรับแต่ง  ที่เมนู Properties  เลือกที่คุณสมบัติ FontSize เพื่อปรับขนาดตัวอักษรเลือกที่ Text เพื่อปรับเปลี่ยนข้อความใหม่  เลือกที่ TextAlignment เพื่อปรับตำแหน่งของข้อความ



ปรับเปลี่ยนชื่อของเครื่องมือต่างๆเพื่อให้ง่ายต่อการจดจำและสะดวกในการเขียนโปรแกรมคำสั่ง  ทำได้ดังนี้คือ  เลือกเครื่องมือที่ต้องการเปลี่ยนชื่อ   คลิกที่ Rename แก้ไขชื่อใหม่ที่ต้องการให้สอดคล้องกับชนิดและการทำงานของเครื่องมือนั้นๆ แล้วคลิกที่ OK




ทำการเปลี่ยนชื่อเครื่องมือที่เหลือทั้งหมด




เครื่องมือที่สำคัญที่ทำหน้าที่เชื่อมต่อสื่อสารข้อมูลผ่านบลูทูธคือ BluetoothClient 


เปิดหน้าต่างโปรแกรม Blocks Editor ขึ้นมา เพื่อทำการเขียนคำสั่งให้กับโปรแกรม


หน้าตาของ Blocks Editor ก่อนเริ่มต้นเขียนคำสั่งโปรแกรม


เริ่มต้นเขียนโค้ดคำสั่งสำหรับทำหน้าที่เชื่อมต่อบลูทูธ



ชุดคำสั่งที่คอยทำหน้าที่เชื่อมต่อบลูทูธ ของโทรศัพท์มือถือกับอุปกรณ์บลูทูธอื่นๆ




เขียนโค้ดโปรแกรมดังนี้



คำอธิบายโปรแกรม
หลังจากที่ปุ่มกดแต่ละปุ่มทำงาน จะมีการส่งค่าข้อมูล ตามที่ได้กำหนดไว้ออกไป ด้วยคำสั่ง BTClient.Sent1ByteNumber >  ตามด้วยข้อมูลที่มีชนิดของข้อมูลเป็น Byte ส่งออกไปในที่นี้คือ 1


หน้าตาโปรแกรมบนมือถือที่ได้ออกแบบไว้สำหรับควบคุมการทำงานของหุ่นยนต์ popbot xt


ติดตั้ง BlueSticks โมดูลสำหรับการเชื่่อมต่อบลูทูธ เข้ากับบอร์ดหุ่นยนต์ POPXT

RX ที่ตัวโมดูล BlueSticks  ต่อกับ  TX ของบอร์ดหุ่นยนต์ POPXT 
TX ที่ตัวโมดูล BlueSticks  ต่อกับ  RX ของบอร์ดหุ่นยนต์ POPXT 




Source Code โปรแกรมสำหรับ POPBOT-XT














สามารถเรียกใช้งานคำสั่งต่างๆที่อยู่ภายในไลบารี่ popxt.h กับคำสั่งมาตรฐานของ arduino ได้
โดยเริ่มต้นทำการดึงไฟล์ไลบารี่ popxt.h เข้ามาใช้งาน  ประกาศค่าบอดเรด ที่จะใช้ในการเชื่อมต่อ ในที่นี้ตั้งเป็น 9600 ซึ่งโดยปกติจะเป็นค่าดีฟอล ซึ่งอาจจะไม่ต้องใส่ก็ได้

  • คำสั่ง Serial.begin(9600)  เป็นการสั่งให้มีการส่งข้อมูลผ่านทาง Serial Port ด้วยอัตราความเร็ว 9600 bit /sec  *** การสื่่อสารระหว่างบอร์ดไมโครคอนโทรลเลอร์กับคอมพิวเตอร์
  • คำสั่ง Serial1.begin(9600)  เป็นการสั่งให้มีการส่งข้อมูลผ่านทาง Serial Port ที่ ด้วยอัตราความเร็ว 9600 bit /sec  ***การสื่อสารระหว่างบอร์ดไมโครคอนโทรลเลอร์กับโทรศัพท์มือถือ
  • Serial1.available() ชุดคำสั่งใช้ตรวจสอบข้อมูลว่ามีข้อมูลถูกส่งเข้ามาหรือไม่
  • Int  inByte   ประกาศตัวแปรชื่อ inByte มีชนิดข้อมูลเป็น integer
  • Serial.read()  อ่านค่าข้อมูลที่ถูกส่งเข้ามาแล้วไปเก็บไว้ที่ตัวแปร inByte
  • Serial.Println()  แสดงผลข้อมูลที่รับเข้ามาผ่านทางซีเรียลพอร์ต ซึ่งสามารถดูได้จากการเปิดหน้าต่าง Terminal ที่อยู่บริเวณมุมด้านขวาของโปรแกรม Arduino
  • If(inByte==1)  ตรวจสอบข้อมูลที่เข้ามาว่าเป็น ใช่หรือไม่ ถ้าใช่ให้ทำงานชุดคำสั่งในเครื่องหมายปีกกา ในที่นี่เราจะสั่งให้มอเตอร์ตัวที่หนึ่งของหุ่นยนต์หมุน แต่ถ้าข้อมูลที่ส่งเข้ามาไม่ตรงกับเงื่อนไขที่ได้ทำการประกาศไว้นั้น โปรแกรมจะทำการตรวจสอบเงื่อนไขต่อไปด้วยคำสั่ง else if 


Code POPBOT XT

#include <popxt.h>
void setup() {
  glcdClear();
  Serial.begin(9600);
  Serial1.begin(9600);
}
void loop() {

  if (Serial1.available()) {
    int inByte = Serial1.read();
    Serial.println(inByte, DEC);  
    if(inByte==1)
    {
      motor(1,50);
      sleep(100);
    }
    else if(inByte==2)
    {
      motor(1,0);
      sleep(100);
    }
    else if(inByte==3)
    {
      motor(2,50);
      sleep(100);
    }
    else if(inByte==4)
    {
      motor(2,0);
      sleep(100);
    }
  }
}

วันอังคารที่ 16 ตุลาคม พ.ศ. 2555

การควบคุมหุ่นยนต์ POP-BOT XT ด้วยสวิตช์ 6 ตัว


เนื้อหาของบทความนี้คัดลอกมาจาก facebook ของบริษัท Innovetive Experiment 
www.inex.co.th


ก่อนหน้านี้มีการใช้บลูทูธเพื่อควบคุมหุ่นยนต์กันแล้วครับ มาตอนนี้เอาวิธีการง่ายๆ ด้วยการใช้ ZX-SWITCH มาเชื่อมต่อสายโดยตรงเข้ากับตัวหุ่นยนต์กันบ้าง สำหรับคนที่ไม่ต้องการเขียนโปรแกรมที่ซับซ้อนแต่ควบคุมหุ่นยนต์ได้อย่างง่ายๆ



ยึดแผงวงจรสวิตช์เข้ากับแผ่นกริด

1. นำสวิตช์ ZX-SWITCH มายึดติดเข้ากับแผ่นไม้หรือแผ่นกริด ดังแสดงในรูป โดยสวิตช์ที่ใช้จะมี 6 ตัว
สำหรับเดินหน้า ถอยหลัง  เลี้ยวซ้าย เลี้ยวขวา  คีบกระป๋อง และปล่อยวางกระป๋อง 


สาย JST ขนาด 24 นิ้ว
คอนเน็กเตอร์ JST สำหรับเชื่อมต่อสายสองเส้นเข้าด้วยกัน


เชื่อมต่อสายยาวรวม 48 นิ้ว

2. นำสายไฟแบบ JST ขนาด 24 นิ้ว จำนวนสองเส้นต่อเข้าด้วยกันเพื่อให้ได้ความยาว 48 นิ้ว


เสียบสายเข้ากับแผงวงจรสวิตช์

3. นำสายไฟเสียบเข้ากับสวิตช์ทั้ง 6 ตัว ส่วนปลายอีกด้านเสียบเข้ากับ POP-BOT XT ในตำแหน่งดังนี้
สวิตช์เดินหน้า --->  ช่อง 18
สวิตช์ถอยหลัง --->  ช่อง 19
สวิตช์เลี้ยวซ้าย --->  ช่อง 20
สวิตช์เลี้ยวขวา --->  ช่อง 21
สวิตช์วางกระป๋อง --->  ช่อง 22
สวิตช์คีบกระป๋อง   --->  ช่อง 23






หุ่นยนต์เมื่อต่อสายเสร็จเรียบร้อย

4. ทำการมัดสายให้เรียบร้อย 
5 จากนั้นเขียนโปรแกรมทดสอบดังนี้
#include
void servo_open(){   
   servo(2,80);sleep(400);servo(1,140);sleep(400);   
   servo(1,-1);servo(2,-1);
}
void servo_close(){ 
  servo(1,0);sleep(1000);  servo(2,0);sleep(1000); 
  servo(1,-1);servo(2,-1);
}

void setup(){ 
  glcdMode(1);                        
  setTextSize(2);
  glcd(1,1,"Press OK");               
  sw_ok_press();          
  glcdClear();
}

void loop(){       
   if(in(18)==0){
        fd(50);glcd(1,1,"Forward   ");
   }   
   else if(in(19)==0){
bk(50);glcd(1,1,"Backward  ");
   }   
   else if(in(20)==0){
sl(50);glcd(1,1,"Spin Left ");
   }   
  else if(in(21)==0){
sr(50);glcd(1,1,"Spin Right");
   }   
   else if(in(22)==0){
        servo_open();glcd(1,1,"Servo Open ");
   }   
   else if(in(23)==0){
         servo_close();glcd(1,1,"Servo Close");
   }    
    else {
      ao();glcd(1,1,"Motor Stop");
    } 
}