3.5. คลาส LED#
ฮาร์ดแวร์ที่ง่ายที่สุดบน camera คือ LED บนบอร์ด บอร์ดส่วนใหญ่มี LED RGB (แดง เขียว น้ำเงิน) machine.LED คือ class เฉพาะสำหรับควบคุมมัน ไม่ต้องระบุหมายเลขพิน ไม่ต้องใช้ตัวต้านทาน ไม่ต้องต่อวงจร -- การค้นหา การจำกัดกระแส และการเดินสายจัดการโดย camera เอง
import time
from machine import LED
red = LED("LED_RED")
red.on()
time.sleep(5)
red.off()
ฮาร์ดแวร์ "hello world" ที่สมบูรณ์: นำเข้า class สร้าง instance ด้วยชื่อสี เปิด รอ ปิด LED จะติดสว่างระหว่างการหน่วงเวลาห้าวินาที
red.off() ตอนปิดสมดุลกับ red.on() ตอนเปิด และทำให้การล้างค่าชัดเจน LED บนบอร์ดยังรีเซ็ตโดยอัตโนมัติเมื่อสคริปต์ออก เมื่อสคริปต์เติบโตขึ้น การพึ่งพาการล้างค่าเมื่อสคริปต์ออกจะเปราะบาง การจับคู่ .on() แต่ละครั้งกับ .off() ที่ชัดเจนเป็นนิสัยที่ทำให้สคริปต์ยาวๆ คาดเดาได้
3.5.1. Constructor และเมธอด#
Constructor รับค่าหนึ่งใน "LED_RED", "LED_GREEN", หรือ "LED_BLUE" แต่ละ instance เปิดเผยเมธอดสี่ตัว:
on()-- เปิดoff()-- ปิดtoggle()-- สลับสถานะปัจจุบันvalue()-- ไม่มีอาร์กิวเมนต์จะคืนค่าสถานะปัจจุบัน (0หรือ1) ถ้ามีอาร์กิวเมนต์หนึ่งตัวจะกำหนดค่า
ตัวอย่างการกระพริบโดยใช้รูปแบบ main-loop:
import time
from machine import LED
led = LED("LED_RED")
while True:
led.toggle()
time.sleep_ms(500)
ใช้ LED บนบอร์ดเพื่อแสดงสถานะ: การเต้นของหัวใจที่กระพริบทุกวินาที การกะพริบสีแดงเมื่อเกิดข้อผิดพลาด การกะพริบสีเขียวเมื่อค่าการอ่านของ sensor อยู่ในช่วง