回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页
best-icon

感受自然,聆听风之声——云雀气象仪初体验(完结) 简单

头像 小含糊online 2023.03.18 338 8

新的项目贴正在写,融合了风之声的小型气象站,敬请期待~

-------------------------------------------------------------------------------------------------------------------------------------------------------

学习与生活,事情一多,难免会有压力,以前我有压力就想一个人去公园,听着歌,散着步;现在没有那么多时间往外跑,只能去楼顶天台——吹吹风……

有幸率先试用云雀气象仪,刚好可以在天台陪我解解闷儿!云雀气象仪可以通过传感器测得温度、湿度、气压值、风向、风速等信息,我想,这次,可以听听风的声音了……

步骤1 器材准备

材料清单

步骤2 设计实验

手头有Arduino Uno、掌控板、Micro:bit几块板子(就是没有行空板,这次活动结束了一定买一个!),综合考虑之下,决定使用国产的集成功能最完善的掌控板。

每天我们都与风有着各种各样的接触,可是从来没有听过风的歌声,能够使用云雀让风唱歌给我们听呢?于是开始查看云雀的资料——

云雀wiki.png

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

说干就干!

流程图1.png

步骤3 编写程序-初始化部分

打开mind+上传模式,添加掌控板,添加云雀  库https://gitee.com/liliang9693/ext-yunque

为了在掌控板显示实时时间,再添加WIFI和NTP

尽管最后为了让界面尽可能的简单,我又去掉了时间这一部分:)

编写程序的时候一定注意,连接WIFI下面要加上“等待直到连接成功”哦!

然后让屏幕显示一下IP地址,证明确实连接成功。

之后就是初始化云雀,设置时间巴拉巴拉……

1.png

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

2.png

关于文字的位置:掌控板X[0,127]  Y[0,63],拿不准的话单独多测试几次文字位置

 

步骤4 编写程序-循环部分

这一部分我只想说我是卧龙凤雏了……

一开始想只用风速来对应音调,使用这两个积木

3.png

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

image.png

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

image.png

附上风速等级对照表

风速等级对照表.jpg

步骤5 编写程序-参数整理

这里要先说一个东西,云雀获得的参数都是str,无法直接用于数学比较,所以需要先转换成float即浮点数。(个人理解,如若错误虚心求教,感激不尽!)

再加上音调可以用[998,131]来表示,生活中常见的风速也不大会超过8m/s,所以我的思路如下

image.png

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

image.png

全部程序如下

screenshots-云雀_风之声.mp-1679152507930.png

步骤6 天台_测试

6044b9ddf3f03caaff633f58b5727ca.jpg

嗯……今天依旧是风和日丽的一天呢(根本没风……)

前两天上山采风,采了个寂寞,还得靠我老司机开车采风!

评论

user-avatar
  • 腿毛利小五郎

    腿毛利小五郎2023.04.04

    666

    1
    • 小含糊online

      小含糊online2023.04.06

      就是个简单的功能小测试:)

  • 花生编程

    花生编程2023.03.28

    不错

    1
    • 小含糊online

      小含糊online2023.04.06

      其实里面的小问题蛮多的,感谢留言

  • 花生编程

    花生编程2023.03.28

    厉害

    0
    • 三春牛-创客

      三春牛-创客2023.03.28

      666

      1
      • 小含糊online

        小含糊online2023.04.06

        就是基础功能的部分整合与输出罢了,感谢留言!

    • 三春牛-创客

      三春牛-创客2023.03.28

      厉害厉害

      0