信号模块/Signal

此模块内置1个LED灯、1个蜂鸣器和1个振动马达。
可编程控制灯的颜色,蜂鸣器响声频率,和震动强度。

设置LED灯颜色

Signal.set_rgb(r, g, b)
设置LED灯颜色(r,g,b 参数都设置为0时,关闭LED)
参数:
  • r (int) – 红色:0~255
  • g (int) – 绿色:0~255
  • b (int) – 蓝色:0~255

Examples

# 控制LED灯颜色变换
from wonderbits import Signal
import time
signal1 = Signal()

# LED灯在按红-绿-蓝色变化,每次持续一秒
signal1.set_rgb(20, 0, 0)
time.sleep(1)
signal1.set_rgb(0, 20, 0)
time.sleep(1)
signal1.set_rgb(0, 0, 20)
time.sleep(1)
signal1.set_rgb(0, 0, 0) # 关闭LED灯

设置蜂鸣器(Hz)

Signal.set_buzzer(frequency)
设置蜂鸣器声音频率(Hz)
设置频率为0表示关闭蜂鸣器
参数:frequency (int) – 频率:0~20000 Hz

Examples

# 设置蜂鸣器音调越来越高
from wonderbits import Signal
signal1 = Signal()

for f in range(20000):
    signal1.set_buzzer(f)

设置震动强度

Signal.set_vibration(strength)
设置震动马达的震动强度
值越大表示震动幅度越大,设置为0时停止震动
参数:strength (int) – 振动幅度:0~100

Examples

# 感受震动马达在不同强度震动的差别
from wonderbits import Signal
import time
signal1 = Signal()

while True:
    signal1.set_vibration(20)
    time.sleep(2)

    signal1.set_vibration(50)
    time.sleep(2)

    signal1.set_vibration(100)
    time.sleep(2)

播放一个音调

Signal.play_a_note(frequency, time, block=True)
控制蜂鸣器发出一个音调,并持续一段时间
参数:
  • frequency (int) – 频率:20~20000 Hz
  • time (float) – 时间: 0.05~60 s
  • block (bool) –

    阻塞参数:

    False: 不阻塞
    True: 阻塞
    默认为True

Examples

# 演奏一首小星星,我不会.... 那就音调越来越高吧
from wonderbits import Signal
signal1 = Signal()

signal1.play_a_note(800, 0.5)
signal1.play_a_note(900, 0.5)
signal1.play_a_note(1000, 0.5)
signal1.play_a_note(1100, 0.5)
signal1.play_a_note(1200, 0.5)
signal1.play_a_note(1300, 0.5)

signal1.play_a_note(0, 0.5)

事件源