Submit Search
Upload
เริ่มต้นการเขียนโปรแกรมหุ่นยนต์
•
Download as PPTX, PDF
•
26 likes
•
54,271 views
Wittayakorn Yasingthong
Follow
เริ่มต้นการเขียนโปรแกรมหุ่นยนต์
Read less
Read more
Technology
Report
Share
Report
Share
1 of 118
Download now
Recommended
เริ่มต้นใช้งานชุดกล่องสมองกล IPST-SE
เริ่มต้นใช้งานชุดกล่องสมองกล IPST-SE
Innovative Experiment Co.,Ltd.
POP-X2 Education Kit Presentation
POP-X2 Education Kit Presentation
Innovative Experiment Co.,Ltd.
การใช้งานหุ่นยนต์ IPST-MicroBOX SE (i-BOT)
การใช้งานหุ่นยนต์ IPST-MicroBOX SE (i-BOT)
Innovative Experiment Co.,Ltd.
Pop x2 FireBOT present
Pop x2 FireBOT present
Innovative Experiment Co.,Ltd.
คอมพิวเตอร์เบื้องต้น
คอมพิวเตอร์เบื้องต้น
Nuttanun Wisetsumon
POP-7 Robot with RQ-7 Platform (PDF)
POP-7 Robot with RQ-7 Platform (PDF)
Innovative Experiment Co.,Ltd.
การใช้งานหุ่นยนต์ RQ-BOT จากชุด Robo-Creator XT
การใช้งานหุ่นยนต์ RQ-BOT จากชุด Robo-Creator XT
Innovative Experiment Co.,Ltd.
กระดาษคำตอบ20ข้อ
กระดาษคำตอบ20ข้อ
wisheskerdsilp
Recommended
เริ่มต้นใช้งานชุดกล่องสมองกล IPST-SE
เริ่มต้นใช้งานชุดกล่องสมองกล IPST-SE
Innovative Experiment Co.,Ltd.
POP-X2 Education Kit Presentation
POP-X2 Education Kit Presentation
Innovative Experiment Co.,Ltd.
การใช้งานหุ่นยนต์ IPST-MicroBOX SE (i-BOT)
การใช้งานหุ่นยนต์ IPST-MicroBOX SE (i-BOT)
Innovative Experiment Co.,Ltd.
Pop x2 FireBOT present
Pop x2 FireBOT present
Innovative Experiment Co.,Ltd.
คอมพิวเตอร์เบื้องต้น
คอมพิวเตอร์เบื้องต้น
Nuttanun Wisetsumon
POP-7 Robot with RQ-7 Platform (PDF)
POP-7 Robot with RQ-7 Platform (PDF)
Innovative Experiment Co.,Ltd.
การใช้งานหุ่นยนต์ RQ-BOT จากชุด Robo-Creator XT
การใช้งานหุ่นยนต์ RQ-BOT จากชุด Robo-Creator XT
Innovative Experiment Co.,Ltd.
กระดาษคำตอบ20ข้อ
กระดาษคำตอบ20ข้อ
wisheskerdsilp
แบบทดสอบ ดนตรี ม.6
แบบทดสอบ ดนตรี ม.6
teerachon
โครงงานคณิตบทที่ 1
โครงงานคณิตบทที่ 1
Jutarat Bussadee
เลขยกกำลัง
เลขยกกำลัง
สุรภา เสนาบูรณ์
โจทย์ปัญหาการบวกลบระคนป.1
โจทย์ปัญหาการบวกลบระคนป.1
ทับทิม เจริญตา
การใช้งานหุ่นยนต์ i-BIT หุ่นยนต์ micro:bit ด้วย Microsoft Make Code
การใช้งานหุ่นยนต์ i-BIT หุ่นยนต์ micro:bit ด้วย Microsoft Make Code
Innovative Experiment Co.,Ltd.
ฝึกอ่านคำศัพท์
ฝึกอ่านคำศัพท์
kunkrukularb
การตั้งสมมติฐานและการกำหนดตัวแปร
การตั้งสมมติฐานและการกำหนดตัวแปร
DuangdenSandee
โจทย์ปัญหาการหารไม่มีเศษป.2
โจทย์ปัญหาการหารไม่มีเศษป.2
ทับทิม เจริญตา
ข้อสอบความคิดสร้างสรรค์
ข้อสอบความคิดสร้างสรรค์
Jirathorn Buenglee
ปุ่ม Keyboard
ปุ่ม Keyboard
pavinee2515
สถิติ เบื้องต้น 2
สถิติ เบื้องต้น 2
ปรัชญาทวี พงพยัคฆ์
อนุกรมเรขาคณิต
อนุกรมเรขาคณิต
นายสมพร เหล่าทองสาร โรงเรียนดงบังพิสัยนวการนุสรณ์ อำเภอนาดูน จังหวัดมหาสารคาม
ฟังก์ชันเชิงเส้น
ฟังก์ชันเชิงเส้น
Y'Yuyee Raksaya
ลำดับเรขาคณิต (Geometric sequence)
ลำดับเรขาคณิต (Geometric sequence)
นายสมพร เหล่าทองสาร โรงเรียนดงบังพิสัยนวการนุสรณ์ อำเภอนาดูน จังหวัดมหาสารคาม
ลิลิตตะเลงพ่าย
ลิลิตตะเลงพ่าย
enksodsoon
ไฟฟ้ากระแส
ไฟฟ้ากระแส
Chanthawan Suwanhitathorn
04 บทที่ 4-ผลการดำเนินโครงงาน
04 บทที่ 4-ผลการดำเนินโครงงาน
Tanyarad Chansawang
จำนวนเชิงซ้อนไม่ซับซ้อนอย่างที่คิด
จำนวนเชิงซ้อนไม่ซับซ้อนอย่างที่คิด
Owen Inkeaw
Relations
Relations
Aon Narinchoti
โครงงานน้ำหมักชีวภาพ
โครงงานน้ำหมักชีวภาพ
Kris Niyomphandh
การเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา C
Warawut
Algorithm Flowchart
Algorithm Flowchart
Warawut
More Related Content
What's hot
แบบทดสอบ ดนตรี ม.6
แบบทดสอบ ดนตรี ม.6
teerachon
โครงงานคณิตบทที่ 1
โครงงานคณิตบทที่ 1
Jutarat Bussadee
เลขยกกำลัง
เลขยกกำลัง
สุรภา เสนาบูรณ์
โจทย์ปัญหาการบวกลบระคนป.1
โจทย์ปัญหาการบวกลบระคนป.1
ทับทิม เจริญตา
การใช้งานหุ่นยนต์ i-BIT หุ่นยนต์ micro:bit ด้วย Microsoft Make Code
การใช้งานหุ่นยนต์ i-BIT หุ่นยนต์ micro:bit ด้วย Microsoft Make Code
Innovative Experiment Co.,Ltd.
ฝึกอ่านคำศัพท์
ฝึกอ่านคำศัพท์
kunkrukularb
การตั้งสมมติฐานและการกำหนดตัวแปร
การตั้งสมมติฐานและการกำหนดตัวแปร
DuangdenSandee
โจทย์ปัญหาการหารไม่มีเศษป.2
โจทย์ปัญหาการหารไม่มีเศษป.2
ทับทิม เจริญตา
ข้อสอบความคิดสร้างสรรค์
ข้อสอบความคิดสร้างสรรค์
Jirathorn Buenglee
ปุ่ม Keyboard
ปุ่ม Keyboard
pavinee2515
สถิติ เบื้องต้น 2
สถิติ เบื้องต้น 2
ปรัชญาทวี พงพยัคฆ์
อนุกรมเรขาคณิต
อนุกรมเรขาคณิต
นายสมพร เหล่าทองสาร โรงเรียนดงบังพิสัยนวการนุสรณ์ อำเภอนาดูน จังหวัดมหาสารคาม
ฟังก์ชันเชิงเส้น
ฟังก์ชันเชิงเส้น
Y'Yuyee Raksaya
ลำดับเรขาคณิต (Geometric sequence)
ลำดับเรขาคณิต (Geometric sequence)
นายสมพร เหล่าทองสาร โรงเรียนดงบังพิสัยนวการนุสรณ์ อำเภอนาดูน จังหวัดมหาสารคาม
ลิลิตตะเลงพ่าย
ลิลิตตะเลงพ่าย
enksodsoon
ไฟฟ้ากระแส
ไฟฟ้ากระแส
Chanthawan Suwanhitathorn
04 บทที่ 4-ผลการดำเนินโครงงาน
04 บทที่ 4-ผลการดำเนินโครงงาน
Tanyarad Chansawang
จำนวนเชิงซ้อนไม่ซับซ้อนอย่างที่คิด
จำนวนเชิงซ้อนไม่ซับซ้อนอย่างที่คิด
Owen Inkeaw
Relations
Relations
Aon Narinchoti
โครงงานน้ำหมักชีวภาพ
โครงงานน้ำหมักชีวภาพ
Kris Niyomphandh
What's hot
(20)
แบบทดสอบ ดนตรี ม.6
แบบทดสอบ ดนตรี ม.6
โครงงานคณิตบทที่ 1
โครงงานคณิตบทที่ 1
เลขยกกำลัง
เลขยกกำลัง
โจทย์ปัญหาการบวกลบระคนป.1
โจทย์ปัญหาการบวกลบระคนป.1
การใช้งานหุ่นยนต์ i-BIT หุ่นยนต์ micro:bit ด้วย Microsoft Make Code
การใช้งานหุ่นยนต์ i-BIT หุ่นยนต์ micro:bit ด้วย Microsoft Make Code
ฝึกอ่านคำศัพท์
ฝึกอ่านคำศัพท์
การตั้งสมมติฐานและการกำหนดตัวแปร
การตั้งสมมติฐานและการกำหนดตัวแปร
โจทย์ปัญหาการหารไม่มีเศษป.2
โจทย์ปัญหาการหารไม่มีเศษป.2
ข้อสอบความคิดสร้างสรรค์
ข้อสอบความคิดสร้างสรรค์
ปุ่ม Keyboard
ปุ่ม Keyboard
สถิติ เบื้องต้น 2
สถิติ เบื้องต้น 2
อนุกรมเรขาคณิต
อนุกรมเรขาคณิต
ฟังก์ชันเชิงเส้น
ฟังก์ชันเชิงเส้น
ลำดับเรขาคณิต (Geometric sequence)
ลำดับเรขาคณิต (Geometric sequence)
ลิลิตตะเลงพ่าย
ลิลิตตะเลงพ่าย
ไฟฟ้ากระแส
ไฟฟ้ากระแส
04 บทที่ 4-ผลการดำเนินโครงงาน
04 บทที่ 4-ผลการดำเนินโครงงาน
จำนวนเชิงซ้อนไม่ซับซ้อนอย่างที่คิด
จำนวนเชิงซ้อนไม่ซับซ้อนอย่างที่คิด
Relations
Relations
โครงงานน้ำหมักชีวภาพ
โครงงานน้ำหมักชีวภาพ
Similar to เริ่มต้นการเขียนโปรแกรมหุ่นยนต์
การเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา C
Warawut
Algorithm Flowchart
Algorithm Flowchart
Warawut
C lang
C lang
Nattawut Pornonsung
การใช้งาน NodeMCU เบื้องต้น
การใช้งาน NodeMCU เบื้องต้น
Innovative Experiment Co.,Ltd.
สไลด์ประกอบกิจกรรม One (language) for All (platforms)
สไลด์ประกอบกิจกรรม One (language) for All (platforms)
Supachai Vorapojpisut
Robot Arm opencm และมอเตอร์ dynamixel จาก robotis
Robot Arm opencm และมอเตอร์ dynamixel จาก robotis
Innovative Experiment Co.,Ltd.
02 lab microbox1
02 lab microbox1
Strisuksa Roi-Et
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
Nattapon
NodeMCU with Ax-wifi Beginner 2018
NodeMCU with Ax-wifi Beginner 2018
Innovative Experiment Co.,Ltd.
เทคโนโลยีคอมพิวเตอร์
เทคโนโลยีคอมพิวเตอร์
prakaipet
Chapter2 Input & Output Devices
Chapter2 Input & Output Devices
Adul Yimngam
2D Graphics and Animations in Java World
2D Graphics and Animations in Java World
kunemata
Introduction toc
Introduction toc
Nunnaphat Chadajit
I bot new
I bot new
Qoo Kratai
Lesson2
Lesson2
โทโม๊ะจัง นานะ
Pop bot
Pop bot
Qoo Kratai
Dc102 Understanding Digital Media-System Computer
Dc102 Understanding Digital Media-System Computer
ajpeerawich
C language
C language
A-kung Vakul
C language
C language
A-kung Vakul
207
207
rungarung
Similar to เริ่มต้นการเขียนโปรแกรมหุ่นยนต์
(20)
การเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา C
Algorithm Flowchart
Algorithm Flowchart
C lang
C lang
การใช้งาน NodeMCU เบื้องต้น
การใช้งาน NodeMCU เบื้องต้น
สไลด์ประกอบกิจกรรม One (language) for All (platforms)
สไลด์ประกอบกิจกรรม One (language) for All (platforms)
Robot Arm opencm และมอเตอร์ dynamixel จาก robotis
Robot Arm opencm และมอเตอร์ dynamixel จาก robotis
02 lab microbox1
02 lab microbox1
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
NodeMCU with Ax-wifi Beginner 2018
NodeMCU with Ax-wifi Beginner 2018
เทคโนโลยีคอมพิวเตอร์
เทคโนโลยีคอมพิวเตอร์
Chapter2 Input & Output Devices
Chapter2 Input & Output Devices
2D Graphics and Animations in Java World
2D Graphics and Animations in Java World
Introduction toc
Introduction toc
I bot new
I bot new
Lesson2
Lesson2
Pop bot
Pop bot
Dc102 Understanding Digital Media-System Computer
Dc102 Understanding Digital Media-System Computer
C language
C language
C language
C language
207
207
เริ่มต้นการเขียนโปรแกรมหุ่นยนต์
1.
2.
• แนะนำให้รู้จักกับ Arduino •
แกะกล่อง ตรวจสอบอุปกรณ์ในชุด • กำรติดตั้งซอฟต์แวร์ • สร้ำงหุ่นยนต์ POP-BOT XT • ขั้นตอนกำรเขียนโปรแกรมเพื่อควบคุมหุ่นยนต์ • พัฒนำหุ่นยนต์ให้ทำตำมภำรกิจต่ำงๆ • กำรเคลื่อนที่เบื้องต้น • กำรใช้เซนเซอร์สวิตช์ • หุ่นยนต์เคลื่อนที่ตำมเส้น ขั้นตอนกำรอบรม
3.
อินพุต เอำต์พุตประมวลผล หลักกำรของระบบควบคุม
4.
ต้นกำเนิด Arduino www.arduino.cc •
คู่มืออ้ำงอิงกำรใช้งำน • ตัวอย่ำงฮำร์ดแวร์ • จุดกำเนิด IDEA • ที่ดำวน์โหลดโปรแกรม • ที่ซักถำมปัญหำ
5.
ข้อมูลอ้ำงอิงสำหรับเขียนโปรแกรม • ชุดคำสั่ง • ไลบรำรี่ •
ตัวแปร • คำสงวน
6.
ต้นกำเนิด POP-XT โครงกำร Opensource
จำก Arduino POP-XT ของ inex HARDWARE
7.
POP-XT Edit + Compile
+ Download C/C++ คอมไพเลอร์ Opensource SOFTWARE
8.
คุณสมบัติของ POP-XT • ใช้ไมโครคอนโทรลเลอร์
ATMEGA32U4 ของ ATMEL • ควำมละเอียดอ่ำนค่ำอะนำลอก 10 บิต (0-1023) 1024 ระดับ • หน่วยควำมจำโปรแกรม 32 กิโลไบต์ • ทำงำนที่ควำมเร็ว 16 ล้ำนคำสั่งต่อวินำที • เชื่อมต่อกับคอมพิวเตอร์ผ่ำนพอร์ต USB โดยตรงผ่ำนสำย Mini-B • มีจอ LCD กรำฟิ กสีควำมละเอียด 128x160 พิกเซล • ขับมอเตอร์ไฟตรงได้ 2 ตัว เซอร์โวมอเตอร์ได้ 3 ตัว • ต่อเซนเซอร์อะนำลอกได้ 8 ช่อง 220mF 100mF TB6612 ATMega32U4 100
9.
ตำแหน่งกำรวำงอุปกรณ์ของ POP-XT
10.
อุปกรณ์อินพุต Switch (Digital) Reflect (Analog) Distance
(Analog) ปุ่ม OK (Digital) knob (Analog)
11.
อุปกรณ์เอำต์พุต Servo Motor DC Motor ลำโพงเปียโซ จอ
GLCD 128x160 ZX-LED
12.
ติดตั้งซอฟต์แวร์ ประกอบด้วย • ซอฟต์แวร์ Arduino
1.0 • ตัวอย่ำง POP-BOT XT • ไดรเวอร์ USB • ไลบรำรี่ POP-BOT XT Arduino1.0 POP-BOT XT Setup.exe
13.
1 2 3 4
14.
ติดตั้งซอฟต์แวร์POP-BOT ลงในเครื่องคอมพิวเตอร์พร้อมทั้งตัวติดตั้งไดรเวอร์USB 5 6 7 8
15.
เปิ ดโปรแกรมจำก Start
Menu
16.
เริ่มต้นเชื่อมต่อกับคอมพิวเตอร์ 1. ใส่ถ่านชาร์จหรือถ่านอัลคาไลน์ AA
4 ก้อน 2.เสียบสาย Mini USB 3.เปิดสวิตช์จ่ายไฟให้ POP-XT ก่อน 4.เสียบสาย USB เข้ากับคอมพิวเตอร์
17.
18.
027477001-4
19.
กำรแก้ปัญหำในกรณีเกิดปัญหำกำรติดตั้ง windows 7 ให้เข้ำไปที่
Device Manager
20.
กำรแก้ปัญหำในกรณีเกิดปัญหำกำรติดตั้ง windows 7 จะเจออุปกรณ์ที่มีเครื่องหมำย
! คลิกเมำส์ขวำเลือก Update Driver
21.
กำรแก้ปัญหำในกรณีเกิดปัญหำกำรติดตั้ง windows 7 เลือกหัวข้อตำมรูป
ชี้ไปตำแหน่งที่เก็บไดรเวอร์ เมื่อแจ้งเตือน เลือกตำมรูป กำรติดตั้งเสร็จสมบูรณ์
22.
กำรติดตั้งไดรเวอร์กับ Windows XP
23.
กำรติดตั้งไดรเวอร์กับ Windows XP คอมพิวเตอร์พบฮำร์ดแวร์ใหม่ เลือกตำแหน่งที่เก็บไดรเวอร์ C:Arduinodrivers กำรติดตั้งเสร็จสมบูรณ์
24.
กำรติดตั้ง Arduino บนเครื่อง
Mac OSX แตกไฟล์ ZIP จะได้ ICON ดังรูป ลำก ICON Arcuino รวมเข้ำไว้ที่ Aplication
25.
เปิ ดโปรแกรม Arduino
เลือกบอร์ดเป็น POP-XT เมื่อเชื่อมต่อสำย USB เครื่อง Mac จะเห็นพอร์ตสื่อสำรชื่อ tty.usbmodem...
26.
หน้ำตำของโปรแกรม Arduino void setup() { } void
loop() { } สำหรับกำหนดค่ำ เกิดขึ้นครั้งเดียว โปรแกรมหลักทำงำนต่อเนื่อง
27.
เลือกชื่อบอร์ดเป็น POP-XT
28.
เลือกตำแหน่งพอร์ตอนุกรม
29.
เปิ ดโปรแกรมตัวอย่ำง
30.
เป็นโปรแกรมแสดงข้อควำมที่หน้ำจอ GLCD
31.
คอมไพล์ (แปลโปรแกรมที่เขียนว่ำถูกไวยกรณ์หรือไม่) กดปุ่มนี้ก็ได้
32.
แถบสถำนะด้ำนล่ำงแสดงผลลัพธ์ ขนำดหน่วยควำมจำที่ใช้ ขนำดหน่วยควำมจำทั้งหมด แจ้งว่ำคอมไพล์ผ่ำน
33.
ต่อสำย USB กับคอมพิวเตอร์
34.
upload โปรแกรมไปยังหุ่นยนต์ หรือกดปุ่มนี้ก็ได้
35.
ผลลัพธ์ คำสั่ง glcd แสดงข้อควำม
36.
คุณสมบัติของจอภำพ
37.
glcd แสดงข้อควำมที่จอ GLCD
ได้ 21 ตัว 16 บรรทัด (size 1) รูปแบบ void glcd(unsigned char x, unsigned char y ,char *p,...) พำรำมิเตอร์ x คือตำแหน่งบรรทัดมีค่ำตั้งแต่ 0-15 y คือตำแหน่งตัวอักษรมีค่ำตั้งแต่ 0-24 *p คือข้อควำมที่ต้องกำรนำมำแสดง ค่ำพิเศษ %d แสดงตัวเลขจำนวนเต็มในช่วง -32,768 ถึง 32,767 %l แสดงตัวเลขจำนวนเต็มในช่วง -2,147,483,648 ถึง 2,147,483,647 %f แสดงผลตัวเลขจำนวนจริง (แสดงทศนิยม 3 หลัก) คุณสมบัติของจอภำพ
38.
ไลบรำรี่ของ glcd glcd setTextColor setTextBackgroundColor glcdClear glcdFillScreen glcdMode setTextSize getTextColor getTextBackgroundColor glcdTextSize glcdGetMode glcdPixel glcdRect glcdFillRect glcdLine glcdCircle glcdFillCircle glcdArc
39.
unsigned int color[]=
{ GLCD_RED, GLCD_GREEN, GLCD_BLUE, GLCD_YELLOW, GLCD_BLACK, GLCD_WHITE, GLCD_SKY, GLCD_MAGENTA }; ตัวแปรที่ใช้สำหรับกำหนดสีพื้นฐำน
40.
setTextColor(COLOR) unsigned color[]={ GLCD_RED, GLCD_GREEN, GLCD_BLUE, GLCD_YELLOW, GLCD_BLACK, GLCD_WHITE, GLCD_SKY, GLCD_MAGENTA }; ตัวอย่ำง #include <popxt.h> void
setup(){ setTextColor(GLCD_WHITE); glcd(0,0,"Hello"); setTextColor(GLCD_GREEN); glcd(1,0,"World"); } void loop(){} ค่ำสีตัวอักษร
41.
setTextBackgroundColor(COLOR) unsigned color[]={ GLCD_RED, GLCD_GREEN, GLCD_BLUE, GLCD_YELLOW, GLCD_BLACK, GLCD_WHITE, GLCD_SKY, GLCD_MAGENTA }; ตัวอย่ำง #include <popxt.h> void
setup(){ setTextBackgroundColor(GLCD_RED); setTextColor(GLCD_YELLOW); glcd(0,0,"Hello World"); } void loop(){} ค่ำสีพื้นหลังตัวอักษร
42.
glcdClear() ตัวอย่ำง #include <popxt.h> void setup(){} void
loop(){ glcdClear(); sleep(500); glcdFillScreen(color[0]); sleep(500); glcdFillScreen(color[1]); sleep(500); glcdFillScreen(color[2]); sleep(500); } เคลียร์หน้ำจอ glcdFillScreen(COLOR) เทสีลงบนหน้ำจอทั้งหน้ำ
43.
setTextSize ปรับขนำดตัวอักษร เป็นเท่ำตัว ถ้ำไม่กำหนดขนำดเป็น
1 เท่ำ ตัวอย่ำง #include <popxt.h> void setup(){} void loop(){ setTextSize(1); glcd(0,0,"1x"); setTextSize(2); glcd(0,2,"2x"); setTextSize(3); glcd(0,3,"3x"); setTextSize(4); glcd(1,0,"4x"); setTextSize(5); glcd(1,2,"5x"); }
44.
หมุนจอ ขยำยขนำด
45.
#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(){} ตัวอย่ำงกำรแสดงข้อควำมหลำยบรรทัด MultipleTextline.ino
46.
โจทย์ สร้างวงกลมสีแดงอยู่กึ่งกลางจอภาพ รัศมีเต็มจอพอดี
47.
โจทย์ ลากเส้น 4 เส้นโดยมีจุดตัดอยู่กลางจอภาพพอดี
48.
โจทย์ สร้างสี่เหลี่ยมซ้อนกันดังรูป
49.
glcd แสดงข้อควำมที่จอ GLCD
ได้ 21 ตัว 16 บรรทัด (size 1) รูปแบบ void glcd(x,y,*p,...) พำรำมิเตอร์ x คือตำแหน่งบรรทัดมีค่ำตั้งแต่ 0-15 y คือตำแหน่งตัวอักษรมีค่ำตั้งแต่ 0-24 *p คือข้อควำมที่ต้องกำรนำมำแสดง ค่ำพิเศษ %d แสดงตัวเลขจำนวนเต็มในช่วง -32,768 ถึง 32,767 %l แสดงตัวเลขจำนวนเต็มในช่วง -2,147,483,648 ถึง 2,147,483,647 %f แสดงผลตัวเลขจำนวนจริง (แสดงทศนิยม 3 หลัก) คำสั่ง GLCD
50.
กำรแสดงผลตัวเลข glcd(0,0,"%d",100);
51.
ตัวแปรใน Arduino 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
52.
เอาต์พุตดิจิตอลอย่างง่าย
53.
เป็นฟังก์ชันส่งข้อมูลออกเอำต์พุต ตำแหน่งขำ num
ด้วยสถำนะลอจิก dat "0" หรือ "1" ตัวอย่ำง ...... out(6,1) // ให้ LED ที่ต่อขำ 6 ติดสว่ำง out(4,0) // ให้ LED ที่ต่อขา 6 ดับ ...... out(int num,int dat)
54.
สร้ำงเสียงออกลำโพง ลำโพงเปียโซ beep() sound(freq,time)
55.
คำสั่งสร้ำงเสียง ฟังก์ชั่นกำเนิดเสียงอย่ำงง่ำย beep :
ทำหน้ำที่กำเนิดเสียงควำมถี่ 500 Hz นำน 100 มิลลิวินำที void beep(void); ฟังก์ชั่นกำเนิดเสียงควำมถี่ใดๆ sound : ทำหน้ำที่กำเนิดเสียง ควำมถี่ ตำมช่วงเวลำที่กำหนด void sound(int freq,int time); พารามิเตอร์ freq ใช้กำหนดค่ำควำมถี่ค่ำสัญญำณเสียง time ใช้กำหนดช่วงเวลำในกำรกำเนิดสัญญำณเสียงใน หน่วยมิลลิวินำที
56.
#include <popxt.h> void setup(){ } void
loop(){ beep(); sleep(1000); }
57.
#include <popxt.h> void setup(){ } void
loop(){ sound(1200,500); sleep(1000); }
58.
59.
knob เป็นฟังก์ชั่นอ่ำนค่ำ knob
บน POP-XT เหมือนคำสั่ง analog(8) ค่ำอยู่ในช่วง 80-1023 รูปแบบ unsigned int knob() กำรคืนค่ำ ค่ำที่อ่ำนได้จำก knob มีค่ำระหว่ำง 80-1023 ตัวอย่ำง int val=0; // กำหนดค่ำตัวแปรสำหรับเก็บค่ำอะนำลอก val=knob(); // อ่ำนค่ำจำก knob เก็บค่ำในตัวแปร val glcd("%d",val); // นำค่ำแสดงที่ GLCD knob()
60.
sw_ok() เป็นฟังก์ชั่นตรวจสอบสวิตช์ OK
บน POP-XT ให้สถำนะจริงเมื่อกดสวิตช์ และเป็นเท็จเมื่อไม่กดสวิตช์ รูปแบบ unsigned char sw_ok() กำรคืนค่ำ 1 (เป็นจริง) เมื่อกดสวิตช์ 0 (เป็นเท็จ) เมื่อไม่กดสวิตช์ หมำยเหตุ กำรกดสวิตช์ทำให้ค่ำที่อ่ำนได้จำก Knob มีค่ำเป็น 0 ตัวอย่ำง if(sw_ok()) { beep(); } sw_ok()
61.
เป็นฟังก์ชั่นวนตรวจสอบกำรกดสวิตช์ OK บนบอร์ด
POP-XT ต้องรอ จนกระทั่ง SW1 ถูกปล่อยหลังจำกมีกำรกดสวิตช์ จึงจะผ่ำนฟังก์ชั่นนี้ไปทำงำน คำสั่งอื่นๆ ตัวอย่ำง ...... sw_ok_press(); // รอจนกระทั่งกดสวิตช์ OK ...... sw_ok_press()
62.
กำรขับเคลื่อน POP-BOT XT
63.
ชุดเฟืองขับมอเตอร์อัตรำทด 48:1
64.
ภำยในชุดเฟืองขับมอเตอร์
65.
BATTERY +- M BATTERY -+ M กำรกำหนดทิศทำงของมอเตอร์
66.
ฟังก์ชั่น motor สำหรับขับมอเตอร์ไฟตรง รูปแบบ void
motor(char ch,int pow) พำรำมิเตอร์ ch ใช้กำหนดช่องขับตั้งแต่ 1 ถึง 2 pow ใช้กำหนดขนำดกำลังขับ -100 ถึง 100 •กรณีขับด้วยกำลัง 1 ถึง 100 ไฟสถำนะประจำช่องติดเป็นสีเขียว •กรณีขับด้วยกำลัง -1 ถึง -100 ไฟสถำนะประจำช่องติดเป็นสีแดง(ทิศกำรหมุน ตรงข้ำมกับขับด้วยกำลังเป็นบวก) motor(1,100); มอเตอร์ 1 เดินหน้าความเร็ว 100 เปอร์เซ็นต์ motor(2,-50); มอเตอร์ 2 ถอยหลัง ความเร็ว 50 เปอร์เซ็นต์
67.
ฟังก์ชั่น motor_stop สำหรับหยุดขับมอเตอร์ไฟตรงตำม ช่องที่กำหนด รูปแบบ void
motor_stop(char ch) พำรำมิเตอร์ ch ใช้กำหนดช่องขับตั้งแต่ 1 ถึง 2 ในกรณีที่ต้อง กำรหยุดขับทุกช่องพร้อมกันสำมำรถกำหนดเป็น ALL กรณีหยุดมอเตอร์ 2 ตัวพร้อมกัน สำมำรถใช้คำสั่ง ao() แทนได้ motor_stop(1); มอเตอร์ 1 หยุด motor_stop(2); มอเตอร์ 2 หยุด ao(); มอเตอร์ 2 ตัวหยุดพร้อมกัน
68.
void fd(int8_t speed)
{ motor(ALL,speed); } void bk(int8_t speed) { motor(ALL,-speed);} void sl(int8_t speed){ motor(1,-speed); motor(2,speed); } void sr(int8_t speed){ motor(1,speed); motor(2,-speed); } มอเตอร์ 2 ตัวพร้อมกัน
69.
fd(Speed); เดินหน้า bk(Speed); ถอยหลัง sl(Speed);
เลี้ยวซ้าย sr(Speed); เลี้ยวขวา Speed คือความเร็วหุ่นยนต์ 0-100 ao() ;หยุด
70.
#include <popxt.h> void setup(){ fd(100); } void
loop() { } กำรปรับแต่งเพื่อให้หุ่นยนต์เคลื่อนที่ตรง ทำกำรปรับขั้วมอเตอร์ช่อง 1 และ 2 ที่ทำให้ล้อทั้งสองด้ำนหมุนไปข้ำงหน้ำตำมรูป ให้ได้
71.
ทดสอบขับเคลื่อนหุ่นยนต์เดินหน้ำและถอยหลังพื้นฐำน #include <popxt.h> void setup(){} void
loop(){ fd(80); sleep(1000); bk(80); sleep(1000); } ForwardBackward.ino
72.
หุ่นยนต์เดินวนเป็นรูปสี่เหลี่ยม #include <popxt.h> void setup(){ sw_ok_press(); } void
loop(){ fd(80); sleep(900); tr(80); sleep(400); } Rectangle_running.ino
73.
fd2(Speed1,speed2); เดินหน้า bk2(Speed1,speed2); ถอยหลัง Speed1
คือมอเตอร์ด้ำนซ้ำย Speed2 คือมอเตอร์ด้ำนขวำ
74.
หุ่นยนต์เคลื่อนที่เป็นวงกลม CircleMove.ino
75.
#include <popxt.h> void setup() { fd2(30,90);
// Robot moves circle shape sw_ok_press(); // Wait for OK switch pressing ao(); // Robot stop } void loop(){} ตัวอย่ำงโค้ด หุ่นยนต์เคลื่อนที่เป็นวงกลม CircleMove.ino
76.
กำรเคลื่อนที่หลำยทิศทำง MultipleDirectionMove.ino
77.
แผงวงจรสวิตช์: ZX-SWITCH (Digital) คุณสมบัติทำงเทคนิค •ถ้ำสวิตช์ถูกกดจะอ่ำนค่ำข้อมูลได้เป็นลอจิก
“0” พร้อมกับไฟแสดงสถำนะติดสว่ำง •ถ้ำสวิตช์ไม่ถูกกดจะอ่ำนค่ำข้อมูลได้เป็นลอจิก “1”
78.
ฟังก์ชั่น in สำหรับอ่ำนค่ำสัญญำณแบบดิจิตอลจำกขำพอร์ตใดๆของ บอร์ดควบคุมหลัก รูปแบบ char in(char
_bit); พำรำมิเตอร์ _bit ใช้กำหนดตำแหน่งหมำยเลขพอร์ตที่ ต้องกำรติดต่อ กำรคืนค่ำ ฟังก์ชั่นจะทำกำรคืนค่ำสัญญำณดิจิตอลของ ตำแหน่งขำพอร์ตที่อ่ำนซึ่งอำจมีค่ำเป็น 0 หรือ 1 เท่ำนั้น
79.
ต่อ ZX-SWITCH เข้ำกับพอร์ต
22 และ 23 กดสวิตช์มีเสียงออกลำโพง
80.
#include <popxt.h> void setup(){} void
loop(){ if(in(22)==0){ sound(1000,300); glcdFillScreen(GLCD_RED); } if(in(23)==0){ sound(2000,300); glcdFillScreen(GLCD_YELLOW); } } ตัวอย่ำงโค้ด กดสวิตช์มีเสียงออกลำโพง TouchSwitchTest.ino
81.
หุ่นยนต์รถบังคับ
82.
#include <popxt.h> void setup(){ setTextSize(2); glcd(1,1,"Press
OK"); glcd(2,1,"to Start"); sw_ok_press(); glcdClear(); glcd(1,1,"Let's go!"); } void loop(){ if(in(22)==0&&in(23)==0){ fd(60); } else if(in(22)==0){ sl(60); } else if(in(23)==0){ sr(60); } else {ao();} } RemoteSwitch.ino
83.
เมื่อมีกำรติดตั้งเซนเซอร์ตรวจจับกำรชน
84.
ต่อ ZX-SWITCH เข้ำกับพอร์ต
22 และ 23
85.
#include <popxt.h> void setup(){ setTextSize(2); glcd(1,1,"Press
OK"); glcd(2,1,"to Start"); sw_ok_press(); glcdClear(); glcd(1,1,"Let's go!"); } void loop(){ fd(70); if(in(22)==0){ bk(80); sleep(300); sr(80); sleep(200); } if(in(23)==0) { bk(80); sleep(400); sl(80); sleep(400); } } ObjectAvoider.ino
86.
โมดูลวัดระยะทำงแบบอินฟรำเรด: GP2D120 คุณสมบัติหลัก •ทำงำนที่ไฟเลี้ยง 5
โวลต์ •วัดระยะทำงใช่วงตั้งแต่ 4 ถึง 32 เซนติเมตร
87.
หลักกำรทำงำนของ GP2D120
88.
ไลบรำรีและชุดคำสั่งที่แนะนำ ไลบรำรี gp2d120_lib.h เป็นไลบรำรีที่บรรจุชุดคำสั่งเรียกอ่ำนค่ำระยะทำงจำก โมดูล GP2D120
ก่อนเรียกใช้งำนฟังก์ชั่นที่บรรจุอยู่ภำยใน ผู้พัฒนำจะต้องทำกำรผนวกไฟล์ไลบรำรีไว้ที่ตอนต้นของ โปรแกรมภำษำ C ด้วยคำสั่ง #include <gp2d120_lib.h>
89.
ฟังก์ชั่น getdist : อ่ำนค่ำระยะทำงในหน่วยเซนติเมตรจำกโมดูล GP2D120
ซึ่งค่ำที่มีควำมเชื่อถือได้จะมีค่ำตั้งแต่ 4 ถึง 32 เซนติเมตร รูปแบบ unsigned int getdist(char adc_ch) พำรำมิเตอร์ adc_ch ใช้กำหนดขำพอร์ตที่ต้องกำรในช่วง 1 ถึง 7 จำกพอร์ต A1 ถึง A7 ตำมลำดับ กำรคืนค่ำ ฟังก์ชั่นจะทำกำรคืนค่ำข้อมูลระยะทำงในหน่วย เซนติเมตร
90.
ต่อ GP2D120 เข้ำกับพอร์ต
20/A2
91.
#include <popxt.h> int raw,dist; void
setup(){ setTextSize(2); glcdMode(1); glcd(1,1,"Press OK"); sw_ok_press(); glcdClear(); } void loop(){ raw=analog(2); dist=getdist(2); glcd(2,1,"RAW = %d ",raw); glcd(3,1,"Dist = %d cm",dist); sleep(100); } GP2D120_Reading.ino
92.
แผงวงจรตรวจจับแสงสะท้อน: ZX-03
93.
#include <popxt.h> void setup(){ setTextSize(3); glcdMode(3); glcd(1,1,"Press
OK"); sw_ok_press(); } void loop(){ glcd(1,1,"L=%d ",analog(0)); glcd(3,1,"R=%d ",analog(1)); sleep(100); } SurfaceRead.ino โปรแกรมอ่ำนค่ำจำก ZX-03 แสดงที่ GLCD
94.
อ่ำนค่ำพื้นผิวสีดำ อ่ำนค่ำพื้นผิวสีขำว อ่ำนค่ำผลลัพธ์จำกกำรสะท้อนแสง
95.
ยกหุ่นยนต์ขึ้นจำกพื้นแล้วมีเสียงเตือน #include <popxt.h> void setup(){} void
loop(){ if(analog(0)<20){ sound(2500,500); glcdFillScreen(GLCD_RED); } else{ glcdClear(); } } AlarmBOT.ino
96.
หุ่นยนต์เดินมำหยุดที่เส้นสีดำ (แบบที่ 1) BlackLineDetect.ino #include
<popxt.h> void setup(){ setTextSize(2); glcd(1,1,"Press OK"); sw_ok_press(); glcdClear(); glcd(1,1,"Moving..."); fd(60); while(analog(0)>500); ao(); } void loop(){}
97.
หุ่นยนต์เดินมำหยุดที่เส้นสีดำด้วยกำรเบรก BlackLineDetect02.ino #include <popxt.h> void setup(){ setTextSize(2); glcd(1,1,"Press
OK"); sw_ok_press(); glcdClear(); glcd(1,1,"Moving..."); fd(60); while(analog(0)>500); bk(100); sleep(100); ao(); } void loop(){}
98.
สั่งให้หุ่นยนต์เดินหน้ำตรงต่อไป 1 if(L>500&&R>500){ fd(60); }
99.
สั่งให้หุ่นยนต์เลี้ยวซ้ำยเพื่อกลับไปคร่อมเส้น2 if(L<500&&R>500){ sl(60);sleep(20); }
100.
สั่งให้หุ่นยนต์เลี้ยวขวำเพื่อกลับไปคร่อมเส้น 3 if(L>500&&R<500){ sr(60);sleep(20); }
101.
กำหนดกำรทำงำนตำมอิสระ 4 if(L<500&&R<500){ fd(60);sleep(200); }
102.
เขียนโปรแกรมทดสอบกับสนำมขั้นพื้นฐำน
103.
โปรแกรมเดินตำมเส้นสนำมแบบพื้นฐำน ....ino #include <popxt.h> int L,R void
setup(){ setTextSize(2); glcd(1,1,"Press OK"); sw_ok_press();glcd(1,1,"Moving..."); } void loop(){ L=analog(0); R=analog(1); if(L>500&&R>500){ fd(60); } else if(L<500&&R>500){sl(60);sleep(20); } else if(L>500&&R<500){sr(60);sleep(20); } }
104.
เมื่อเจอเส้นตัดส่งเสียงบี๊ป
105.
โปรแกรมเดินตำมเส้นเมื่อเจอเส้นตัดส่งเสียงบี๊ป SimpleLineTracking.ino #include <popxt.h> int L,R void
setup(){ setTextSize(2); glcd(1,1,"Press OK"); sw_ok_press();glcd(1,1,"Moving..."); } void loop(){ L=analog(0); R=analog(1); if(L<500&&R<500){fd(60);sound(2000,200);} else if(L>500&&R>500){ fd(60); } else if(L<500&&R>500){sl(60);sleep(20); } else if(L>500&&R<500){sr(60);sleep(20); } }
106.
เมื่อเจอเส้นตัดเลี้ยวขวำ
107.
โปรแกรมเดินตำมเส้นเมื่อเจอเส้นตัดเลี้ยวขวำ xxxxxx.ino #include <popxt.h> int L,R void
setup(){ setTextSize(2); glcd(1,1,"Press OK"); sw_ok_press();glcd(1,1,"Moving..."); } void loop(){ L=analog(0); R=analog(1); if(L<500&&R<500){ fd(60);sound(2000,200); sr(60);sleep(400); } else if(L>500&&R>500){ fd(60); } else if(L<500&&R>500){sl(60);sleep(20); } else if(L>500&&R<500){sr(60);sleep(20); } }
108.
กำรเลี้ยว 90 องศำพอดีเมื่อเจอเส้นตัด
109.
โปรแกรมเดินตำมเส้นเมื่อเจอเส้นตัดเลี้ยวขวำ/ซ้ำย xxxxxx.ino void R90(){ fd(60); sound(1500,100); while(analog(1)>500){sr(60);} while(analog(1)<500){sr(60);} } void L90(){ fd(60); sound(1500,100); while(analog(0)>500){sl(60);} while(analog(0)<500){sl(60);} }
110.
เมื่อเจอเส้นตัดเลี้ยวขวำ (แบบใหม่)
111.
SimpleMaze.ino #include <popxt.h> int L,R; void
R90(){ fd(60); sound(1500,100); while(analog(1)>500) { sr(60); } while(analog(1)<500) { sr(60); } } void setup(){ setTextSize(2); glcd(1,1,"Press OK"); sw_ok_press(); glcd(1,1,"Moving..."); } void loop(){ L=analog(0); R=analog(1); if (L<500&&R<500){R90();} else if(L>500&&R>500){fd(60);} else if(L<500&&R>500){sl(60); sleep(20);} else if(L>500&&R<500){sr(60); sleep(20);} }
112.
เดินตำมเส้นทำงแยกที่ซับซ้อน
113.
MultipleCrossingLineTrack.ino #include <popxt.h> int L,R,x=0; void
setup(){ setTextSize(2);glcd(1,1,"Press OK"); sw_ok_press(); glcd(1,1,"Moving..."); } void loop(){ L=analog(0);R=analog(1); if (L<500&&R<500){ if(x==6){x=0;} x++; else if (x==3){R90();} else{L90();} } else if(L>500&&R>500){fd(60);} else if(L<500&&R>500){sl(60);sleep(20);} else if(L>500&&R<500){sr(60);sleep(20);} }
114.
กำรใช้งำนเซอร์โวมอเตอร์
115.
116.
ฟังก์ชั่น servo : กำหนดตำแหน่งเซอร์โวมอเตอร์
โดยเมื่อใช้งำนกับรุ่น มำตรฐำนจะทำให้หมุนไปยังตำแหน่ง 0 ถึง 180 องศำได้และถ้ำใช้งำน กับรุ่นปรับแต่งจะทำให้หมุนในทิศทำงใดทิศทำงหนึ่งและมีผลต่อ อัตรำเร็วในกำรหมุน หรืออำจหยุดนิ่ง รูปแบบ void servo(unsigned char _ch ,unsigned int _pos); พำรำมิเตอร์ _ch ใช้กำหนดช่องขับที่ต่อใช้งำนมีค่ำตั้งแต่ 7 ถึง 8 _pos ใช้กำหนดตำแหน่งกำรขับของเซอร์โวมอเตอร์ มีค่ำ 0 ถึง 180 ถ้ำเป็นค่ำ -1 จะเป็นกำรยกเลิกกำรใช้งำน (ฟรี)
117.
ปรับค่ำตัวต้ำนทำนเพื่อปรับตำแหน่งของเซอร์โวมอเตอร์
118.
กฤษดำ ใจเย็น KRITSADA
JAIYEN บริษัท อินโนเวตีฟ เอ็กเพอริเมนต์ จำกัด 108 ซอยสุขุมวิท 101/2 ถ.สุขุมวิท แขวงบำงนำ เขตบำงนำ กรุงเทพฯ 10260 โทรศัพท์ 02-7477001-4 โทรสาร 02-7477005 Email : kritsada@inex.co.th kritsadaj@msn.com www.inex.co.th
Download now