Nanobit with microPython ตอนที่ 3

ทดสอบชุดคำสั่งควบคุมฮาร์ดแวร์ผ่าน 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 ในรูปแบบปกติกันบ้าง คอยติดตามครับ

Facebook Comments Box