2018-11-20 22:01:41 [显示全部楼层]
4272浏览
查看: 4272|回复: 6

[入门教程] 【掌控】声音传感器—噪音计

[复制链接]
迷你噪音计
01300536593908136708837453580_副本.jpg

最近,读了陶渊明的田园诗---《饮酒(其五)》

结庐在人境,而无车马喧。
问君何能尔,心远地自偏。
采菊东篱下,悠然见南山。
山气日夕佳,飞鸟相与还。
此中有真意,欲辨已忘言


        面对喧嚣的城市,紧张的工作,我们渴望采菊东篱下,悠然见南山的生活,但是身边噪音随处可见,他正在损害听力,使人焦虑,影响我们身心健康,那么我们身处在一个什么样的声音环境?想知道我们身边的噪音有多少嘈杂?让我们一起设计制作迷你版噪音计,检测我们身边噪音,保护我们的身体健康吧
一、     设计思路:噪音计分为四大模块:
1.主界面:远离噪音 保护身心

微信图片_20181120131052.jpg
2.Sound>12040dD)声音正常 安静舒适  绿灯亮  人的表情:笑

微信图片_20181120131056.jpg
3.Sound>30070 dD)声音嘈杂 建议离开  蓝灯亮  人的表情:怒

微信图片_20181120131104.jpg
4.Sound>600100dD)声音刺耳 马上离开  红灯亮  人的表情:哭

微信图片_20181120131100.jpg

二、代码编写

[mw_shl_code=python,true]while True:
    display.fill(0)   #清屏
    display.DispChar('远离噪音 保护身心',20,0)      
    display.DispChar("11-18:",90,45)    #显示日期到90,45
    #display.text("%d" % (sound.read()), 35, 48)  #显示板载声音传感器
    display.blit(fb1,40,16)  #将fb1帧缓存送至oled显示,起始位(40,16)
    display.show()     #刷新
    time.sleep_ms(10) #延时10ms     
    if sound.read()  <500 and sound.read() >300 :
         display.fill(0)   #清屏
         display.DispChar('声音刺耳 马上离开',20,0)      
         display.text("%d" % (sound.read()), 100, 45)  #显示板载声音传感器
         display.blit(fb4,50,16)  #将fb1帧缓存送至oled显示,起始位(50,16)
         display.show()     #刷新
         time.sleep_ms(10) #延时10ms        
         rgb[0] = (255,0,0)    # 设置红色
         rgb[1] = (255,0,0)  # 设定为红色
         rgb[2] = (255,0,0)   # 设置为红色
         rgb.write()
   
    else:
         if sound.read() >240 and sound.read() >120:
             display.fill(0)   #清屏
             display.DispChar('声音嘈杂 建议离开',20,0)      
             #display.DispChar("11-18:",90,45)    #显示日期到90,45
             display.text("%d" % (sound.read()), 100, 45)  #显示板载声音传感器
             display.blit(fb3,50,16)  #将fb1帧缓存送至oled显示,起始位(50,16)
             display.show()     #刷新
             time.sleep_ms(10) #延时10ms
             rgb[0] = (0,255,0)    # 设置绿色
             rgb[1] = (0,255,0)  # 设定为绿色
             rgb[2] = (0,255,0)   # 设置为绿色
             rgb.write()  
               
         else:
             if sound.read() <100 and sound.read()>50 :
                    display.fill(0)   #清屏
                    display.DispChar('声音正常 安静舒适',20,0)      
                    #display.DispChar("11-18:",90,45)    #显示日期到90,45
                    display.text("%d" % (sound.read()), 100, 45)  #显示板载声音传感器
                    display.blit(fb2,50,16)  #将fb1帧缓存送至oled显示,起始位(50,16)
                    display.show()     #刷新
                    time.sleep_ms(10) #延时10ms                     
                    rgb[0] = (0,0,255)    # 设置蓝色
                    rgb[1] = (0,0,255)  # 设定为蓝色
                    rgb[2] = (0,0,255)   # 设置为蓝色
                    rgb.write()
            
             else:
               if sound.read() < 50 :
                 rgb[0] = (0,0,0)   
                 rgb[1] = (0,0,0)  
                 rgb[2] = (0,0,0)   
                 rgb.write()  
[/mw_shl_code]

三、 知识扩展
1.分贝参照表
3040分贝是比较安静的正常环境;
70分贝以上干扰谈话,造成心烦意乱,精神不集中,影响工作效率,甚至发生事故;
90分贝以上的噪声环境,工作或生活会严重影响听力和导致其他疾病的发生。
2. 噪声级
0-30 很安静,几乎感觉不到
30   文静图书馆
40   安静公园
50   文静的办公室
60   正在开会的会议室
70   嘈杂的小巷 电话铃声
80   嘈杂的大街闹钟声
90   嘈杂的工厂
100  非常嘈杂

四、视频回放

rzyzzxw  版主

发表于 2018-11-20 22:17:34

康老师作品很赞。
回复

使用道具 举报

rzegkly  版主
 楼主|

发表于 2018-11-20 22:34:40

本帖最后由 rzegkly 于 2018-11-21 08:26 编辑

朱老师多向您学习,
回复

使用道具 举报

rzyzzxw  版主

发表于 2018-11-21 08:30:35

rzegkly 发表于 2018-11-20 22:34
朱老师多向您学习,

设计个外壳,加上锂电供电,就成可穿戴噪音计。
回复

使用道具 举报

xjsunshine  中级技师

发表于 2018-11-22 00:22:49

可否共享一下完整代码?
回复

使用道具 举报

rzegkly  版主
 楼主|

发表于 2018-11-23 18:54:36

xjsunshine 发表于 2018-11-22 00:22
可否共享一下完整代码?

可以,相互学习,一起分享
回复

使用道具 举报

戴眼镜的冰冰  学徒

发表于 5 天前

您好 这个电路和代码可以给俺一份嘛 万分感激?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2021 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail