当前位置: 首页 > news >正文

玩转硬件之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 lightonlighton = 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)

http://www.lryc.cn/news/215694.html

相关文章:

  • STM32-创建项目流程
  • 软件测试 —— 移动端测试
  • PCL 计算一个平面与一个三角形的交线
  • Redis 应用问题
  • Java 谈谈你对OOM的认识
  • JavaScript中BOM与DOM
  • Nginx域名重定向(如何访问的域名和实际的数据请求路径不同,可解决前端跨域)
  • 2023年11月2日历史上的今天大事件早读
  • 红帽Redhat--Ansible实战1
  • 213. 打家劫舍 II
  • Spring 与 Spring Boot
  • Flutter 04 按钮Button和事件处理、弹框Dialog、Toast
  • thinkphp6多用用模式下缩短路由隐藏index应用名
  • AM@二阶常系数非齐次线性微分方程@待定系数法可解决的经典类型1
  • 大数据技术笔记
  • Vue 3 中的 Composition API
  • 《TCP/IP详解 卷一:协议》第5章的IPv4数据报的总长度字段出现“不需要大于576字节的IPv4数据报“相关内容的解释
  • PO-java客户端连接错误can not connect to server
  • PM2 vs Kubernetes:在部署 Node.js 服务时使用哪个?
  • 配置git并把本地项目连接github
  • pytorch笔记 GRUCELL
  • 不解压,也能列出文件信息
  • 微型计算机组成原理
  • 基站/手机是怎么知道信道情况的?
  • 进程/线程
  • Python 应用 之 转换音频格式
  • Oracle JDK 和OpenJDK两者有什么异同点
  • GPT引发智能AI时代潮流
  • FreeSWITCH mrcp-v2小记
  • 如何将你的PC电脑数据迁移到Mac电脑?使用“迁移助理”从 PC 传输到 Mac的具体操作教程