1.11k likes | 2.32k Views
ขั้นตอน การอบรม. แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์ สร้างหุ่นยนต์ POP-BOT XT ขั้นตอนการเขียนโปรแกรมเพื่อควบคุมหุ่นยนต์ พัฒนาหุ่นยนต์ให้ทำตามภารกิจ ต่างๆ การเคลื่อนที่เบื้องต้น การใช้เซนเซอร์สวิตช์ หุ่นยนต์เคลื่อนที่ตามเส้น.
E N D
ขั้นตอนการอบรม • แนะนำให้รู้จักกับ Arduino • แกะกล่อง ตรวจสอบอุปกรณ์ในชุด • การติดตั้งซอฟต์แวร์ • สร้างหุ่นยนต์ POP-BOT XT • ขั้นตอนการเขียนโปรแกรมเพื่อควบคุมหุ่นยนต์ • พัฒนาหุ่นยนต์ให้ทำตามภารกิจต่างๆ • การเคลื่อนที่เบื้องต้น • การใช้เซนเซอร์สวิตช์ • หุ่นยนต์เคลื่อนที่ตามเส้น
ต้นกำเนิด Arduino www.arduino.cc • คู่มืออ้างอิงการใช้งาน • ตัวอย่างฮาร์ดแวร์ • จุดกำเนิด IDEA • ที่ดาวน์โหลดโปรแกรม • ที่ซักถามปัญหา
ข้อมูลอ้างอิงสำหรับเขียนโปรแกรมข้อมูลอ้างอิงสำหรับเขียนโปรแกรม • ชุดคำสั่ง • ไลบรารี่ • ตัวแปร • คำสงวน
ต้นกำเนิด POP-XT HARDWARE POP-XT ของ inex โครงการ Opensourceจาก Arduino
SOFTWARE POP-XT คอมไพเลอร์ Opensource C/C++ Edit + Compile + Download
คุณสมบัติของ POP-XT • ใช้ไมโครคอนโทรลเลอร์ ATMEGA32U4 ของ ATMEL • ความละเอียดอ่านค่าอะนาลอก 10 บิต (0-1023) 1024 ระดับ • หน่วยความจำโปรแกรม 32 กิโลไบต์ • ทำงานที่ความเร็ว 16 ล้านคำสั่งต่อวินาที • เชื่อมต่อกับคอมพิวเตอร์ผ่านพอร์ต USB โดยตรงผ่านสาย Mini-B • มีจอ LCD กราฟิกสีความละเอียด 128x160 พิกเซล • ขับมอเตอร์ไฟตรงได้ 2 ตัว เซอร์โวมอเตอร์ได้ 3 ตัว • ต่อเซนเซอร์อะนาลอกได้ 8 ช่อง
ตำแหน่งการวางอุปกรณ์ของ POP-XT
อุปกรณ์อินพุต knob(Analog) ปุ่ม OK (Digital) Switch(Digital) Reflect(Analog) Distance(Analog)
อุปกรณ์เอาต์พุต Servo Motor DC Motor จอ GLCD 128x160 ZX-LED ลำโพงเปียโซ
ติดตั้งซอฟต์แวร์ Arduino1.0 POP-BOT XT Setup.exe ประกอบด้วย • ซอฟต์แวร์ Arduino 1.0 • ไลบรารี่ POP-BOT XT • ตัวอย่าง POP-BOT XT • ไดรเวอร์ USB
1 2 3 4
ติดตั้งซอฟต์แวร์ POP-BOT ลงในเครื่องคอมพิวเตอร์พร้อมทั้งตัวติดตั้งไดรเวอร์ USB 6 5 8 7
เริ่มต้นเชื่อมต่อกับคอมพิวเตอร์เริ่มต้นเชื่อมต่อกับคอมพิวเตอร์ 2.เสียบสาย Mini USB 1. ใส่ถ่านชาร์จหรือถ่านอัลคาไลน์ AA 4 ก้อน 3.เปิดสวิตช์จ่ายไฟให้ POP-XT ก่อน 4.เสียบสาย USB เข้ากับคอมพิวเตอร์
การติดตั้งไดรเวอร์กับ Windows XP
หน้าตาของโปรแกรม Arduino void setup() { } void loop() { } สำหรับกำหนดค่า เกิดขึ้นครั้งเดียว โปรแกรมหลักทำงานต่อเนื่อง
เลือกชื่อบอร์ดเป็น POP-XT
เลือกตำแหน่งพอร์ตอนุกรมเลือกตำแหน่งพอร์ตอนุกรม
คอมไพล์ (แปลโปรแกรมที่เขียนว่าถูกไวยกรณ์หรือไม่) กดปุ่มนี้ก็ได้
ต่อสาย USB กับคอมพิวเตอร์
uploadโปรแกรมไปยังหุ่นยนต์uploadโปรแกรมไปยังหุ่นยนต์ หรือกดปุ่มนี้ก็ได้
แสดงผลจอภาพ POP-BOTXT
COLOR GLCD_RED สีแดง GLCD_GREEN สีเขียว GLCD_BLUE สีน้ำเงิน GLCD_YELLOW สีเหลือง GLCD_BLACK สีดำ GLCD_WHITE สีขาว GLCD_SKY สีฟ้า GLCD_MAGENTA สีแดงเข้ม
คำสั่งglcd glcdเป็นฟังก์ชั่นแสดงผลบน POP-XT รูปแบบ glcd(คอลัมภ์,บรรทัด,”ข้อความ”) ตัวอย่าง glcd(1,0,"Hello World");
คำสั่งsetTextSize(),setTextColor() setTextSizeเป็นฟังก์ชั่นแสดงขนาดข้อความบน POP-XT setTextColorเป็นฟังก์ชั่นแสดงสีข้อความบน POP-XT รูปแบบ setTextSize(ขนาดตัวอักร); setTextColor(สี); ตัวอย่าง setTextSize(1); setTextColor(GLCD_GREEN);
คำสั่งglcdFillScreen() setTextBackgroundColor() glcdFillScreenเป็นฟังก์ชั่นแสดงสีพื้นจอบน POP-XT setTextBackgroundColorเป็นฟังก์ชั่นแสดงสีพื้นข้อความบน POP-XT รูปแบบ glcdFillScreen(สีพื้นจอ) setTextBackgroundColor(สีพื้นข้อความ) ตัวอย่าง glcdFillScreen(GLCD_WHITE); setTextBackgroundColor(GLCD_GREEN);
คำสั่งglcdMode() setTextBackgroundColor() glcdClearเป็นฟังก์ชั่นล้างหน้าจอบน POP-XT glcdModeเป็นฟังก์ชั่นแสดงทิศทางข้อความบน POP-XT รูปแบบ glcdClear() glcdMode(ตัวเลขโหมด) ตัวอย่าง glcdClear(); glcdMode(0); //
ตัวอย่างการแสดงข้อความหลายบรรทัดตัวอย่างการแสดงข้อความหลายบรรทัด #include <popxt.h> // ผนวกไฟล์ไลบรารี่หลัก inti,j; void setup(){ glcdFillScreen(GLCD_WHITE); // กำหนดให้สีของพื้นหลังเป็นสีขาว setTextColor(GLCD_BLACK); // กำหนดสีตัวอักษรเป็นสีดำ setTextBackgroundColor(GLCD_WHITE); // กำหนดสีพื้นหลังของตัวอักษรเป็นสี ขาว for (i=0;i<16;i++){ // วนลู ป 16 รอบเพื่ อแสดงข้ อความ glcd(i,i,"Row %d ",i); // แสดงข้ อความที่ จอแสดงผล } } void loop(){}
ลำโพง POP-BOTXT
สร้างเสียงออกลำโพง beep() sound(freq,time) ลำโพงเปียโซ
คำสั่งสร้างเสียง ฟังก์ชั่นกำเนิดเสียงอย่างง่าย beep : ทำหน้าที่กำเนิดเสียงความถี่ 500 Hz นาน 100 มิลลิวินาที void beep(void); ฟังก์ชั่นกำเนิดเสียงความถี่ใดๆsound : ทำหน้าที่กำเนิดเสียงความถี่ ตามช่วงเวลาที่กำหนด void sound(intfreq,int time); พารามิเตอร์freqใช้กำหนดค่าความถี่ค่าสัญญาณเสียง timeใช้กำหนดช่วงเวลาในการกำเนิดสัญญาณเสียงในหน่วยมิลลิวินาที
สร้างสัญญาณเสียงติ๊ดทุกๆ 1 วินาที #include <popxt.h> void setup(){ } void loop(){ beep(); sleep(1000); }
สร้างสัญญาณเสียงความถี่ 1200 Hz ดังนาน 0.5 วินาที โดยเว้นห้วงทุกๆ 1 วินาที #include <popxt.h> void setup(){ } void loop(){ sound(1200,500); sleep(1000); }
ตัวเลือก knob POP-BOTXT
knob() knobเป็นฟังก์ชั่นอ่านค่า knob บน POP-XT เหมือนคำสั่ง analog(8) ค่าอยู่ในช่วง 80-1023 รูปแบบ unsigned int knob() การคืนค่า ค่าที่อ่านได้จาก knob มีค่าระหว่าง 80-1023 ตัวอย่าง intval=0; // กำหนดค่าตัวแปรสำหรับเก็บค่าอะนาลอก val=knob(); // อ่านค่าจาก knob เก็บค่าในตัวแปร val glcd("%d",val); // นำค่าแสดงที่ GLCD
#include <popxt.h> void setup() { } void loop() { glcd(1,0,"Knob value"); glcd(2,2,"%d ",knob()); }
หน่วงเวลา sleep POP-BOTXT
Sleep()เป็นฟังก์ชั่นหน่วงเวลา บน POP-XT รูปแบบ unsigned int sleep() การคืนค่า ค่าที่อ่านได้จาก sleep จะกำหนดค่าเป็น Microsecond เช่น หากต้องการกำหนดเวลา 1 วินาทีให้กำหนดค่าดังนี้ sleep(1000);
การใช้ SW POP-BOTXT
sw_ok_press() เป็นฟังก์ชั่นวนตรวจสอบการกดสวิตช์ OK บนบอร์ด POP-XT ต้องรอจนกระทั่ง SW1 ถูกปล่อยหลังจากมีการกดสวิตช์ จึงจะผ่านฟังก์ชั่นนี้ไปทำงานคำสั่งอื่นๆ ตัวอย่าง ...... sw_ok_press(); // รอจนกระทั่งกดสวิตช์ OK ......
sw_ok() sw_ok() เป็นฟังก์ชั่นตรวจสอบสวิตช์ OK บน POP-XT ให้สถานะจริงเมื่อกดสวิตช์และเป็นเท็จเมื่อไม่กดสวิตช์ รูปแบบ unsigned char sw_ok() การคืนค่า 1 (เป็นจริง) เมื่อกดสวิตช์ 0 (เป็นเท็จ) เมื่อไม่กดสวิตช์ ตัวอย่าง if(sw_ok()) { beep(); }
การขับเคลื่อน POP-BOTXT
ภายในชุดเฟืองขับมอเตอร์ภายในชุดเฟืองขับมอเตอร์
การกำหนดทิศทางของมอเตอร์การกำหนดทิศทางของมอเตอร์ ควบคุมทิศทางของมอเตอร์ด้วยทิศทางของกระแสไฟฟ้า