ทดสอบชุดคำสั่งควบคุมฮาร์ดแวร์ผ่าน Command Line
ยังอยู่ที่หน้าต่าง REPL นะครับ ในตอนนี้จะมาดูคำสั่งเพิ่มเติมเพื่อใช้งานผ่าน Command Line ซึ่งทำให้เข้าใจการใช้งานภาษา Python กับ Nanobit มากขึ้น
ติดตั้ง Nanobit บนบอร์ด AX-nanobit
เพื่อให้การใช้งานฮาร์ดแวร์ได้สะดวกและหลากหลายมากขึ้น บอร์ด AX-nanobit จะช่วยให้เราแสดงข้อความผ่าน LED 5×5 แสดงเสียง และเชื่อมต่อตัวต้านทานปรับค่าได้เพื่ออ่านค่าอะนาลอกได้ด้วย
ตัวอย่างที่ 4 ทดสอบพิมพ์คำสั่งติดต่อฮาร์ดแวร์
ทดสอบพิมพ์คำสั่ง เพื่อแสดงข้อความที่ LED 5×5
>>> display.scroll
(‘Kritsada’)
แสดงค่าเวลาหน่วยเป็นมิลลิวินาทีตั้งแต่เริ่มจ่ายไฟหรือรีเซต
>>> running_time()
ตรวจสอบผลจากการกดสวิตช์ A
>>> button_a.is_pressed()
คำสั่งนี้จะคืนค่าเป็นเท็จ False ถ้าสวิตช์ไม่ถูกกด และคืนค่าเป็นจริง True ถ้าสวิตช์ถูกกด การทดสอบให้กดสวิตช์ค้างไว้ก่อนแล้วจึงค่อยกด Enter ที่คำสั่งเพื่อดูผล
Note 1
เคล็ดลับของการพิมพ์ชุดคำสั่งที่ยาวๆ เช่นชื่อคำสั่งคือ display เราอาจพิมพ์ di จากนั้นเคาะ Tab คำสั่ง display จะปรากฏขึ้นมา
Note 2
คำสั่งที่เคยพิมพ์ไปแล้ว สามารถใช้ลูกศรชี้ขึ้นลงเพื่อเรียกกลับมาได้ โดยจะเรียกย้อนกลับสูงสุดได้ 9 คำสั่ง
Note 3
พิมพ์คำสั่ง help() เพื่อเรียกวิธีการใช้งานเบื้องต้นได้
พิมพ์คำสั่ง help(คำสั่งที่ต้องการ) เพื่อดูว่าคำสั่งนั้นทำหน้าที่อย่างไร
Note 4
พิมพ์ dir() เพื่อดูว่ามีคำสั่งอะไรให้ใช้งานบ้าง
พิมพ์ dir(คำสั่งที่ต้องการ) เพื่อดูว่าคำสั่งนั้นรองรับฟังก์ชั่นอะไรบ้าง
ตัวอย่างที่ 5 ใช้ dir() ค้นหาคำสั่งที่ใช้งานได้กับ Nanobit
พิมพ์คำสั่ง dir()
ใช้เพื่อแสดงรายการคำสั่งให้เราทราบว่ามีคำสั่งอะไรให้เราใช้งานได้บ้าง ทดสอบพิมพ์ดังนี้
เพื่อให้ทราบว่าภายในคำสั่งเหล่านั้นมีฟังก์ชั่นอะไรให้เรียกใช้งานได้บ้าง สามารถพิมพ์คำสั่ง dir(คำสั่งที่ต้องการ)
ตัวอย่างที่ 6 ควบคุมการติดดับ LED ที่ขา P15 ของ Nanobit
บอร์ด Nanobit มี LED ติดตั้งอยู่ที่ตำแหน่ง P15 ถ้าส่งค่า “1” ไปให้ LED จะติดสว่าง ถ้าส่ง “0” LED จะดับ ดังนั้นทดสอบพิมพ์คำสั่งดังนี้
>>> pin15.write_digital(1)
LED จะติดสว่าง
>>> pin15.write_digital(0)
LED จะดับ
ตัวอย่างที่ 7 ให้ LED 5×5 ติดดับในตำแหน่งที่ต้องการ
คำสั่ง display ใช้เพื่อสั่งงาน LED 5×5 ซึ่งนอกจากแสดงข้อความแล้ว ยังสามารถใช้คำสั่ง set_pixel เพื่อให้ LED ในตำแหน่งที่ต้องการติดหรือดับได้ โดยนอกจากระบุพิกัด X Y ค่า 0-4 แล้ว ยังต้องระบุความสว่างของ LED 0-9 อีกด้วย โดยค่า 0 LED จะดับ
ให้ LED ตำแหน่งกึ่งกลางติดสว่าง
>>> display.set_pixel(2,2,9)
ให้ LED ตำแหน่งกึ่งกลางดับ
>>> display.set_pixel(2,2,0)
สำหรับคำสั่งในโหมด display มีรูปแบบการทำงานดังนี้
get_pixel(x,y) ใช้ตรวจสอบสถานะตำแหน่ง LED ตามตำแหน่ง x,y ที่กำหนดว่าเป็นอย่างไร ให้ผลลัพธ์ 0-9 โดยค่า 0 LED ดับ 9 LED สว่างสุด
set_pixel(x,y,B) ใช้ส่งค่าไปให้ LED 5×5 ตามตำแหน่ง x,y ที่กำหนด โดยกำหนดค่าความสว่าง B ได้ 0-9
show(Msg) แสดงข้อความ Msg โดยแสดงทีละตัว
scroll(Msg) แสดงข้อความ Msg โดยใช้วิธีการเลื่อนข้อความ
clear() เคลียร์หน้าจอ LED 5×5
on() เปิดการแสดงผลหน้าจอ LED 5×5
off() ปิดการแสดงผลหน้าจอ LED 5×5
is_on() ตรวจสอบสถานะของหน้าจอว่าปิดหรือเปิดอยู่
read_light_level() ใช้ LED 5×5 ย้อนกลับมาอ่านค่าแสง โดยให้ค่าในช่วง 0-255
ตัวอย่างที่ 8 อ่านค่าแอนะล็อกจากตัวต้านทานปรับค่าได้ P2
สังเกตว่าเมื่อตรวจสอบฟังก์ชั่น ของ P15 ด้วยคำสั่ง dir() จะไม่พบคำสั่งอ่านค่าแอนะล็อก เพราะขาที่อ่านค่าแอนะล็อกได้จะมีเฉพาะขา 0,1,2,3,4 และ 10 เท่านั้น เมื่อตรวจสอบฟังก์ชั่นในขา P2 จะพบคำสั่ง read_analog ขึ้นมาด้วย
สำหรับค่าแอนะล็อกที่อ่านได้จะอยู่ในช่วง 0-1023
ตัวอย่างที่ 9 แสดงไอคอนที่ LED 5×5 ด้วย Image
Image เป็นพื้นที่หน่วยความจำที่เก็บรูปภาพไอคอนต่างๆ ไว้ค่อนข้างมาก จากตัวอย่างเป็นไอคอนหน้ายิ้ม (HAPPY) เพื่อให้ทราบว่าไอคอนเหล่านี้มีอะไรบ้าง สามารถพิมพ์คำสั่ง เพื่อตรวจสอบได้ดังนี้
ทดสอบแสดงไอคอนรูปหัวใจ
>>> display.show(Image.HEART)
แสดงรูปหน้ายิ้ม
>>> display.show(Image.HAPPY)
นอกจากนี้สำหรับการแสดงเป็น Animation มีกลุ่ม ICON ALL_ARROWS และ ALL_CLOCKS ที่เอาไอคอนหลายตัวมาแสดงต่อเนื่องกันได้ สามารถทดสอบโดยพิมพ์
>>> display.show(Image.ALL_ARROWS)
และ
>>> display.show(Image.ALL_CLOCKS)
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับชุดคำสั่งที่ใช้ สามารถเข้าไปดูได้ที่ microbit-micropython.readthedocs.io
ตอนต่อไป จะมาเขียนโค้ดภาษา Python ในรูปแบบปกติกันบ้าง คอยติดตามครับ