18. Wio Terminal EP.05, เซนเซอร์แสง


Wio Terminal EP.05, เซนเซอร์แสง Light Sensor

บนตัวเครื่อง  Wio Terminal นอกจากมีสวิตช์ 5 ทิศทาง และ สวิตช์กด 3 ตัวแล้ว ยังมี LIGHT SENSOR และ IR EMITTER อีก จะมีวิธีนำมาใช้งานได้อย่างไร ใน EP.05 นี้ ขอนำเสนอ คำสั่งในการอ่านค่าความสว่างของแสง จากเซนเซอร์ ซึ่งติดตั้งอยู่ภายในตัวเครื่อง ทางด้านหลัง ที่มีแผ่นใส ปิดไว้ ในบริเวณที่วงสีแดง ตามรูปที่ 1 ไปทดลองกันเลยครับ 




รูปที่ 1 ตำแหน่งของ เซนเซอร์แสง

 คำอธิบาย
    เซนเซอร์แสง หรือ Light Sensor บนตัวเครื่อง Wio Terminal มีชื่อที่ต้องใช้ในการอ้างถึง คือ WIO_LIGHT แต่เนื่องจาก เซนเซอร์แสง เป็นอนาล็อก อินพุต ดังนั้นในการเรียกใช้งาน จึงจำเป็นต้องมีการ import ADC ซึ่งเป็นส่วนที่ใช้แปลง ค่าสัญญาณอนาล็อก เป็นค่าดิจิตัล และเรียกใช้คำสั่ง ดังนี้
light = ADC(Pin(Map.WIO_LIGHT, Pin.IN))


เขียนโค้ด โค้ดที่ใช้ทดสอบนี้ มีการอ่านค่า จำนวน 10 ครั้ง แล้วนำมาเฉลี่ย ก่อนที่จะแสดงผล

from machine import LCD, Pin, Map
from machine import ADC

lcd = LCD()
# สร้างฟังก์ชั่น สำหรับใช้แสดงข้อความ txt ที่ตำแหน่งพิกัด (px1,py1) ด้วยตัวอักขระสีเหลือง บนพื้นดำ
def stext(txt, px1, py1):
    lcd.setTextColor(lcd.color.YELLOW, lcd.color.BLACK)
    lcd.drawString(txt, px1, py1)

# main program
# กำหนดให้ จอภาพมีพื้นเป็นสีดำและ แสดงข้อความด้วยขนาด = 2
lcd.fillScreen(lcd.color.BLACK)
lcd.setTextSize(2)

# ประกาศเพื่อทำการอ่านค่าจากเซนเซอร์แสง
light = ADC(Pin(Map.WIO_LIGHT, Pin.IN))
value = 0

# วนรอบการทำงาน เพื่ออ่านค่า แปลงค่า และแสดงผล
while True:
    for i in range(10):
        value = light.read() + value
    value = int(value/10)  # เฉลี่ย 10 ครั้ง
    
    lcd.setTextSize(3)
# แสดงผลเป็นข้อความ LIGHT = ค่าที่อ่านได้ ต่อด้วย เว้นวรรค 3 ตัว เพื่อการแสดงผลที่สวยงาม
    stext("LIGHT = " + str(value)+"   ", 10 , 0)



ข้อสังเกตุ !! โค้ดคำสั่งที่มีคำสั่งวนรอบ while อยู่ด้วย เมื่อแก้ไขเสร็จ จะต้องเลื่อนสวิตช์ปิดเปิด ไปที่ รีเซ็ต 1 ครั้ง จึงสามารถ Save ได้ แต่หากในโค้ด ไม่มีคำสั่งวนรอบ คือทำงานเที่ยวเดียวแล้วจบ เมื่อแก้ไขแล้ว จะ Save ได้ทันที


 ผลที่ได้จากการทำงาน


รูปที่ 2 ผลจากการทำงานของคำสั่ง



โพสต์ยอดนิยมจากบล็อกนี้

14. Wio Terminal EP.01 , เริ่มตันกับ Wio Terminal ด้วย circuitPython

28. Wio Terminal GPS

24. Wio Terminal EP.11, อนาล็อกมิเตอร์ วัดความสว่างของแสง