3步做一个熊孩子防丢暴闪报警器
本帖最后由 nemon 于 2024-1-13 06:38 编辑一、项目简介
平时带孩子出去玩,小孩子喜欢跑来跑去,所以经常需要小规模、有限制的放养——允许他在一定区域内自由活动。但是要是周围人多或者有各种障碍物,这活就太刺激了——孩子喜欢和你捉迷藏,总担心跑丢了。于是做了个“熊孩子防丢暴闪报警器”。原理很简单,就是用GPS获取坐标,超出了范围就红蓝灯爆闪加蜂鸣器放警笛声。
二、硬件&软件清单:
1、Pico(PicoW也可以)
https://mc.dfrobot.com.cn/data/attachment/forum/202401/07/132811b2ke7rdgerdvizyg.png
2、一块转接板,型号是 Grove shield for PI PICO v1.0:
https://mc.dfrobot.com.cn/data/attachment/forum/202401/07/132842yoa2prjjpvbjshj5.jpg
3、GPS模块,型号是GROVE - GPS (AIR530):
4、全彩LED条(10颗),GROVE - RGB LED STICK (10 - WS2813)
5、蜂鸣器,GROVE BUZZER
6、OLED屏,我用的是Seeed Studio的Grove OLED Display 0.96,它的控制芯片是SSD1315,用SSD1306的库也可以兼容:
https://mc.dfrobot.com.cn/data/attachment/forum/202401/07/132901c19r5nwbqzammzz9.jpg
7、电脑上的编辑器用的是Thonny,如果你喜欢其他支持micro python硬件的IDE也可以;
https://mc.dfrobot.com.cn/static/image/filetype/zip.gifthonny-3.3.13_20240107133448.rar
8、还有就是树莓派Pico的micro python固件:
https://mc.dfrobot.com.cn/static/image/filetype/zip.gifrp2-pico-20230426-v1.20.0_20240107133235.rar
三、制作过程(和把大象装冰箱里一样,真的只有3步)
第1步:连接外设:用转接板,照图连接:
第2步:刷树莓派Pico的micro python固件:按着boot上电,就会出来U盘,拷贝进去就行:
第3步:烧代码
一共有3个文件——OLED库、GPS库、主程序,烧写的方法是,用Thonny连上Pico,之后新建空白文件,把文件的内容拷贝进去,然后保存。保存的时候,会提问是保存到本机还是Pico上。选择Pico后,会提示你输入文件名,这时把文件名输入后保存(注意不要忘了“.py”扩展名)。
四、技术原理:
1、协议
OLED用I2C协议通信,GPS模块用Uart通信,WS281x是一线的协议用的是pico官方手册的代码。整体结构如图:
2、GPS模块
实测了一下精度,南北方向大约可以精确到1米,东西方向大约可以精确到2米。
3、警笛声音分析
根据《汽车鸣笛声、雨声和警笛声的频谱分析》(https://blog.csdn.net/qq_30229253/article/details/84333375)的分析,警车的频率从600Hz到1.4KHz之间随时间线性变化。
五、代码说明:
先收一下代码压缩包:
共有3个文件:
1、OLED库ssd1306.py,不解释。
1、GPS库micropyGPS.py,不解释。
2、主程序main.py:
流程图
六、有图有真相:
实物接好线是这样:
如果触发了警报,就会变成这样:
七、一些有用的文档
就到这里,休息啦。
非常赞的文章,不知道有没有。文章中的库资源以及固件资源分享一下。 _深蓝_ 发表于 2024-1-9 08:30
非常赞的文章,不知道有没有。文章中的库资源以及固件资源分享一下。
库资源、源码在“五、代码说明”;固件在“二、硬件&软件清单”的8.
页:
[1]