2021-7-28 15:34:20 [显示全部楼层]
486浏览
查看: 486|回复: 2

[BXY高中信息技术教程] 「BXY」micro:bit 高中信息技术教程—防盗警报系统

[复制链接]
一、实践情境

随着社会的不断发展、科学技术的进步,人们的生活水平也有了极大的提高,私有财产也在无形中慢慢增多,因此人们对家庭防盗系统提出新的要求。为此,在这节课上,我们将设计一个防盗警报系统,能够在家中闯入不速之客时报警提醒我们。

image001.png

二、实践目标

本实践项目运用两块micro:bit作为智能终端,结合红外线光电开关来实现人的检测和警报功能。

三、知识目标

1. 认识红外线光电开关;
2. 理解红外线光电开关的使用和接线方法,能根据连线图进行实物连接;
3. 掌握以micro:bit为智能终端,通过BXY软件编写代码采集红外线光电开关反馈数据的方法;
4. 掌握以micro:bit为智能终端,通过BXY软件编写代码实现两块主控板之间的数据传送。

四、实践准备

硬件清单:

软件使用:BXY编程软件

知识链接
红外线光电开关

简介:红外线光电开关是一款通过红外测距的检测开关,检测障碍距离为0-2m,可通过调节螺母进行调节。模块抗干扰能力强,检测反应灵敏。它可以应用于很多方面,如电子门童、自动门、停车位检测等。红外线光电开关可用于各种应用场合,在使用红外线光电开关时,应注意环境条件,以使红外线光电开关能够正常可靠的工作。红外线光电开关在环境照度较高时,一般都能稳定工作。但应避免将传感器光轴正对太阳光、白炽灯等强光源。

Fh5KfRaU8c1DwbIb67ZcD4uVNYfL.jpg


五、实践过程

在本项目中,我们将利用两块micro:bit主控板和红外线光电开关,分三步设计一个防盗报警系统。系统中,一块micro:bit板子通过红外线光电传感器检测人并将数据发送出来,另一块micro:bit板子接收数据并实现警报功能。

1、实时检测红外数据
2、发送数据
3、接收数据

任务1:红外数据实时检测

1、硬件搭建

STEP1:将一块micro:bit开发板插入I/O扩展板,注意正反。

STEP2:按下图通过连接线将红外线光电开关接入扩展板。
image010.png

STEP3:通过USB连接线将micro:bit接到计算机。

2、软件编写

STEP1:软件设置

1、创建与保存项目文件
(1)启动BXY编程软件,选择主控类型“micro:bit”。

(2)新建项目,保存并命名为“m5.1”。

STEP2:程序编写
  1. from microbit import *
  2. pin1.set_pull(pin1.NO_PULL) #上拉电压
  3. while True:
  4.     val = pin1.read_digital()
  5.     print(val)
  6.     sleep(500)
复制代码
注:由于红外光电开关的工作电压比较高,使用micro:bit时,需要在程序中上拉引脚电压。

3、运行调试

STEP1:上传程序并观察
观察软件终端,我们可以发现当有人从红外线光电开关前经过时,检测到的值由1变为0。
image012.png

任务2:发送红外数据


在上个任务中,我们已经成功借助红外线光电开关来实现人的检测。当有人经过时,传感器的反馈值会由1变为0。但刚才我们仅仅是在软件终端显示了数据。接下来我们需要将数据发送出来,以便后续另一个micro:bit板子接收数据并反馈。

1、软件编写

STEP1:软件设置

1、创建与保存项目文件
(1)启动BXY编程软件,选择主控类型“micro:bit”。
(2)新建项目,保存并命名为“m5.2”。

STEP2:程序编写
  1. from microbit import *
  2. import time
  3. import radio
  4. pin1.set_pull(pin1.NO_PULL) #上拉电压
  5. radio.on()
  6. radio.config(channel = 7)
  7. while True:
  8.     if pin1.read_digital():
  9.         radio.send("S")
  10.         display.show(Image.HAPPY)
  11.     else:
  12.         radio.send("W")
  13.         display.show(Image.SAD)
复制代码
注:关于radio的介绍可见附录1

2、运行调试

STEP1:上传程序,并观察效果
观察micro:bit,我们可以发现当有人从红外线光电开关前经过时,点阵屏显示的图形由笑脸变成了哭脸。

任务3:接收红外数据

在之前的任务中,我们已经利用红外线光电传感器实现了人的检测并将数据发送出来,接下来,我们还需使另一个micro:bit接收数据并模拟警报功能。

1、软件编写

STEP1:软件设置
1、创建与保存项目文件
(1)启动BXY编程软件,选择主控类型“micro:bit”。
(2)新建项目,保存并命名为“m5.3”。

STEP2:程序编写
  1. from microbit import *
  2. import radio
  3. radio.on()
  4. radio.config(channel=7) # radio通道设置
  5. while True:
  6.     value=radio.receive() # radio 接收数据,返回msg
  7.     if value: # 当接收到数据时显示
  8.         display.show(value)
复制代码

2、运行调试

STEP1:更换micro:bit开发板

STEP2:上传程序,并使两块micro:bit开发板都通电
观察两块micro:bit,我们可以发现当有人从红外线光电开关前经过时,发送端的点阵屏显示出哭脸,同时接收端的屏幕显示出“W”。
image014.png

而当人离开时,发送端点阵屏变成了笑脸,同时接收端屏幕也变成了“S”。
image016.png

六、延伸拓展

拿出手中的红外线光电开关,测试当它前方距离多少时会触发?检测每次测试结果是否相同,想一想这是为什么呢?

附录

附录1:
截屏2021-07-28 14.38.26.png

M5.zip

2.03 KB, 阅读权限: 10, 下载次数: 9

手机号用这个吧  学徒

发表于 2021-7-30 10:20:21

收藏一下 后面学习
回复

使用道具 举报

EVE  中级技匠
 楼主|

发表于 2021-8-4 09:26:38


           
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail