แนะนำให้รู้จักกับ arduino แกะกล่อง...

93

Upload: fabian

Post on 22-Mar-2016

505 views

Category:

Documents


2 download

DESCRIPTION

ขั้นตอน การอบรม. แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์ สร้างหุ่นยนต์ POP-BOT XT ขั้นตอนการเขียนโปรแกรมเพื่อควบคุมหุ่นยนต์ พัฒนาหุ่นยนต์ให้ทำตามภารกิจ ต่างๆ การเคลื่อนที่เบื้องต้น การใช้เซนเซอร์สวิตช์ หุ่นยนต์เคลื่อนที่ตามเส้น. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์
Page 2: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

• แนะนำ�ให้รูจ้กักับ Arduino• แกะกล่อง ตรวจสอบอุปกรณ์ในชุด• ก�รติดตั้งซอฟต์แวร ์• สร�้งหุ่นยนต์ POP-BOT XT• ขัน้ตอนก�รเขยีนโปรแกรมเพื่อควบคมุหุ่น

ยนต์• พฒัน�หุ่นยนต์ให้ทำ�ต�มภ�รกิจต่�งๆ• ก�รเคลื่อนท่ีเบื้องต้น• ก�รใชเ้ซนเซอรส์วติช์• หุ่นยนต์เคลื่อนท่ีต�มเสน้

ขัน้ตอนก�รอบรม

Page 3: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

ต้นกำ�เนิด

Arduinowww.ard

uino.cc • คู่มอือ้�งอิงก�รใชง้�น• ตัวอย�่ง

ฮ�รด์แวร์• จุดกำ�เนิด

IDEA• ท่ีด�วน์โหลด

โปรแกรม• ท่ีซกัถ�มปัญห�

Page 4: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

ขอ้มูลอ้�งอิงสำ�หรบัเขยีนโปรแกรม

• ชุดคำ�สัง่• ไลบร�รี่• ตัวแปร• คำ�สงวน

Page 5: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

ต้นกำ�เนิด POP-XT

โครงก�ร Opensource จ�ก Arduino

POP-XT ของ inex

HARDWARE

Page 6: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

POP-XT

Edit + Compile + Download

C/C++

คอมไพเลอร ์Opensource

SOFTWARE

Page 7: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

คณุสมบติัของ POP-XT

• ใชไ้มโครคอนโทรลเลอร ์ATMEGA32U4 ของ ATMEL• คว�มละเอียดอ่�นค่�อะน�ลอก 10 บติ (0-1023) 1024 ระดับ • หน่วยคว�มจำ�โปรแกรม 32 กิโลไบต์ • ทำ�ง�นท่ีคว�มเรว็ 16 ล้�นคำ�สัง่ต่อวนิ�ที• เชื่อมต่อกับคอมพวิเตอรผ่์�นพอรต์ USB โดยตรงผ่�นส�ย Mini-B• มจีอ LCD กร�ฟกิสคีว�มละเอียด 128x160 พกิเซล• ขบัมอเตอรไ์ฟตรงได้ 2 ตัว เซอรโ์วมอเตอรไ์ด้ 3 ตัว• ต่อเซนเซอรอ์ะน�ลอกได้ 8 ชอ่ง

220mF

100mF

TB66

12

ATM

ega3

2U4

100

Page 8: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

ตำ�แหน่งก�รว�งอุปกรณ์ของ POP-XT

Page 9: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

อุปกรณ์อินพุต

Switch (Digital)

Reflect (Analog)

Distance (Analog)

ปุ่ม OK (Digital)

knob (Analog)

Page 10: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

อุปกรณ์เอ�ต์พุต

Servo Motor

DC Motor

ลำ�โพงเปียโซ

จอ GLCD128x160

ZX-LED

Page 11: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

ติดต้ังซอฟต์แวร์

ประกอบด้วย• ซอฟต์แวร ์Arduino 1.0

• ตัวอย�่ง POP-BOT XT• ไดรเวอร ์USB

• ไลบร�รี ่POP-BOT XT

Arduino1.0 POP-BOT XT Setup.exe

Page 12: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

1 2

3 4

Page 13: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

ติดตั้งซอฟต์แวร ์POP-BOT ลงในเครื่องคอมพวิเตอร ์พรอ้มทั้งตัวติดต้ังไดรเวอร ์USB

5

6

78

Page 14: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

เปิดโปรแกรมจ�ก Start Menu

Page 15: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

เริม่ต้นเชื่อมต่อกับคอมพวิเตอร์

1. ใสถ่่านชารจ์หรอืถ่านอัลคาไลน์ AA 4 ก้อน

2.เสยีบสาย Mini USB

3.เปิดสวติชจ์า่ยไฟให ้POP-XT ก่อน 4.เสยีบสาย USB เขา้กับคอมพวิเตอร์

Page 16: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

ก�รติดต้ังไดรเวอรกั์บ Windows XP

Page 17: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

หน้�ต�ของโปรแกรม Arduino

void setup() {

}

void loop() {

}

สำ�หรบักำ�หนดค่� เกิดขึน้ครัง้เดียว

โปรแกรมหลักทำ�ง�นต่อเนื่อง

Page 18: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

เลือกชื่อบอรด์เป็น POP-XT

Page 19: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

เลือกตำ�แหน่งพอรต์อนุกรม

Page 20: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

เปิดโปรแกรมตัวอย�่ง

Page 21: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

เป็นโปรแกรมแสดงขอ้คว�มท่ีหน้�จอ GLCD

Page 22: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

คอมไพล์ (แปลโปรแกรมท่ีเขยีนว�่ถกูไวยกรณ์หรอืไม)่

กดปุ่มนี้ก็ได้

Page 23: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

ต่อส�ย USB กับคอมพวิเตอร์

Page 24: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

upload โปรแกรมไปยงัหุ่นยนต์

หรอืกดปุ่มน้ีก็ได้

Page 25: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

แสดงผลจอภ�พPOP-BOT XT

Page 26: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

COLOR

GLCD_RED สแีดงGLCD_GREEN สเีขยีว

GLCD_BLUE สนีำ้�เงินGLCD_YELLOW สเีหลืองGLCD_BLACK สดีำ�GLCD_WHITE สขี�วGLCD_SKY สฟี�้GLCD_MAGENTA สแีดงเขม้

Page 27: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

คำ�สัง่ glcd

glcd เป็นฟงัก์ชัน่แสดงผลบน POP-XTรูปแบบ

glcd(คอลัมภ์,บรรทัด,” ”ขอ้คว�ม )

ตัวอย�่งglcd(1,0,"Hello World");

Page 28: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

คำ�สัง่ setTextSize(),setTextColor()

setTextSize เป็นฟงัก์ชัน่แสดงขน�ดขอ้คว�มบน POP-XTsetTextColor เป็นฟงัก์ชัน่แสดงสีขอ้คว�มบน POP-XTรูปแบบ

setTextSize(ขน�ดตัวอักร);setTextColor(ส)ี;

ตัวอย�่ง setTextSize(1);

setTextColor(GLCD_GREEN);

Page 29: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

คำ�สัง่ glcdFillScreen()setTextBackgroundColor()

glcdFillScreen เป็นฟงัก์ชัน่แสดงสพีื้นจอบน POP-XTsetTextBackgroundColor เป็นฟงัก์ชัน่แสดงสพีื้นขอ้คว�มบน POP-XTรูปแบบ

glcdFillScreen(สพีื้นจอ)setTextBackgroundColor(สี

พื้นขอ้คว�ม)ตัวอย�่ง glcdFillScreen(GLCD_WHITE); setTextBackgroundColor(GLCD_GREEN);

Page 30: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

คำ�สัง่ glcdMode()setTextBackgroundColor()

