งาน Internet of Things นี้ขอบอกเลยว่า งานที่ยากที่สุด คือ ไอเดีย หรือความคิดสร้างสรรค์ หรือจินตนาการที่จะผลิตหรือสร้างอะไร ดังนั้น ทุกคนสามารถสร้างงานออกมาได้ โดยเฉพาะในด้านเทคนิควิธีการ เราสามารถหาอ่านเอาได้จากอินเทอร์เน็ต หรือดูจาก youtube
ตอนที่ 2 ได้เขียนถึงภาพรวม การทำงานของ Internet of Things มีองค์ประกอบอะไรบ้าง มันทำงานสัมพันธ์กันอย่างไร ถ้าให้ครบวงจรการทำงานของมันจะต้องใช้อะไรบ้าง
ตอนที่ 3 ได้เขียนถึง คำสั่งเพื่อทดสอบการทำงานของบอร์ด และได้ทดสอบโปรแกรม รวมทั้งการต่อวงจร LED เพื่อดูผลลัพธ์
มาตอนที่ 4 จะเป็นการเขียนโปรแกรมเพิ่มความซับซ้อนขึ้นมานิดหนึ่ง โดยจะจำลองเป็นการสั่งงานให้เปิดปิดไฟจราจร 3 สี แต่ทดลองทำเพียงด้านเดียวก่อน ถ้าต้องการทำหลายด้าน ก็สามารถทำได้โดยการเขียนคำสั่งให้พอร์ตอื่น ๆ ทำงานตามต้องการ
มาดู code กัน
#---------------------------------------------------------------------
#source code: traffic.py
import RPi.GPIO as GPIO
import time
red = 18
import time
red = 18
green = 23
yellow = 24
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(red,GPIO.OUT)
GPIO.setup(green,GPIO.OUT)
GPIO.setup(yellow,GPIO.OUT)
GPIO.setwarnings(False)
GPIO.setup(red,GPIO.OUT)
GPIO.setup(green,GPIO.OUT)
GPIO.setup(yellow,GPIO.OUT)
#function
def blink(pin, stime, count):
for i in range(count):
GPIO.output(pin,GPIO.HIGH)
time.sleep(stime)
GPIO.output(pin,GPIO.LOW)
time.sleep(stime)
for i in range(count):
GPIO.output(pin,GPIO.HIGH)
time.sleep(stime)
GPIO.output(pin,GPIO.LOW)
time.sleep(stime)
#main program
while True:
#stop state
GPIO.output(red,GPIO.HIGH)
time.sleep(10)
blink(red,0.25,5)
GPIO.output(red,GPIO.LOW)
time.sleep(10)
blink(red,0.25,5)
GPIO.output(red,GPIO.LOW)
#go state
GPIO.output(green,GPIO.HIGH)
time.sleep(10)
blink(green,0.15,10)
GPIO.output(green,GPIO.LOW)
time.sleep(10)
blink(green,0.15,10)
GPIO.output(green,GPIO.LOW)
#stop ready
GPIO.output(yellow,GPIO.HIGH)
time.sleep(3)
GPIO.output(yellow,GPIO.LOW)
time.sleep(0.5)
GPIO.output(yellow,GPIO.HIGH)
time.sleep(3)
GPIO.output(yellow,GPIO.LOW)
time.sleep(0.5)
#-------------------------------------------------------------
Save file กำหนดชื่อ traffic.py
เมื่อสั่ง Run โปรแกรมที่ terminal ด้วยคำสั่ง
$ sudo python traffic.py
จะได้ผลลัพธ์ดังนี้
หากผู้อ่านได้ทดลองเอาคำสั่งของโปรแกรมนี้ไปใช้ ท่านต้อง
ต่อขา 18 เป็น LED สีแดง
ต่อขา 23 เป็น LED สีเขียว
ต่อขา 24 เป็น LED สีเหลือง
ได้ทำเสนอแนะเกี่ยวกับการกระพริบของไฟเขียวและไฟแดง ไว้ในตอนท้าย เพื่อให้ผู้ขับรถเตรียมตัว หรือระมัดระวัง เอาไว้ด้วย
ในตอนต่อไปจะได้เขียนโปรแกรมเพิ่มฟังก์ชันให้ตำรวจจราจร กดปุ่มเพื่อปล่อยรถในแต่ละแยกได้ตามต้องการ
แล้วตอนถัดไป จะเขียนโปรแกรมให้มีการเก็บข้อมูลการกดปุ่มของจราจร เพื่อนำไปใช้ในการวิเคราะห์ (analysis) เพื่อใช้ในงาน internet of things ได้ครบวงจรต่อไป
โปรดคอยติดตาม......
ไม่มีความคิดเห็น:
แสดงความคิดเห็น