新的项目贴正在写,融合了风之声的小型气象站,敬请期待~
-------------------------------------------------------------------------------------------------------------------------------------------------------
学习与生活,事情一多,难免会有压力,以前我有压力就想一个人去公园,听着歌,散着步;现在没有那么多时间往外跑,只能去楼顶天台——吹吹风……
有幸率先试用云雀气象仪,刚好可以在天台陪我解解闷儿!云雀气象仪可以通过传感器测得温度、湿度、气压值、风向、风速等信息,我想,这次,可以听听风的声音了……
步骤1 器材准备
步骤2 设计实验
手头有Arduino Uno、掌控板、Micro:bit几块板子(就是没有行空板,这次活动结束了一定买一个!),综合考虑之下,决定使用国产的集成功能最完善的掌控板。
每天我们都与风有着各种各样的接触,可是从来没有听过风的歌声,能够使用云雀让风唱歌给我们听呢?于是开始查看云雀的资料——

或许可以用云雀获取的风速,转变成动听的音符,在利用掌控板自带的扬声器播放出来!
说干就干!

步骤3 编写程序-初始化部分
打开mind+上传模式,添加掌控板,添加云雀 库https://gitee.com/liliang9693/ext-yunque
为了在掌控板显示实时时间,再添加WIFI和NTP
尽管最后为了让界面尽可能的简单,我又去掉了时间这一部分:)
编写程序的时候一定注意,连接WIFI下面要加上“等待直到连接成功”哦!
然后让屏幕显示一下IP地址,证明确实连接成功。
之后就是初始化云雀,设置时间巴拉巴拉……

接下来我加了一个过场字幕……嗯,就是记得要加清屏

关于文字的位置:掌控板X[0,127] Y[0,63],拿不准的话单独多测试几次文字位置
步骤4 编写程序-循环部分
这一部分我只想说我是卧龙凤雏了……
一开始想只用风速来对应音调,使用这两个积木

然后给风速限定范围,使用条件语句创建了十几行!!!

后来我才反应过来,为什么不用映射……

附上风速等级对照表

步骤5 编写程序-参数整理
这里要先说一个东西,云雀获得的参数都是str,无法直接用于数学比较,所以需要先转换成float即浮点数。(个人理解,如若错误虚心求教,感激不尽!)
再加上音调可以用[998,131]来表示,生活中常见的风速也不大会超过8m/s,所以我的思路如下

同时考虑想要把自然数据都整合进来,参与音乐的创作,所以干脆如法炮制创建了“温度_参数”、“湿度_参数”、“气压_参数”等变量,然后将停顿时间结合参数的常规值进行简单的计算,控制在合理范围内,再将这部分程序命名为“风之声_无节拍”函数,程序见下图

全部程序如下

步骤6 天台_测试
嗯……今天依旧是风和日丽的一天呢(根本没风……)
前两天上山采风,采了个寂寞,还得靠我老司机开车采风!
少东2024.06.19
老司机采风好玩,哈哈哈哈哈。
腿毛利小五郎2023.04.04
666
小含糊online2023.04.06
就是个简单的功能小测试:)
花生编程2023.03.28
不错
小含糊online2023.04.06
其实里面的小问题蛮多的,感谢留言
花生编程2023.03.28
厉害
三春牛-创客2023.03.28
666
小含糊online2023.04.06
就是基础功能的部分整合与输出罢了,感谢留言!
三春牛-创客2023.03.28
厉害厉害