glcdClear เป็นฟงัก์ชัน่ล้�งหน้�จอบน POP-XTglcdMode เป็นฟงัก์ชัน่แสดงทิศท�งขอ้คว�มบน POP-XTรูปแบบ

glcdClear()glcdMode(ตัวเลขโหมด)

ตัวอย�่ง glcdClear(); glcdMode(0); //

Page 31: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

#include <popxt.h> // ผนวกไฟล์ไลบรารีห่ลักint i,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(){}

ตัวอย�่งก�รแสดงขอ้คว�มหล�ยบรรทัด

Page 32: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

หมุนจอ ขย�ยขน�ด

Page 33: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

ลำ�โพงPOP-BOT XT

Page 34: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

สร�้งเสยีงออกลำ�โพง

ลำ�โพงเปียโซ

beep()

sound(freq,time)

Page 35: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

คำ�สัง่สร�้งเสยีง

ฟงัก์ชัน่กำ�เนิดเสียงอย�่งง่�ย beep : ทำาหน้าท่ีกำาเนิดเสยีงความถ่ี 500 Hz นาน 100 มลิลิวนิาที

void beep(void);ฟงัก์ชัน่กำ�เนิดเสียงคว�มถ่ีใดๆ sound : ทำาหน้าท่ีกำาเนิดเสยีงความถ่ี ตามชว่งเวลาท่ีกำาหนด

void sound(int freq,int time);พารามเิตอร ์ freq ใชก้ำาหนดค่าความถ่ีค่าสญัญาณเสยีง

time ใชก้ำาหนดชว่งเวลาในการกำาเนิดสญัญาณเสยีงในหน่วยมลิลิวนิาที

Page 36: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

สร้�งสัญญ�ณเสียงต๊ิดทุกๆ 1 วนิ�ที

#include <popxt.h>void setup(){

}void loop(){ beep(); sleep(1000);}

Page 37: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

สร้�งสัญญ�ณเสียงคว�มถ่ี 1200 Hz ดังน�น 0.5 วิน�ที โดยเว้นห้วงทุกๆ 1

วิน�ที

#include <popxt.h>void setup(){

}void loop(){ sound(1200,500); sleep(1000);}

Page 38: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

ตัวเลือก knobPOP-BOT XT

Page 39: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์
Page 40: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

knob เป็นฟงัก์ชัน่อ่�นค่� knob บน POP-XT เหมอืนคำ�สัง่ analog(8) ค่�อยูใ่นชว่ง 80-1023 รูปแบบ

unsigned int knob()ก�รคืนค่�

ค่�ท่ีอ่�นได้จ�ก knob มค่ี�ระหว�่ง 80-1023ตัวอย�่งint val=0; // กำ�หนดค่�ตัวแปรสำ�หรบัเก็บค่�อะน�ลอกval=knob(); // อ่�นค่�จ�ก knob เก็บค่�ในตัวแปร valglcd("%d",val); // นำ�ค่�แสดงท่ี GLCD

knob()

Page 41: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

#include <popxt.h> void setup(){

} void loop(){ glcd(1,0,"Knob value"); glcd(2,2,"%d ",knob()); }

Page 42: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

หน่วงเวล� sleepPOP-BOT XT

Page 43: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

Sleep() เป็นฟงัก์ชัน่หน่วงเวล� บน POP-XTรูปแบบ

unsigned int sleep()ก�รคืนค่�

ค่�ท่ีอ่�นได้จ�ก sleep จะกำ�หนดค่�เป็น Microsecondเชน่ ห�กต้องก�รกำ�หนดเวล� 1 วนิ�ทีให้กำ�หนดค่�ดังน้ี sleep(1000);

Page 44: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

ก�รใช ้SWPOP-BOT XT

Page 45: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

เป็นฟงัก์ชัน่วนตรวจสอบก�รกดสวติช ์OK บนบอรด์ POP-XT ต้องรอจนกระท่ัง SW1 ถกูปล่อยหลังจ�กมกี�รกดสวติช ์จงึจะผ่�นฟงัก์ชัน่นี้ไปทำ�ง�นคำ�สัง่อ่ืนๆ

ตัวอย�่ง......sw_ok_press(); // รอจนกระทั่งกด

สวติช ์OK ......

sw_ok_press()

Page 46: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

sw_ok() เป็นฟงัก์ชัน่ตรวจสอบสวติช ์OK บน POP-XT ให้สถ�นะจรงิเมื่อกดสวติชแ์ละเป็นเท็จเมื่อไมก่ดสวติช์รูปแบบ

unsigned char sw_ok()ก�รคืนค่�

1 (เป็นจรงิ) เมื่อกดสวติช์0 (เป็นเท็จ) เมื่อไมก่ดสวติช์

ตัวอย�่งif(sw_ok()){

beep();}

sw_ok()

Page 47: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

ก�รขบัเคล่ือน POP-BOT XT

Page 48: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

ชุดเฟอืงขบัมอเตอรอั์ตร�ทด 48:1

Page 49: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

ภ�ยในชุดเฟอืงขบัมอเตอร์

Page 50: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

BATTERY

+-

M

BATTERY

-+

M

ควบคมุทิศท�งของมอเตอรด้์วยทิศท�งของกระแสไฟฟ�้

ก�รกำ�หนดทิศท�งของมอเตอร์

Page 51: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

รูปแบบ void motor(char ch,int pow)

พ�ร�มเิตอร ์ ch ใชก้ำ�หนดชอ่งขบัต้ังแต่ 1 ถึง 2pow ใชก้ำ�หนดขน�ดกำ�ลังขบั -100 ถึง 100

• กรณีขบัด้วยกำ�ลัง 1 ถึง 100 ไฟสถ�นะประจำ�ชอ่งติดเป็นสเีขยีว• กรณีขบัด้วยกำ�ลัง -1 ถึง -100 ไฟสถ�นะประจำ�ชอ่งติดเป็นสแีดง(ทิศก�รหมุน

ตรงข�้มกับขบั

ด้วยกำ�ลังเป็นบวก)

ฟงัก์ชัน่ motor สำ�หรบัขบัมอเตอรไ์ฟตรง

Speed คือคว�มเรว็หุ่นยนต์ 0-100

Page 52: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

เดินหน้� รูปแบบmotor(1,กำ�ลังมอเตอร)์;motor(2,กำ�ลังมอเตอร)์;ตัวอย�่งmotor(1,100);motor(2,100);

ฟงัก์ชัน่ motor

Page 53: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

ถอยหลัง รูปแบบmotor(1,-กำ�ลังมอเตอร)์;motor(2,-กำ�ลังมอเตอร)์;ตัวอย�่งmotor(1,-100);motor(2,-100);

ฟงัก์ชัน่ motor

Page 54: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

เล้ียวซ�้ยล้อเดียว (เล้ียววงกว�้ง)รูปแบบmotor(1,0);motor(2,กำ�ลังมอเตอร)์;ตัวอย�่งmotor(1,0);motor(2,100);

ฟงัก์ชัน่ motor

Page 55: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

เล้ียวขว�ล้อเดียว (เล้ียววงกว�้ง)รูปแบบmotor(1, กำ�ลังมอเตอร)์;motor(2,0);ตัวอย�่งmotor(1,100);motor(2,0);

ฟงัก์ชัน่ motor

Page 56: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

เล้ียวซ�้ย 2 ล้อ (เล้ียววงแคบ)รูปแบบmotor(1,-กำ�ลังมอเตอร)์;motor(2, กำ�ลังมอเตอร)์;ตัวอย�่งmotor(1,-100);motor(2,100);

ฟงัก์ชัน่ motor

Page 57: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

เล้ียวขว� 2 ล้อ (เล้ียววงแคบ)รูปแบบmotor(1, กำ�ลังมอเตอร)์;motor(2, -กำ�ลังมอเตอร)์;ตัวอย�่งmotor(1,100);motor(2,-100);

ฟงัก์ชัน่ motor

Page 58: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

รูปแบบ void motor_stop(char ch)

พ�ร�มเิตอร ์ ch ใชก้ำ�หนดชอ่งขบัต้ังแต่ 1 ถึง 2 ในกรณีท่ีต้องก�รหยุดขบัทกุชอ่งพรอ้มกันส�ม�รถกำ�หนดเป็น ALL

กรณีหยุดมอเตอร ์2 ตัวพรอ้มกัน ส�ม�รถใชค้ำ�สัง่ ao() แทนได้motor_stop(1); มอเตอร ์1 หยุดmotor_stop(2); มอเตอร ์2 หยุด

motor_stop(ALL); มอเตอร ์2 ตัวหยุดพรอ้มกัน

ฟงัก์ชัน่ motor_stop สำ�หรบัหยุดขบัมอเตอรไ์ฟตรงต�มชอ่ง

ท่ีกำ�หนด

Page 59: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

fd(Speed); เดินหน้�bk(Speed); ถอยหลัง

sl(Speed); เล้ียวซ�้ย 2 ล้อ(วงแคบ)sr(Speed); เล้ียวขว� 2 ล้อ (วงแคบ)ao() ;หยุด

tl(Speed); เล้ียวซ�้ยล้อเดียว(วงกว�้ง)tr(Speed);เล้ียวขว�ล้อเดียว(วงกว�้ง)

Page 60: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

#include <popxt.h>void setup(){

fd(100);}void loop() {

}

ก�รปรบัแต่งเพื่อให้หุ่นยนต์เคลื่อนที่ตรง

Page 61: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

fd2(Speed1,speed2); เดินหน้�

bk2(Speed1,speed2); ถอยหลัง

Speed1 คือมอเตอรด้์�นซ�้ยSpeed2 คือมอเตอรด้์�นขว�

Page 62: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

หุ่นยนต์เดินวนเป็นรูปสีเ่หล่ียม

Rectangle_running.ino

Page 63: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

ก�รใช ้ZX-SWITCHPOP-BOT

XT

Page 64: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

แผงวงจรสวติช:์ ZX-SWITCH

คณุสมบติัท�งเทคนิค• ถ้�สวติชถ์กูกดจะอ่�นค่�ขอ้มูลได้เป็นลอจกิ “0” พรอ้มกับ

ไฟแสดงสถ�นะติดสว�่ง • ถ้�สวติชไ์มถ่กูกดจะอ่�นค่�ขอ้มูลได้เป็นลอจกิ “1”

Page 65: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

สำ�หรบัอ่�นค่�สญัญ�ณแบบดิจติอลจ�กข�พอรต์ใดๆของบอรด์ควบคมุหลักรูปแบบ

char in(char _bit);พ�ร�มเิตอร ์ _bit ใชก้ำ�หนดตำ�แหน่งหม�ยเลขพอรต์ท่ีต้องก�รติดต่อก�รคืนค่� ฟงัก์ชัน่จะทำ�ก�รคืนค่�สญัญ�ณดิจติอลของตำ�แหน่งข�พอรต์ท่ีอ่�นซึง่อ�จมีค่�เป็น 0 หรอื 1 เท่�นัน้

ฟงัก์ชัน่ in

Page 66: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

ต่อ ZX-SWITCH เข�้กับพอรต์ 22 และ 23

Page 67: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

หุ่นยนต์รถบงัคับ

ลักษณะเง่ือนไขซ�้ย(22)

ขว�(23)เดินหน้� กด (0)กด(0)เล้ียวซ�้ย กด (0) ไม่กด(1)เล้ียวขว� ไมก่ด(1) กด(0)หยุด ไมก่ด(1) ไม่กด(1)

Page 68: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

หุ่นยนต์รถบงัคับ

void loop(){

if(in(22)==0 && in(23)==0) { fd(60); }

else if(in(22)==0) { tl(60); }

else if(in(23)==0) { tr(60); }

else { ao(); }}

Page 69: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

เมื่อมกี�รติดต้ังเซนเซอรต์รวจจบัก�รชน

Page 70: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

หุ่นยนต์เดินหลบกำ�แพง

ลักษณะเง่ือนไขซ�้ย(22)ขว�(23)

ถอยหลังกลับตัวกด (0)กด(0)ถอยหลังเล้ียวขว� กด (0)

ไมก่ด(1)ถอยหลังเล้ียวซ�้ย ไมก่ด(1)กด(0)เดินหน้� ไมก่ด(1) ไมก่ด(1)

Page 71: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

ต่อ ZX-SWITCH เข�้กับพอรต์ 22 และ 23

Page 72: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

แผงวงจรตรวจจบัแสงสะท้อน: ZX-03

Page 73: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

อ่�นค่�ผลแสงสะท้อน: ZX-03#include <popxt.h>void setup(){glcd(1,1,“Press OK“);sw_ok_press();}void loop(){glcd(1,1,"L=%d",analog(0));glcd(1,1,"L=%d",analog(1));sleep(100);}

Page 74: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

อ่�นค่�พื้นผิวสดีำ�

อ่�นค่�พื้นผิวสขี�ว

อ่�นค่�ผลลัพธจ์�กก�รสะท้อนแสง

ห�ค่�กล�ง =(ค่�ของสีข�ว-ค่�ของสีดำ�)/2 400 = (900-100)/2

Page 75: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

ยกหุ่นยนต์ขึน้จ�กพื้นแล้วมเีสยีงเตือน

void loop(){

if(analog(0)<20) {

sound(2500,500); glcdFillScreen(GLCD_RED);

} else { glcdClear(); }}

Page 76: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

หุ่นยนต์เดินไมต่กโต๊ะ

ลักษณะเง่ือนไขซ�้ย(0) ขว�(1)

ถอยหลังกลับตัว<400<400ถอยหลังเล้ียวขว� <400

>400ถอยหลังเล้ียวซ�้ย >400

<400เดินหน้� >400>400

Page 77: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

หุ่นยนต์เดินไมต่กโต๊ะ

void loop(){

if(analog(0)<400 && analog(1)<400) {

bk(50);sleep(500);sr(50);sleep(500);

} else if(analog(0)<400) {

bk(50);sleep(500);tr(50);sleep(300);

}

else if(analog(1)<400){ bk(50);sleep(500); sl(50);sleep(300);}else fd(50);}

Page 78: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

หุ่นยนต์เดินม�หยุดท่ีเสน้สดีำ�

Page 79: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

หุ่นยนต์เดินม�หยุดท่ีเสน้สดีำ� แบบท่ี 1

#include <popxt.h>void setup(){glcd(1,1,“Press OK“);sw_ok_press();fd(60);while(analog(0)>400);ao();}void loop(){)

Page 80: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

หุ่นยนต์เดินม�หยุดท่ีเสน้สดีำ�ด้วยก�รเบรก

#include <popxt.h>void setup(){

glcd(1,1,“Press OK“);sw_ok_press();fd(60);while(analog(0)>400);bk(100);Sleep(100);ao();}

Page 81: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

สัง่ให้หุ่นยนต์เดินหน้�ตรงต่อไป

1if(analog(0)>400 && analog(1)>400)

{fd(50);sleep(10);

}

Page 82: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

สัง่ให้หุ่นยนต์เล้ียวซ�้ยเพื่อกลับไปครอ่มเสน้

2if(analog(0)<400 && analog(1)>400)

{tr(50);sleep(10);

}

Page 83: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

สัง่ให้หุ่นยนต์เล้ียวขว�เพื่อกลับไปครอ่มเสน้

3if(analog(0)>400 && analog(1)<400)

{tl(50);sleep(10);

}

Page 84: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

กำ�หนดก�รทำ�ง�นหยุด

4if(analog(0)<400 && analog(1)<400)

{ao();

}

Page 85: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

เขยีนโปรแกรมทดสอบกับสน�มขัน้พื้นฐ�น

Page 86: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

เมื่อเจอเสน้ตัดสง่เสยีงบีป๊

Page 87: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

ก�รเล้ียว 90 องศ�พอดีเมื่อเจอเสน้ตัด

Page 88: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

เดินต�มเสน้ท�งแยกท่ีซบัซอ้น

Page 89: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

เดินต�มเสน้ท�งแยกท่ีซบัซอ้น

Page 90: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

ณัฏฐกิ� หลอดแก้วโรงเรยีนบ�งปล�ม�้ สงูสมุ�ร“

ผดงุวทิย”์[email protected]โทร .081-1968869

Page 91: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

   

click on the images to enlarge

POPBOT-XT Features:•ATmel ATmega32U4 MCU, 10-bit A/D converter with 12-channel, 32KB of flash program memory, 1KB of EEPROM, 2.5KB of RAM and 16MHz clock frequency.•25-I/O port and assign to 12 of 3-pin JST connectors for interfacing with sensors and peripherals•Screw terminal block for battery connections. It supports +4.8 to +12Vdc and has an on-board power switch.•+5Vdc switching regulator power supply circuit. Its regulates the supply voltage for microcontroller devices and all sensor ports.•128x160 pixels color graphic LCD stack board. includes KNOB, OK and RESET button. This display board onlu supports line-art graphic, vector graphic, color background and text (no support the image file).•8-Universal port support Analog input functions and Digital input/output function; A0 to A7 (18 to 23, 4 and 6 digital pin)•I2C bus port; SDA (2) and SCL (3)•UART port; RxD (0) and TxD (1)•2-ch. DC motor driver with indicators. Supports motor voltage of 2.5 to 13.5Vdc.•3-Servo motor output; connect with the digital port 30 (SV1), 12 (SV2) and 13 (SV3).•Piezo speaker connections. It is connected with digital port 11.•LED power and Low battery indicator•Direct USB port connection for communication and upload the running code•ISP pad for upgrading and firmware recovery by using the external In-System Programming (AVR-ISP mark II from Atmel is recommended)

Page 92: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

• อบรมการเขยีนโปรแกรมควบคมุสมองกลฝังตัวด้วยภาษาซ ีวนัท่ี 15-16 ตลุาคม 2555จดัโดย คณะวศิวกรรมศาสตร ์ม.เทคโนโลยรีาชมงคลณ โรงเรยีนแมล่าน้อยดรุณสกิข์

• โครงงานท่ี 1 ตรวจควนัไฟในหอ้งโครงงานท่ี 2 นับผู้เขา้หอ้งสมุดโครงงานท่ี 3 คัดแยกมะเขีอืเทศโครงงานท่ี 4 เครื่องเตือนไฟไหมป่้าโครงงานท่ี 5 เครื่องเปิดปิดนำ้าอัตโนมติัเพื่อเล้ียงไก่

• โครงงานท่ี 6 รถนำ้าผักอัตโนมติั กำาหนดเวลาโครงงานท่ี 7 แท่นโชวส์นิค้านิรภัยโครงงานท่ี 8 เครื่องวดัสว่นสงูดิจติอลโครงงานท่ี 9 พดัลมอัจฉรยิะโครงงานท่ี 10 เครื่องรดนำ้าอัตโนมติัโครงงานท่ี่ 11 เครื่องเก็บผ้า(ตาก)อัตโนมติั

Page 93: แนะนำให้รู้จักกับ Arduino แกะกล่อง ตรวจสอบอุปกรณ์ในชุด การติดตั้งซอฟต์แวร์

• ใชส้ื่อภาพประกอบ งานนำาเสนอ พูดปากเปล่า• ไอเดียรดี์ ใชเ้รื่องใกล้ตัว• ฟงัใหเ้ยอะ บอรด์ทำาอะไรได้บา้ง