[ReSpeaker] 使用 Python API 控制燈光效果

ReSpeaker 的 Python API 有提供數個燈光效果供開發者使用,本文將針對其中幾種進行簡單教學講解。

初始化

若要使用燈光效果時,請記得先引用 pixel_ring,而本文為了方便展示,因此額外再引用了 time

from respeaker import pixel_ring  

listen 模式

  • def listen(self, direction=None):
  • 效果為依循某方向亮起綠燈。
  • 參數
    • direction:若沒有使用任何參數時,將預設為 self.write(0, [7, 0, 0, 0]),否則傳送 self.write(0, [2, 0, direction & 0xFF, (direction >> 8) & 0xFF])
pixel_ring.listen()  

wait 模式

  • def wait(self):
  • 將使三顆 LED 亮起綠燈,並進行旋轉效果。
pixel_ring.wait()  

volume 模式

  • def set_volume(self, number=0):
  • 依參數的數量亮起同樣數量之 LED。
  • 參數
    • number - 亮起的燈數,有效範圍為 0 ~ 12。
pixel_ring.set_volume(5)  

顏色模式

  • def set_color(self, rgb=None, r=0, g=0, b=0):
  • 依照參數的 RGB 值,亮起該色。
  • 參數
    • rgb - hex 色碼,像是:0xff0000(紅色)、0xffff00(黃色)。
    • r - 紅色值,範圍為 0 ~ 255 或 0x0 0~ 0xff。
    • g - 綠色值,範圍為 0 ~ 255 或 0x0 0~ 0xff。
    • b - 藍色值,範圍為 0 ~ 255 或 0x0 0~ 0xff。

關閉燈光

  • 關閉所有燈光效果。
pixel_ring.off()  

完整程式碼如下:

import time  
from respeaker import pixel_ring

# Set pixel leds to listen mode, which makes leds all green.
pixel_ring.listen()  
time.sleep(3)

# Set pixel leds to wait mode, which makes three leds green and running in circle.
pixel_ring.wait()  
time.sleep(3)

# Set specific color to all pixel leds.
pixel_ring.set_color(rgb=0x505000)  
time.sleep(3)  
pixel_ring.set_color(r=150, g=100, b=20)

# Set pixel leds to volume mode, which makes leds of number.
pixel_ring.set_volume(5)  
time.sleep(3)

# Set pixel leds all off.
pixel_ring.off()  

參考資料

ALL RIGHTS RESERVED. COPYRIGHT © 2018. Designed and Coded by Makee.io