玩转硬件之Micro:bit的玩法(四)——声控灯

智能家居的普及在近几年来呈现出了爆发式的增长。随着科技的不断进步和人们对便利生活的追求,越来越多的家庭开始采用智能家居系统,使生活更加智能化、便捷化。

智能家居的普及不仅改变了人们的生活方式,也为家庭带来了更多的便利和舒适。现在,人们可以通过智能手机或者语音助手来控制家中的电器设备,如灯光、空调、电视等,而不需要亲自去操作。这不仅提高了生活的便利性,还节省了能源和时间。而声控灯就是其中之一。

声控灯是一种通过声音控制开关灯光的装置。它通常包含一个麦克风或传感器,可以感应到声音,并根据声音的强弱来控制灯光的开关。当有声音时,声控灯会自动打开灯光;当没有声音时,声控灯会自动关闭灯光。声控灯可以提供更加便捷和智能的灯光控制方式,使用户无需手动开关灯光,只需通过声音就能实现灯光的开关。它在家庭、办公室、酒店等场所中得到广泛应用,提升了生活和工作的舒适度和便利性。

那如果我说Micro:bit也可以实现声控灯,你会信吗?

因为Micro:bit拥有Sound Sensor (声音传感器)可以进行声音探测。

Sound Sensor模块采用了音频处理芯片LM386,可对音频信号进行200倍放大,可用于检测环境声音的有无或判断声音强度的大小(不能测量具体的分贝数)。

本文介绍的声控灯,因为要接入灯,故此我们要将Microb:bit插入到小车扩展模块中,如下图所示,如何操作小车扩展模块,可以参考官方教程。

Step 1 在声音的模块下,定义一个变量用于存储开关
Step 2 如果开关打开,则小车灯亮,并暂停5s后,小车灯灭
Step 3 如果开关关闭,则小车灯灭

执行的效果如下:

附上Javascript代码:

复制代码
input.onSound(DetectedSound.Loud, function () {
    lighton = !(lighton)
    if (lighton) {
        mbit_小车类.RGB_Car_Big2(mbit_小车类.enColor.White)
        basic.pause(5000)
        mbit_小车类.RGB_Car_Big2(mbit_小车类.enColor.OFF)
    } else {
        mbit_小车类.RGB_Car_Big2(mbit_小车类.enColor.OFF)
    }
})
let lighton = false
input.setSoundThreshold(SoundThreshold.Loud, 150)

附上Python的代码:

复制代码
def on_sound_loud():
    global lighton
    lighton = not (lighton)
    if lighton:
        mbit_小车类.RGB_Car_Big2(mbit_小车类.enColor.WHITE)
        basic.pause(5000)
        mbit_小车类.RGB_Car_Big2(mbit_小车类.enColor.OFF)
    else:
        mbit_小车类.RGB_Car_Big2(mbit_小车类.enColor.OFF)
input.on_sound(DetectedSound.LOUD, on_sound_loud)

lighton = False
input.set_sound_threshold(SoundThreshold.LOUD, 150)
相关推荐
宝宝单机sop10 小时前
线性代数资源合集
经验分享
程序员良许10 小时前
嵌入式处理器架构
后端·单片机·嵌入式
来自晴朗的明天10 小时前
15、隔离 DC-DC 电源电路(18S12 模块)
单片机·嵌入式硬件·硬件工程
我送炭你添花10 小时前
电子世界的奇妙冒险:从一个电阻开始(系列目录)
人工智能·单片机·嵌入式硬件·fpga开发
国科安芯10 小时前
火箭传感器控制单元的抗辐照MCU选型与环境适应性验证
单片机·嵌入式硬件·架构·risc-v·安全性测试
JMchen12311 小时前
Android UDP编程:实现高效实时通信的全面指南
android·经验分享·网络协议·udp·kotlin
三流架构师11 小时前
口腔医学教程资源合集
经验分享
JMchen12312 小时前
Android网络安全实战:从HTTPS到双向认证
android·经验分享·网络协议·安全·web安全·https·kotlin
熊猫不是猫QAQ12 小时前
想要真正的私密分享?NasChat把NAS变成专属TG,隐私+自由
经验分享
掌心向暖RPA自动化12 小时前
影刀RPA如何在网页和桌面软件中实现自动滚动长截图?最好同时支持横向滚动纵向滚动的?
经验分享·自动化·影刀rpa·长截图