3359| 2
|
[项目] 3步做一个熊孩子防丢暴闪报警器 |
本帖最后由 nemon 于 2024-1-13 06:38 编辑 一、项目简介 平时带孩子出去玩,小孩子喜欢跑来跑去,所以经常需要小规模、有限制的放养——允许他在一定区域内自由活动。但是要是周围人多或者有各种障碍物,这活就太刺激了——孩子喜欢和你捉迷藏,总担心跑丢了。于是做了个“熊孩子防丢暴闪报警器”。原理很简单,就是用GPS获取坐标,超出了范围就红蓝灯爆闪加蜂鸣器放警笛声。 二、硬件&软件清单: 1、Pico(PicoW也可以) 2、一块转接板,型号是 Grove shield for PI PICO v1.0: 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的库也可以兼容: 7、电脑上的编辑器用的是Thonny,如果你喜欢其他支持micro python硬件的IDE也可以; thonny-3.3.13_20240107133448.rar 8、还有就是树莓派Pico的micro python固件: rp2-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之间随时间线性变化。 五、代码说明: 先收一下代码压缩包:src_20240109233303.rar 共有3个文件: 1、OLED库ssd1306.py,不解释。 1、GPS库micropyGPS.py,不解释。 2、主程序main.py: 流程图 六、有图有真相: 实物接好线是这样: 如果触发了警报,就会变成这样: 七、一些有用的文档 WS2813-Mini_20240108135052.rar GROVE BUZZER_20240108135036.rar GROVE - GPS (AIR530)_20240108135031.rar Grove - OLED Display 0.96 (SSD1315)_v1.0_20240108135327.rar Grove_shield_for_PI_PICOv1.0SCH_20240108135432.rar 就到这里,休息啦。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed