โครงงานแรกที่นำมาเสนอให้ดูเป็นตัวอย่างคือการทำระบบไฟวิ่งและไฟกระพริบ ด้วยความยาวของการเขียน code ภาษา Python เพียง 19 บรรทัด
อธิบาย
1. Libraries :
from gadgets.led import ARRAY_LED
import time
Module ชื่อ ARRAY_LED เป็นหนึี่งในกลุ่มอุปกรณ์ประเภท LED ทำหน้าที่ดูแล LED หลายดวงพร้อมกัน
2. Funtion :
def lighting(l):
for j in range(2):
for i in ps:
l.blink([i],1,0.1)
for k in ps_rev:
l.blink([k],1,0.1)
for j in range(3):
l.blink(ps,3,0.1)
time.sleep(0.5)
lighting เป็นฟังก์ชั่นทำหน้าที่ในการแสดงการเปิด-ปิด LED ตามจังหวะเวลา ฟังก์ชั่นนี้รับ argument เข้ามาเป็น ARRAY_LED instance ซึ่งแทนที่ด้วย l
ARRAY_LED.blink(leds=[],numTimes=3,dur=0.1)
เป็นชุดคำสั่งให้ LED ที่ต่อกับ Pin หมายเลขต่าง ๆ ที่กำหนดไว้ใน leds=[] จำนวนครั้งของการกระพริบระบุไว้ที่ numTimes ระยะเวลาระหว่างการเปิด-ปิด กำหนดไว้ใน dur ในหน่วยของวินาที ในตัวอย่างกำหนดไว้เป็น
l.blink([i],1,0.1)
ซึ่งหมายถึงให้ LED ที่มีหมายเลข Pin ที่ i กระพริบ 1 ครั้ง ระยะเวลาห่างของการเปิด-ปิด เป็น 0.1 วินาที
3. Variables :
ps = [29,31,33,35,37]
ps_rev = ps[::-1] # reverse list
l = ARRAY_LED(ps)
สร้างตัวแปรขึ้นมา 3 ตัว คือps เป็น List เก็บหมายเลขตำแหน่งของ Pin ที่ใช้ต่อกับ LED
ps_rev ทำหน้าที่เดียวกับ ps เพียงแต่มีการเรียงลำดับของหมายเลขตำแหน่ง Pin สลับกัน
l คือตัวแปรที่เป็น instance ของ ARRAY_LED
4. Working :
for i in range(10):
lighting(l)
การทำงานคือการวน loop เรียกใช้ funtion lighting() นั่นเอง5. Cleanup :
l.cleanup()
เป็นการคืนทรัพยากรให้ระบบ และล้างสถานะของ Pin ที่ใช้งานCode ที่สำเร็จแล้ว
from gadgets.led import ARRAY_LED
import time
def lighting(l):
for j in range(2):
for i in ps:
l.blink([i],1,0.1)
for k in ps_rev:
l.blink([k],1,0.1)
for j in range(3):
l.blink(ps,3,0.1)
time.sleep(0.5)
ps = [29,31,33,35,37]
ps_rev = ps[::-1] # reverse list
l = ARRAY_LED(ps)
for i in range(10):
lighting(l)
l.cleanup()
Sign up here with your email
ConversionConversion EmoticonEmoticon