macCosmo 发表于 2021-6-21 16:11:31

使用micro:bit无线通信实现-失物提醒器

本帖最后由 macCosmo 于 2021-6-21 16:11 编辑

最近接连下雨,我因为不小心把雨伞落在各种地方忘了拿已经丢掉了好几把伞。对于丢三落四星人,是不是可以制作一套失物提醒系统,当与随身物品超出一定距离就发出警报,以防物品遗失呢?


项目重点是如何判断人与物品之间的距离。我的思路利用micro:bit的无线通信功能,是在物品端和用户端分别放置micro:bit,之间不断传输信号,当人与物品距离过远超出无线通信距离从而导致信号中断时发出“物品将要遗失”的警报。

当物品在范围内,两端的micro:bit显示笑脸图案;当物品超出范围,用户端的蜂鸣器发出警报,同时物品端的LED灯条亮起指示位置便于物品的寻找。

所需元件:
micro:bit主控板 x 2micro:bit扩展版 x 23节AAA电池盒 x 2蜂鸣器 x 1彩虹灯带 x 1

硬件连接:

物品端:彩虹灯带接到扩展板P2接口,连接电池盒供电。用户端:蜂鸣器接到扩展板P0接口,连接电池盒供电。
编写程序:STEP 1: 打开无线通信,将两个micro:bit设为同一频道,显示笑脸图案,以1秒为间隔循环发送信息。
STEP 2: 因为数据的发送间隔时间为1秒,在两次数据接收的间隔也应为1秒。如果距上次信号接收超过了1秒还没有收到新的信息,则表示无线通信中断。这里需要判断数据接收的间隔时间。首先设置变量【接收时间】,当每次接收到无线数据时,更新【接受时间】为当下的系统运行时间,单位为毫秒。再设置变量【间隔时间】,间隔时间为当前时间与上次数据接受时间的差值。当【间隔时间】大于1000毫秒,则说明没有按时收到信息,执行警报程序。

STEP 3: 当找到物品之后,同时按住两端micro:bit的AB按钮,重置警报系统。

实验效果:

可以将用户端的硬件放在包上或任何随身的位置,物品端绑在容易丢失的物品上。当两个micro:bit超过一定距离,两侧的光线/声音警报同时亮起/响起,找到物品之后同时按下两个micro:bit的A+B按钮,警报系统复原到最初的笑脸状态。妈妈再也不担心我丢伞啦!

Hendre 发表于 2021-7-13 11:53:18

棒棒棒,利用系统时间的方法,真巧妙
页: [1]
查看完整版本: 使用micro:bit无线通信实现-失物提醒器