4350浏览
查看: 4350|回复: 1

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

[复制链接]
本帖最后由 macCosmo 于 2021-6-21 16:11 编辑

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

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

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

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

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

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

所需元件:

使用micro:bit无线通信实现-失物提醒器图4
micro:bit主控板 x 2
micro:bit扩展版 x 2
3节AAA电池盒 x 2
蜂鸣器 x 1
彩虹灯带 x 1


硬件连接:

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

物品端:彩虹灯带接到扩展板P2接口,连接电池盒供电。
用户端:蜂鸣器接到扩展板P0接口,连接电池盒供电。

编写程序:
STEP 1: 打开无线通信,将两个micro:bit设为同一频道,显示笑脸图案,以1秒为间隔循环发送信息。
使用micro:bit无线通信实现-失物提醒器图6
STEP 2: 因为数据的发送间隔时间为1秒,在两次数据接收的间隔也应为1秒。如果距上次信号接收超过了1秒还没有收到新的信息,则表示无线通信中断。这里需要判断数据接收的间隔时间。
首先设置变量【接收时间】,当每次接收到无线数据时,更新【接受时间】为当下的系统运行时间,单位为毫秒。再设置变量【间隔时间】,间隔时间为当前时间与上次数据接受时间的差值。当【间隔时间】大于1000毫秒,则说明没有按时收到信息,执行警报程序。

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

STEP 3: 当找到物品之后,同时按住两端micro:bitAB按钮,重置警报系统。
使用micro:bit无线通信实现-失物提醒器图8


实验效果:

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

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

Hendre  初级技师

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

棒棒棒,利用系统时间的方法,真巧妙
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail