JavaScript Blocks Editor
#BITwww.inex.co.t
BBC micro:bit เป็นบอร์ดไมโครคอนโทรลเลอร์ขนาดเท่าเครดิตการ์ดที่นาเอาไมโครโปรเซสเซอร์ยอดฮิต ARM Cortex-M0 มาใช้ด้วยความ
ร่วมมือจากกลุ่มผู้เชี่ยวชาญด้านคอมพิวเตอร์กว่า 29 หน่วยงานในประเทศอังกฤษ และแจกให้นักเรียนในระดับ Secondary school ในประเทศ
อังกฤษได้ใช้งานได้ฟรี
บนบอร์ด micro:bit ขนาด 4x5 CM นอกจากจะมีไมโครโปเซสเซอร์ ARM Cortex-M0 เป็นหัวใจหลักแล้ว ยังประกอบไปด้วย
เซนเซอร์และโมดูลต่าง ๆ เช่น โมดูลวัดความเร่ง โมดูลวัดค่าสนามแม่เหล็ก LED ต่อเป็นแบบ Matrix 25 ดวง สวิตช์กดติดปล่อยดับโปรแกรมได้ โมดูล
Bluetooth กาลังงานต่า หรือ BLE จุดต่อพอร์ต USB ที่เป็นทั้งการดาวน์โหลดโปรแกรมและจ่ายไฟ จุดต่อขนาดใหญ่ 5 จุด และจุดต่อพอร์ตที่เป็น
ลายทองแดงอีก 23 ขา บอร์ด micro:bit ใช้ไฟจากพอร์ต micro USB ที่เชื่อมต่อกับคอมพิวเตอร์ หรือจากถ่าน AAA 2 ก้อนจากภายนอกก็ได้
พูดถึงไมโครคอนโทรลเลอร์ ARM ปัจจุบันมีทั้งแบบ 32 บิต และ 64 บิต ได้รับความนิยมอย่างแพร่หลาย เป็นส่วนประกอบหลักอยู่ใน
เครื่องมือเครื่องใช้ต่างๆ มากมาย ไม่ว่าจะเป็นโทรศัพท์มือถือ แทปเล็ต เครื่องรับ GPS ด้วยเหตุผลว่ามีราคาถูกและกินกาลังงานต่ามาก
BBC micro:bit จึงถูกสร้างโดยใช้หัวใจหลักเป็น ARM และออกแบบให้เขียนโค้ดและคอมไพล์โค้ดผ่านเวปไซต์แบบออนไลน์ สาหรับ
การดาวน์โหลดโค้ดทาได้ทั้งผ่านพอร์ต USB และ Bluetooth สาหรับรูปแบบ USB BBC micro:bit จะมองเหมือนแฟลชไดรฟ์ ตัวนึง ผู้ใช้
สามารถลากวางโค้ดภาษาเครื่อง ไปยังไดรฟ์ ของมันได้โดยตรง ซึ่งเข้าใจง่ายมาก สาหรับผู้เริ่มต้นใช้งาน
สาหรับคอมไพเลอร์ที่ใช้กับ micro:bit มี 2 ตัวหลัก ๆ คือ Microsoft Block Editor และ microPython มาพร้อมกับตัวอย่างการใช้งาน
มากมาย ที่จุดประกายให้คุณไม่รู้จบ
บทนำ
#BITwww.inex.co.t
ไมโครคอนโทรลเลอร์ที่มีใช้งำนทั่วไป
ไมโครโปรเซสเซอร์
ไมโครคอนโทรลเลอร์ MCS-51 BASIC Stamp
AVR
AVR
PIC
#BITwww.inex.co.t
ที่บ้ำน
ที่ทำงำน
โรงพยำบำล
โรงงำน
ในรถ
ไมโครคอนโทรลเลอร์อยู่รอบตัวเรำ
#BITwww.inex.co.t
คีย์บอร์ด
เมำส์
แสงสว่ำง
สนำมแม่เหล็ก
ควำมเอียง
จอภำพ
มอเตอร์
หลอดไฟ
ปั๊มน้ำ
ไมโคร
คอนโทรลเลอร์
ลำโพง
ไมโครคอนโทรลเลอร์ทำงำนอย่ำงไร
#BITwww.inex.co.t
BBC micro:bit (ส่วนฮาร์ดแวร์)
• ไมโครคอนโทรลเลอร์ nRF51822 32-bit ARM Cortex M0
• ทำงำนที่ควำมถี่ 16 MHz
• หน่วยควำมจำ RAM 16 KB
• หน่วยควำมจำโปรแกรมแบบแฟลช 256 KB
• BLE : Bluetooth Low energy
• MMA8652 3-axis accelerometer
• MAG3110 3-axis magnetometer
• 5x5 LED matrix
• สวิตช์กดติดปล่อยดับ 2 ตัว
• ขั้วต่อแบบ ใช้ปำกคีบ 5 ขำ
• ขั้วต่อสำหรับ I/O โมดูล SPI และ I2C
• ขั้วต่อ USB สำหรับจ่ำยไฟและโปรแกรม
• ขั้วต่อไฟเลี้ยง 3V ภำยนอก
#BITwww.inex.co.t
สวิตช์ (สั่งจำกโปรแกรมได้)
LED 5x5 (สั่งเป็นข้อควำมได้ง่ำยๆ)
3 อินพุต/เอำต์พุต/อะนำลอก
ตำแหน่งด้ำนหน้ำของ micro:bit
ไฟเลี้ยง 3V
GND
4 CM
5 CM
#BITwww.inex.co.t
microUSB
สวิตช์ RESET
ขั้วต่อแบตเตอรี่
ARM Cortex M0
พร้อมบลูทูธ
โมดูลเข็มทิศ
โมดูลวัดควำมเร่ง
ชิฟเชื่อมต่อ USB
เสำอำกำศบลูทูธ
ตาแหน่งด้ำนหลังของ micro:bit
#BITwww.inex.co.t
เว็ปไซต์ microbit.org
#BITwww.inex.co.t
www.microbit.org
#BITwww.inex.co.t
JavaScript Blocks Editor (PXT)
#BITwww.inex.co.t
เลือกรายการ Advanced > AddPackage
เพื่อทาการติดตั้งเมนู IBIT เพิ่มเข้ามาในชุด
เครื่องมือ
ขั้นตอนกำร Add Package iBIT
#BITwww.inex.co.t
พิมพ์ชื่อลิงค์ https://github.com/emwta/pxt-iBit แล้วทำกำรกดค้นหำ
จำกนั้นจะปรำกฏแพ็กเกจ iBIT ด้ำนล่ำงให้ทำกำรคลิกที่ชื่อ iBIT เพื่อติดตั้งเมนู
ขั้นตอนกำรติดตั้งเมนู iBIT
#BITwww.inex.co.t
แถบเมนู IBIT และบล็อกต่ำงๆ จะ
ปรำกฏขึ้นมำ
ขั้นตอนกำรติดตั้งเมนู iBIT เพิ่มเข้ำมำ
#BITwww.inex.co.t
ทำงำนโดยไม่เชื่อมต่ออินเทอร์เน็ต
Bookmark หน้านี้ไว้
เมื่อเปิ ด Bookmark หน้ำนี้ขึ้นมำก็จะยัง
ใช้งำนได้เหมือนเดิม
#BITwww.inex.co.t
ลำกบล็อกเพื่อสร้ำงโค้ดโปรแกรม
กด Download และบันทึกไฟล์ .hex
เชื่อมต่อบอร์ด micro:bit ผ่ำน USB
คัดลอกไฟล์ไส่ไดรฟ์ ของ micro:bit
ขั้นตอนกำรสร้ำงโปรแกรม
#BITwww.inex.co.t
ชุดคำสั่งแสดงผลข้อควำมและหน่วงเวลำ
#BITwww.inex.co.t
ชุดคำสั่งที่ใช้งำนบ่อย
ทำงำนวนลูปไปเรื่อยๆ
แสดง LED ตำมตำแหน่งที่ต้องกำร
หน่วงเวลำ
#BITwww.inex.co.t
ชุดคำสั่ง Basic คำสั่งแสดงผลพื้นฐำนและดีเลย์
เริ่มทำงำนที่นี่เมื่อจ่ำยไฟ
ทำงำนวนลูปไปเรื่อยๆ
แสดงตัวเลขที่ LED 5x5
แสดง ICON ที่ LED 5x5
รูปแบบ iconแสดงข้อควำมที่ LED 5x5
#BITwww.inex.co.t
แสดง LED ตามตาแหน่งที่ต้องการ
หน่วงเวลา
เคลียร์หน้าจอ
ชุดคำสั่ง Basic คำสั่งแสดงผลพื้นฐำนและดีเลย์
#BITwww.inex.co.t
ตัวอย่างที่ 1 แสดงข้อความตามที่กาหนด
ผลลัพธ์กำรทำงำน
โปรแกรมจะแสดงข้อควำม “Hello!” ที่หน้ำจอ LED
#BITwww.inex.co.t
ตัวอย่ำงที่ 2 แสดงค่ำตัวเลขตำมที่กำหนด
ผลลัพธ์กำรทำงำน
โปรแกรมจะแสดงเลข “5” ที่หน้ำจอ LED
#BITwww.inex.co.t
ตัวอย่ำงที่ 3 ไฟกะพริบ
#BITwww.inex.co.t
ชุดคำสั่งตรวจจับเหตุกำรณ์พื้นฐำน
#BITwww.inex.co.t
ชุดคำสั่ง
B
A+B
ทำงำนเมื่อกดสวิตช์ Event
ทำงำนเมื่อเกิด Event ต่ำงๆ เกี่ยวข้องกับ Accelerometer
ชุดคำสั่งรับค่ำอินพุตต่ำงๆ
#BITwww.inex.co.t
ชุดคำสั่ง
คืนค่าผลลัพธ์จากการบวก ลบ คูณ หาร และยกกาลัง
ค่าข้อมูลตัวเลข
คืนค่าตัวเลขแบบสุ่ม จากค่า 0 ถึงค่าที่กาหนด
ตัวอย่ำงชุดคำสั่งประมวลผลคณิตศำสตร์และตัวเลข
#BITwww.inex.co.t
ตัวอย่ำงที่ 4 ตอบสนองเหตุกำรณ์เมื่อกดปุ่ม A หรือปุ่ม B
ผลลัพธ์การทางาน
- เมื่อผู้ใช้งานกดปุ่ม A โปรแกรมจะแสดงอักษร “A” ที่หน้าจอ LED
- เมื่อผู้ใช้งานกดปุ่ม B โปรแกรมจะแสดงอักษร “B” ที่หน้าจอ LED
#BITwww.inex.co.t
ตัวอย่ำงที่ 5 สุ่มตัวเลข 0-6 เมื่อกดปุ่ม A
ผลลัพธ์การทางาน
เมื่อเกิดเหตุการณ์ กดปุ่ม A โปรแกรมจะสุ่มตัวเลขในช่วง 0 ถึง 6 มาแสดงผล
ที่หน้าจอ LED
#BITwww.inex.co.t
ตัวอย่างที่ 6 สุ่มตัวเลข 0-6 เมื่อกดเหตุการณ์ Shake
ผลลัพธ์การทางาน
เมื่อเกิดเหตุการณ์ Shake(เขย่า) โปรแกรมจะสุ่มตัวเลขในช่วง 0
ถึง 6 มาแสดงผลที่หน้าจอ LED
#BITwww.inex.co.t
ชุดคำสั่ง
ถ้ำเงื่อนไขเป็นจริง ทำคำสั่งในช่อง then ที่ตำมมำ
ปรับเปลี่ยนรูปแบบ if else if ได้ด้วย
คำสั่ง if : else if ถ้ำเงื่อนไขแรกไม่เป็นจริง
ตรวจสอบเงื่อนไขต่อไป
else ถ้ำไม่ตรงกับเงื่อนไขก่อนหน้ำให้ทำที่นี่
กำรเปรียบเทียบข้อมูลและลอจิก
#BITwww.inex.co.t
สมกำรเปรียบเทียบค่ำ ถ้ำค่ำเป็นจริงให้ผลลัพธ์เป็นจริง
สถานะทางลอจิกเป็นได้แค่จริงกับเท็จ
หรือ 1 และ 0
ถ้ำเงื่อนไขด้ำนหน้ำและด้ำนหลังเป็นจริงให้ค่ำผลลัพธ์เป็นจริง
ถ้ำเงื่อนไขด้ำนหน้ำหรือด้ำนหลังเป็นจริงให้ค่ำผลลัพธ์เป็นจริง
ถ้ำจริงให้ค่ำเป็นเท็จ
ถ้ำเท็จให้ค่ำเป็นจริง
ชุดคำสั่ง กำรเปรียบเทียบข้อมูลและลอจิก
#BITwww.inex.co.t
ชุดคำสั่ง
สร้ำงตัวแปร เมื่อสร้ำงแล้วจะมีไอคอนตัวแปรให้ใช้
ชื่อตัวแปรมำตรฐำนที่ถูกสร้ำงขึ้นไว้แล้ว
กำหนดค่ำตัวแปร
เพิ่มค่ำตัวแปรตำมที่กำหนด
กำรประกำศตัวแปร
#BITwww.inex.co.t
ตัวอย่างที่ 7 ตรวจสอบเงื่อนไขเปรียบเทียบ if-else
ผลลัพธ์กำรทำงำน
เริ่มต้นโปรแกรมจะทำกำรกำหนดตัวแปร value ให้มีค่ำเท่ำกับ 10 จำกนั้น
จะทำกำรเปรียบเทียบว่ำมีค่ำมำกกว่ำ 5 ใช่หรือไม่
- ถ้ำ ใช่จะแสดงผลรูป HAPPY ที่หน้ำจอ LED
- ถ้ำ ไม่ใช่ จะแสดงผลรูป SAD ที่หน้ำจอ LED
#BITwww.inex.co.t
ตัวอย่ำงที่ 8 เพิ่ม ลด ค่ำด้วยเงื่อนไข if
ผลลัพธ์กำรทำงำน
- เมื่อผู้ใช้งำนกดปุ่ม A โปรแกรมจะแสดงค่ำกำรนับเพิ่มขึ้นครั้งละ 1 ค่ำจะแสดงที่หน้ำจอ LED
- เมื่อผู้ใช้งำนกดปุ่ม B โปรแกรมจะแสดงค่ำกำรนับลดลงครั้งละ 1 ค่ำจะแสดงที่หน้ำจอ LED
#BITwww.inex.co.t
ชุดคำสั่ง
วนลูปจนครบจำนวนครั้งที่กำหนด
วนลูปจนครบจำนวนรอบที่กำหนด
สำมำรถนำตัวแปรนับรอบมำใช้ด้วย
กำรวนลูปทำซ้ำ
#BITwww.inex.co.t
ตัวอย่ำงที่ 9 ลูปกำรนับค่ำจำก 0 ถึง 5 ด้วยชุดคำสั่ง for
ผลลัพธ์กำรทำงำน
เมื่อผู้ใช้งำนกดปุ่ม A โปรแกรมจะแสดงค่ำกำรนับรอบของตัวแปร index
แสดงผลออกที่หน้ำจอ LED ทุกๆ 0.3 วินำที โดยประมำณโดย
#BITwww.inex.co.t
วนลูปไปเรื่อยๆ เมื่อเงื่อนไขเป็นจริง แต่เมื่อใดก็ตำมที่เงื่อนไขเป็น
เท็จโปรแกรมจะหลุดออกจำกลูป while ไปทำงำนต่อในลำดับถัดไป
ชุดคำสั่ง กำรวนลูปทำซ้ำ
#BITwww.inex.co.t
ตัวอย่ำงที่ 10 ลูปนับค่ำถอยหลังจำก 5 ถึง 0 ด้วยชุดคำสั่ง while do
ผลลัพธ์กำรทำงำน
เมื่อผู้ใช้งำนกดปุ่ม A โปรแกรมจะแสดงค่ำกำรนับลดลงครั้งละ 1 ค่ำ
ทุกๆ 0.3 วินำที โดยประมำณโดยแสดงผลออกที่หน้ำจอ LED
#BITwww.inex.co.t
จุดต่อพอร์ตอะนำลอก
ขั้วต่อแบตเตอรี่
จุดต่ออะแดปเตอร์
จุดต่อ SERVO
micro:bit เสียบแนวตั้ง
ทำกำรติดตั้ง micro:bit กับบอร์ด iBIT
จุดต่อมอเตอร์ไฟตรง
LED แสดงสถำนะไฟเลี้ยง
สวิตช์ POWER
#BITwww.inex.co.t
เมื่อนามาประกอบเป็นโครงสร้างหุ่นยนต์ iBIT
ล้อด้ำนซ้ำยต่อเข้ำกับช่อง
ขับมอเตอร์ไฟตรงช่อง 1
ล้อด้ำนขวำต่อเข้ำกับช่อง
ขับมอเตอร์ไฟตรงช่อง 2
เซนเซอร์ตรวจจับเส้น (ZX-03)
ต่อเข้ำกับช่อง ADC0
เซนเซอร์ตรวจจับเส้น(ZX-03)
ต่อเข้ำกับช่อง ADC1
เซอร์โวมอเตอร์ต่อเข้ำกับ
จุดต่อ SERVO1
#BITwww.inex.co.t
กลุ่มชุดคำสั่งควบคุมหุ่นยนต์ iBIT
#BITwww.inex.co.t
ชุดคำสั่งควบคุมมอเตอร์เดี่ยว
#BITwww.inex.co.t
สำหรับหุ่นยนต์ IBIT รูปแบบกำรอ้ำงอิงคือ
- มอเตอร์ช่อง 1 ถูกเชื่อมต่อเข้ำกับล้อด้ำนซ้ำย
- มอเตอร์ช่อง 2 ถูกเชื่อมต่อเข้ำกับล้อด้ำนขวำ
คาสั่งสาหรับสั่งการให้มอเตอร์แต่ละล้อเคลื่อนที่ตามที่กาหนด
- สั่งกำรให้ มอเตอร์ช่อง 1 หมุนไปข้ำงหน้ำตำมกำลังขับที่กำหนด
- สั่งกำรให้ มอเตอร์ช่อง 1 หมุนไปข้ำงหลังตำมกำลังขับที่กำหนด
- สั่งกำรให้ มอเตอร์ช่อง 2 หมุนไปข้ำงหน้ำตำมกำลังขับที่กำหนด
- สั่งกำรให้ มอเตอร์ช่อง 2 หมุนไปข้ำงหลังตำมกำลังขับที่กำหนด
#BITwww.inex.co.t
ชุดคำสั่งควบคุมมอเตอร์คู่
#BITwww.inex.co.t
สั่งการให้หุ่นยนต์เคลื่อนที่ไปข้างหน้า
ตามกาลังขับที่กาหนด
คำสั่งสำหรับสั่งกำรให้หุ่นยนต์เคลื่อนที่ไปข้ำงหน้ำ
#BITwww.inex.co.t
สั่งกำรให้หุ่นยนต์เคลื่อนที่ไปข้ำงหลัง
ตำมกำลังขับที่กำหนด
คำสั่งสำหรับสั่งกำรให้หุ่นยนต์เคลื่อนที่ไปข้ำงหลัง
#BITwww.inex.co.t
สั่งกำรให้หุ่นยนต์หมุนตัวไปทำงซ้ำย
ตำมกำลังขับที่กำหนด (2 ล้อช่วยกันหมุน)
คำสั่งสำหรับสั่งกำรให้หุ่นยนต์หมุนตัวไปทำงซ้ำย
#BITwww.inex.co.t
สั่งการให้หุ่นยนต์หมุนตัวไปทางขวา
ตามกาลังขับที่กาหนด (2 ล้อช่วยกันหมุน)
คำสั่งสำหรับสั่งกำรให้หุ่นยนต์หมุนตัวไปทำงขวำ
#BITwww.inex.co.t
สั่งกำรให้หุ่นยนต์หมุนตัวไปทำงซ้ำย
ตำมกำลังขับที่กำหนด (หมุนเพียงล้อเดียว)
คำสั่งสำหรับสั่งกำรให้หุ่นยนต์หมุนตัวไปทำงซ้ำย
#BITwww.inex.co.t
สั่งกำรให้หุ่นยนต์หมุนตัวไปทำงขวำ
ตำมกำลังขับที่กำหนด (หมุนเพียงล้อเดียว)
คำสั่งสำหรับสั่งกำรให้หุ่นยนต์หมุนตัวไปทำงขวำ
#BITwww.inex.co.t
สั่งการให้หุ่นยนต์หยุดการเคลื่อนที่
คำสั่งสำหรับสั่งกำรให้หุ่นยนต์หยุดกำรเคลื่อนที่
#BITwww.inex.co.t
ผลลัพธ์การทางาน
หุ่นยนต์รอจนกระทั่งผู้ใช้งานกดปุ่ม A จากนั้นหุ่นยนต์จะเคลื่อนที่
ไปข้างหน้าประมาณ 1.5 วินาที แล้วหยุดการเคลื่อนที่
ตัวอย่ำงโปรแกรมหุ่นยนต์ที่ 1 ทดสอบควบคุมหุ่นยนต์อย่ำงง่ำย
#BITwww.inex.co.t
ผลลัพธ์กำรทำงำน
หุ่นยนต์รอจนกระทั่งผู้ใช้งำนกดปุ่ม A จำกนั้นหุ่นยนต์จะเคลื่อนที่ไปข้ำงหน้ำ
ประมำณ 1 วินำที และหมุนตัวเลี้ยวซ้ำย 0.3 วินำที อย่ำงต่อเนื่อง
ตัวอย่ำงโปรแกรมหุ่นยนต์ที่ 2 ทดสอบควบคุมหุ่นยนต์อย่ำงง่ำย
#BITwww.inex.co.t
ชุดคำสั่งอ่ำนค่ำอะนำลอกและกำรใช้งำนร่วมกับเซนเซอร์
วัดปริมำณแสงสะท้อนอินฟรำเรด (ZX-03)
กำรอ่ำนค่ำเซ็นเซอร์ ZX-03
#BITwww.inex.co.t
การใช้งานเซนเซอร์ ZX-03 วัดปริมาณแสงสะท้อนอินฟราเรดสาหรับภารกิจหุ่นยนต์ มีเป้าหมาย
คือนามาใช้งานเพื่อแยกแยะระหว่างเส้นสนามพื้นและสนามโดยทั้งคู่มักจะมีสีที่แตกต่างกันชัดเจน เช่น
เส้นมีสีดาส่วนพื้นมีสีขาว หรือเส้นมีสีขาวส่วนพื้นมีสีดา เป็นต้น โดยที่ชุดคาสั่งอ่านค่าอะนาลอกของ IBIT
นั้นจะให้ค่าความละเอียด 12 บิต ทาให้ค่าตัวเลขที่อ่านได้จากสภาวะแวดล้อมที่เป็นไปได้จะมีค่าในช่วง
0 ถึง 4095
โดยสรุปคือเมื่อนาเซนเซอร์ไปตรวจวัดบริเวณวัตถุที่มีสีสะท้อนแสงได้ดี ตัวอย่างเช่น พื้นสนามสี
ขาวค่าปริมาณการสะท้องแสงอินฟราเรดที่กลับเข้ามายังภาครับของเซนเซอร์จะมีปริมาณมาก ส่งผลให้
ค่าที่อ่านได้จะสูงตามไปด้วย แต่ในทางกลับกันเมื่อนาเซนเซอร์ไปตรวจวัดบริเวณ สีดา ค่าปริมาณการ
สะท้อนของแสงอินฟราเรดที่กลับเข้ามายังภาครับของเซนเซอร์จะมีปริมาณที่น้อย ส่งผลให้ค่าที่อ่านได้จะ
มีค่าน้อยตามไปด้วย
กำรอ่ำนค่ำเซ็นเซอร์ ZX-03
#BITwww.inex.co.t
ผลลัพธ์การทางาน
- เมื่อผู้ใช้งานกดปุ่ม A ค่าอะนาลอกช่อง 0 ที่อ่านได้จากเซนเซอร์ (เซนเซอร์ด้านซ้าย)
จะถูกนาไปแสดงผลที่ LED
- เมื่อผู้ใช้งานกดปุ่ม B ค่าอะนาลอกช่อง 1 ที่อ่านได้จากเซนเซอร์ (เซนเซอร์ด้านขวา)
จะถูกนาไปแสดงผลที่ LED
สาหรับค่าอะนาลอกที่อ่านได้จากเซนเซอร์ทั้งสองที่เป็นไปได้จะอยู่ในช่วง 0 - 4095
เท่านั้น
ตัวอย่ำงโปรแกรม ทดสอบอ่ำนค่ำอะนำลอกจำก ZX-03 เพื่อประเมินค่ำที่แยกแยะระหว่ำงเส้นสีดำและพื้นสีขำว
#BITwww.inex.co.t
ตรวจสอบค่ำอะนำลอกจำก ZX-03 และหำค่ำเฉลี่ยของสนำม
อ่ำนค่ำเส้นสนำมสีดำทั้ง 2 ด้ำนโดย
บันทึกค่ำสูงสุดที่อ่ำนได้ ในที่นี้สมมุติ
ว่ำได้ค่ำเป็น 500
อ่ำนค่ำเส้นสนำมสีขำวทั้ง 2 ด้ำน
โดยบันทึกค่ำต่ำสุดที่อ่ำนได้ ในที่นี้
สมมุติว่ำได้ค่ำเป็น 2500
ค่ำเฉลี่ยอ้ำงอิง (Ref) =
(500+2500) / 2 = 1500
#BITwww.inex.co.t
เริ่มจำกเซนเซอร์ด้ำนซ้ำย
- เมื่อผู้ใช้งำนกดปุ่ม A ค่ำอะนำลอกช่อง 0 ที่อ่ำนได้จำกเซนเซอร์ (เซนเซอร์ด้ำนซ้ำย)
จะถูกนำไปแสดงผลที่ LED
- เมื่อผู้ใช้งำนกดปุ่ม B ค่ำอะนำลอกช่อง 1 ที่อ่ำนได้จำกเซนเซอร์ (เซนเซอร์ด้ำนขวำ)
จะถูกนำไปแสดงผลที่ LED
โดยที่ค่ำที่อ่ำนได้จำกเซนเซอร์ทั้งสองที่เป็นไปได้จะอยู่ในช่วง 0-4095 เท่ำนั้น
สรุปผลการทดสอบหาค่าเฉลี่ยอ้างอิงตามตัวอย่างมีค่าเท่ากับ 1500 โดย
จะนาค่าดังกล่าวไปใช้พัฒนาโปรแกรมตรวจจับเส้นสนามต่อไปในอนาคต
กำรทดสอบอ่ำนค่ำอะนำลอกสภำวะแวดล้อมสนำมจำกโปรแกรมทดสอบ
#BITwww.inex.co.t
ผลลัพธ์กำรทำงำน
หุ่นยนต์จะตรวจอ่ำนค่ำเซนเซอร์ทำงด้ำนซ้ำยมำเปรียบเทียบว่ำพบ
เส้นสีดำหรือยัง ถ้ำพบแล้วจะทำให้เงื่อนไขดังกล่ำวเป็นจริง (ค่ำตัวแปร Left
น้อยกว่ำ Ref ) โดยจะแสดงภำพ HAPPY แต่ถ้ำไม่ใช่จะแสดงภำพ SAD
ตัวอย่ำงโปรแกรมหุ่นยนต์ที่ 3 หุ่นยนต์ตรวจจับเส้นอย่ำงง่ำย
#BITwww.inex.co.t
ผลลัพธ์กำรทำงำน
หุ่นยนต์จะอ่ำนค่ำเซนเซอร์ทำงด้ำนซ้ำยและขวำมำเปรียบเทียบว่ำพบเส้นสีดำทั้งคู่หรือ
ยัง ถ้ำพบเส้นสีดำทั้งคู่จริงจึงจะทำให้เงื่อนไขดังกล่ำวเป็นจริง (ค่ำตัวแปร Left น้อยกว่ำ Ref และ
ค่ำตัวแปร Right น้อยกว่ำ Ref) โดยจะแสดงภำพ HAPPY แต่ถ้ำไม่ใช่จะแสดงภำพ SAD
ตัวอย่ำงโปรแกรมหุ่นยนต์ที่ 4 หุ่นยนต์ตรวจจับเส้นอย่ำงง่ำย
#BITwww.inex.co.t
ผลลัพธ์กำรทำงำน
หลังจำกกดปุ่ม A หุ่นยนต์จะอ่ำนค่ำเซนเซอร์ทำงด้ำนซ้ำยและขวำมำ
เปรียบเทียบว่ำพบเส้นสีดำทั้งคู่หรือยัง ถ้ำพบทั้งคู่เป็นจริงจึงจะทำให้เงื่อนไขดังกล่ำว
เป็นจริง จะสั่งให้หุ่นยนต์หยุดเคลื่อนที่แล้วเบรกโปรแกรมไม่ให้ไปไหนด้วยลูป while
ที่เป็นจริงเสมอ แต่ถ้ำเงื่อนไขเป็นเท็จจะสั่งให้หุ่นยนต์เคลื่อนที่ไปข้ำงหน้ำ
ตัวอย่ำงโปรแกรมหุ่นยนต์ที่ 5 หุ่นยนต์ตรวจจับเส้นอย่ำงง่ำย
#BITwww.inex.co.t
วิธีกำรทดสอบปล่อยตัวหุ่นยนต์
2
กดปุ่ม A เพื่อปล่อยตัวหุ่นยนต์
เมื่อหุ่นยนต์เคลื่อนที่ไปพบ
เส้นจะหยุดกำรเคลื่อนที่
1
#BITwww.inex.co.t
หลักกำรขับเคลื่อนหุ่นยนต์เคลื่อนที่ตำมเส้นอย่ำงง่ำย
#BITwww.inex.co.t
1
ในกรณีนี้จะสั่งกำรให้หุ่นยนต์
เคลื่อนที่ไปข้ำงหน้ำต่อไป
ในกรณีที่เซนเซอร์ด้ำนซ้ำยและด้ำนขวำพบพื้นสีขำว
#BITwww.inex.co.t
2
ในกรณีนี้จะสั่งกำรให้หุ่นยนต์หมุน
ตัวไปด้ำนซ้ำยเพื่อพยำยำมกลับไป
คร่อมเส้นหรือให้หุ่นยนต์อยู่ตรง
กลำงเส้นอีกครั้งหนึ่ง
กรณีที่เซนเซอร์ด้ำนซ้ำยพบเส้นสีดำและด้ำนขวำพบพื้นสีขำว
#BITwww.inex.co.t
3
ในกรณีนี้จะสั่งกำรให้หุ่นยนต์หมุน
ตัวไปด้ำนขวำเพื่อพยำยำมกลับไป
คร่อมเส้นหรือให้หุ่นยนต์อยู่ตรง
กลำงเส้นอีกครั้งหนึ่ง
กรณีที่เซนเซอร์ด้ำนซ้ำยพบเส้นสีขำวและด้ำนขวำพบพื้นสีดำ
#BITwww.inex.co.t
4
ในกรณีนี้จะสั่งกำรให้หุ่นยนต์
เคลื่อนที่ไปในทิศทำงที่เหมำะสมของ
รูปแบบสนำม
กรณีที่เซนเซอร์ด้ำนซ้ำยพบเส้นสีดำและด้ำนขวำพบพื้นสีดำ
#BITwww.inex.co.t
ตัวอย่ำงโปรแกรมหุ่นยนต์ที่ 6 หุ่นยนต์ตรวจจับเส้นอย่ำงง่ำย
ผลลัพธ์กำรทำงำน
หลังจำกกดปุ่ม A หุ่นยนต์จะอ่ำนค่ำเซนเซอร์ทำงด้ำนซ้ำยและขวำมำเปรียบเทียบร่วมกัน
โดยเงื่อนไข if 3 กรณีแรกจะพยำยำมบังคับให้หุ่นยนต์เคลื่อนที่คร่อมเส้นเป็นหลัก ส่วนกรณีที่ 4 เป็น
กำรตรวจสอบว่ำพบเส้นตัดหรือยังซึ่งถ้ำใช่จะสั่งให้หุ่นยนต์เคลื่อนที่ไปข้ำงหน้ำ (ข้ำมเส้นตัดนั้นไป)
#BITwww.inex.co.t
กดเลือกเมนู Advanced >
Functions จากนั้นเลือกรายการ
Make a Function
กำรสร้ำงฟังก์ชั่น
1
#BITwww.inex.co.t
2 ทำกำรกำหนดชื่อฟังก์ชั่นที่จะทำกำรสร้ำง ในตัวอย่ำงชื่อว่ำ myFunction
กำรสร้ำงฟังก์ชั่น
#BITwww.inex.co.t
บล็อกฟังก์ชั่นชื่อว่ำ myFunction จะปรำกฏขึ้นมำให้ใช้งำน
กำรสร้ำงฟังก์ชั่น
3
#BITwww.inex.co.t
กำหนดคำสั่งที่จะให้ฟังก์ชั่นนี้ทำงำน เข้ำไปเมื่อมีกำรเรียกใช้
myFunction4
กำรสร้ำงฟังก์ชั่น
#BITwww.inex.co.t
ฟังก์ชั่นที่ถูกสร้างจะถูกบรรจุชื่อในเมนูของ Function โดยอัตโนมัติ
กำรสร้ำงฟังก์ชั่น
5
#BITwww.inex.co.t
สำมำรถเรียกใช้งำนได้ตำมส่วนต่ำงๆ ของโปรแกรม
กำรสร้ำงฟังก์ชั่น
6
#BITwww.inex.co.t
ตัวอย่ำงกำรสร้ำงฟังก์ชั่น
สำหรับแก้ปัญหำเมื่อพบทำงแยก
#BITwww.inex.co.t
หน้ำที่กำรทำงำนของฟังก์ชั่นนี้คือ
วนตรวจสอบสถำนะเซนเซอร์ทั้งสองตัว
และพยำยำมสั่งกำรควบคุมให้หุ่นยนต์
เคลื่อนที่คร่อมเส้นสีดำอยู่ตลอดเวลำ
แต่เมื่อพบเงื่อนไขเส้นตัดจะสั่งกำรให้
หุ่นยนต์หยุดเคลื่อนที่
ตัวอย่ำงกำรสร้ำงฟังก์ชั่น Cross_Stop
#BITwww.inex.co.t
ตัวอย่ำงกำรสร้ำงฟังก์ชั่น Cross_Stop และเรียกใช้งาน
#BITwww.inex.co.t
หน้ำที่กำรทำงำนของฟังก์ชั่นนี้คือ
วนตรวจสอบสถำนะเซนเซอร์ทั้งสองตัว
และพยำยำมสั่งกำรควบคุมให้หุ่นยนต์
เคลื่อนที่คร่อมเส้นสีดำอยู่ตลอดเวลำ
แต่เมื่อพบเงื่อนไขเส้นตัดจะสั่งกำรให้
หุ่นยนต์หมุนตัวเปลี่ยนเส้นทำงไป
ทำงซ้ำย
ตัวอย่ำงกำรสร้ำงฟังก์ชั่น Cross_Left
#BITwww.inex.co.t
ตัวอย่ำงกำรสร้ำงฟังก์ชั่น Cross_Left และเรียกใช้งาน
#BITwww.inex.co.t
เป้ ำหมำยคือปล่อยตัวหุ่นยนต์จำก
ตำแหน่งที่ 1 จำกนั้นหุ่นยนต์จะต้องเคลื่อนที่
ตำมเส้นเมื่อพบทำงแยกต้องเลี้ยวเปลี่ยน
เส้นทำงไปด้ำนซ้ำยแล้วไปหยุดที่เส้นตัด
ปลำยทำงในจุดที่ 2 ตำมรูป
ตัวอย่ำงโปรแกรมหุ่นยนต์ที่ 7 หุ่นยนต์เคลื่อนที่ไปตำมเส้นทำงที่กำหนด
1
2
#BITwww.inex.co.t
ตัวอย่ำงโปรแกรมหุ่นยนต์ที่ 7 หุ่นยนต์เคลื่อนที่ไปตำมเส้นทำงที่กำหนด
#BITwww.inex.co.t
ชุดคำสั่งควบคุมเซอร์โวมอเตอร์
#BITwww.inex.co.t
สั่งงำนเซอร์โวให้เคลื่อนที่ไปยังตำแหน่ง
ต่ำงๆในช่วง 0-180 โดยมีให้เลือกใช้งำน
ช่อง 1 และช่อง 2
สำหรับเซอร์โวของหุ่นยนต์
iBIT ถูกต่อใช้งำนไว้ที่ช่อง 1
ชุดคำสั่งควบคุมเซอร์โวมอเตอร์
#BITwww.inex.co.t
ตำแหน่ง 0
ตำแหน่ง 45
ตำแหน่ง 90
ตำแหน่ง 135
ตำแหน่ง 180
แนวโน้มค่ำตำแหน่งของเซอร์โวตำมโครงสร้ำงที่ติดตั้งกับหุ่นยนต์ iBIT
#BITwww.inex.co.t
ผลลัพธ์กำรทำงำน
- เมื่อผู้ใช้งำนกดปุ่ม A แขนปัดจะเคลื่อนที่ไปยังตำแหน่ง 150
- เมื่อผู้ใช้งำนกดปุ่ม B แขนปัดจะเคลื่อนที่ไปยังตำแหน่ง 10
หลังจำกนั้นอำจลองทดสอบเปลี่ยนค่ำระหว่ำง 10-160 เพื่อมิให้แกน
เซอร์โวเกินค่ำขอบเขตและเกิดควำมเสียหำย
ตัวอย่ำงโปรแกรม ทดสอบค่ำตำแหน่งเซอร์โว
#BITwww.inex.co.t
ผลลัพธ์กำรทำงำน
- เมื่อผู้ใช้งำนกดปุ่ม A โปรแกรมจะสั่งให้แขนปัดจะเคลื่อนที่ไปยังตำแหน่ง
160 และหน่วงเวลำ 0.5 วินำที เพื่อให้แขนปัดย้ำยตำแหน่งได้ทัน จำกนั้นแขนปัด
จะเคลื่อนที่ย้ำยตำแหน่งกลับมำที่ตำแหน่ง 10 และหน่วงเวลำ 0.5 วินำที เพื่อให้
แขนปัดย้ำยตำแหน่งได้ทัน
ตัวอย่ำงโปรแกรมหุ่นยนต์ที่ 8 สร้ำงฟังก์ชั่นแขนปัด
#BITwww.inex.co.t
บริษัท อินโนเวตีฟ เอ็กเพอริเมนต์ จากัด
108 ซอยสุขุมวิท 101/2 ถ.สุขุมวิท
แขวงบำงนำ เขตบำงนำ กรุงเทพฯ 10260
โทรศัพท์ 02-7477001-4 โทรสำร 02-7477005
Email : awiruth@inex.co.th
www.inex.co.th
นายอวิรุทธ์ วิชาเร็ว ตำแหน่ง : วิศวกร

การใช้งานหุ่นยนต์ i-BIT หุ่นยนต์ micro:bit ด้วย Microsoft Make Code