设为首页收藏labplus社区产品资料库
1482
积分值+2
520
掌控币+1
0  关注
125  粉丝
160  帖子
论坛小助手
2019年06月05日

#基础使用#【基础使用】玩转掌控板8—探测声光

盛夏到了,太阳的光线越来越强烈,为了避免被晒伤,我们应该在太阳光线稍弱的时候选择外出,并且我们可以利用同样的原理来探究一下声音的大小,那我们如何知道外面的光线和声音呢?这节课我们就学习如何使用掌控板来探测光线的强弱和声音的大小。

学习目标

1、学习“映射”模块和“int”模块的使用

2、学习运用声音、光线传感器

思维开发

我们需要探测光线和声音的大小,所以需要使用掌控板上的麦克风和光线传感器,再通过OLED屏来显示声音和光线的大小,为了更好的观察,可以绘制能反映声音和光线变化的进度条。


程序流程

在“显示”模组里找到显示组件

①清空OLED屏


②在指定坐标或者指定行显示文字文本“光线”



③显示能根据光线强弱来变化的数值

我们光线传感器的光线等级区间是0-4095,为了能更好的显示和便于观察,我们需要将区间缩小,这里我们需要使用“映射”模块,

“映射”模块的作用就是将一个元素集对应到另一个元素集,可以将原元素集缩小或者放大。

在“数学”模组中找到“映射”模块


我们需要映射的是光线传感器的值,还需要找到“光线值”模块


映射光线值从0-4095到0-100


因为光线值在变化中会有小数点,为了更好的观察,用整型字符“int”进行取整,只显示整数


接下来我们将整型映射的光线值转化为能够被oled屏识别显示的文本格式



用显示文本模块将光线值显示在oled屏对应的位置


④绘制根据光线值变化的进度条


X坐标和y坐标确定进度条的显示位置,改变宽、高的值可以改变进度条的大小,进度设置为前面整形取整的光线值


将前面的模块搭建起来,光线值的程序就写好了


同样的方式,⑤对照①-④,写出声音值的程序


贴士

文本和进度条的坐标可以自己确定,注意不要出现显示重叠现象


⑥将写好的文本显示在oled屏

示例程序


显示效果


3

点赞

1322 次阅读3 人赞