แล้ว Raspberry Pi ก็นอนค้างอยู่ที่โต๊ะจนฝุ่นเกาะ จนล่าสุดเลยเอามาดูหนังฟังเพลง โดยลง OpenElec สำหรับดูหนังตัวหนึ่ง ลง Volumio สำหรับฟังเพลงเครื่องหนึ่ง
รวมๆ ก็ถือว่าใช้ได้ดี แต่บังเอิญอยากทำปุ่มควบคุม Volumio โดยไม่ต้องเปิดเครื่องคอมพิวเตอร์ สุดท้ายก็ลองเขียนโปรแกรมควบคุมผ่าน Python ก็พอเขียนได้แต่ยังไม่สามารถประยุกต์ใช้ได้อย่างเต็มประสิทธิภาพ คงต้องอาศัยประสบการณ์สักพัก
บทความนี้ไม่ได้กล่าวถึงการติดตั้ง python ต้องอ่านและทำตามวิธีการติดตั้งที่ เว็บนี้
ใช้ GPIO Extension Board เพื่อสะดวกต่อการเชื่อมต่ออุปกรณ์อื่นๆ |
เริ่มจากเขียนคำสั่งแรก ซึ่งต้องนำเข้าโมดูล GPIO และเรียกใช้โมดูล time เพื่อหน่วงเวลาตอนกดปุ่ม
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(17,GPIO.IN)
prev_input = 0
while True:
input = GPIO.input(17)
if ((not prev_input) and input):
print("Button pressed")
prev_input = input
time.sleep(0.05)
อธิบายโค้ด:
กำหนดขา 17 ให้เป็น Input
กำหนดค่า prev_input = 0 ใช้ในการตรวจสอบปุ่มกดก่อนหน้า
ทำงานไปเรื่อยๆ ด้วยคำสั่ง while True
เก็บค่าสถานะของขา 17 ไว้ในตัวแปรชื่อ input
ตรวจสอบถ้า ก่อนหน้าไม่ได้กดปุ่ม prev_input = 0 และมีสถานะ HIGH มาที่ขา 17
ให้พิมพ์ข้อความ "Button pressed"
เก็บค่า input ไว้ใน prev_input เพื่ออ้างอิงค่า
หน่วงเวลา 0.05
การเชื่อมต่ออุปกรณ์เข้ากับ Raspberry Pi
ต่อวงจรเพื่อรับค่าจากสวิทช์ |
แค่นี้ก็สามารถใช้งานปุ่มกดกับบอร์ด Raspberry Pi ได้แล้ว และบทความต่อไปจะเขียนคำสั่งควบคุมการเล่นเพลงผ่าน MPD Server คอยติดตามนะครับ
อ่านเพิ่มเติมได้ที่:
https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/robot/buttons_and_switches/
ไม่มีความคิดเห็น:
แสดงความคิดเห็น