「BXY」micro:bit 高中信息技术教程—防盗警报系统
一、实践情境随着社会的不断发展、科学技术的进步,人们的生活水平也有了极大的提高,私有财产也在无形中慢慢增多,因此人们对家庭防盗系统提出新的要求。为此,在这节课上,我们将设计一个防盗警报系统,能够在家中闯入不速之客时报警提醒我们。
二、实践目标
本实践项目运用两块micro:bit作为智能终端,结合红外线光电开关来实现人的检测和警报功能。
三、知识目标
1. 认识红外线光电开关;2. 理解红外线光电开关的使用和接线方法,能根据连线图进行实物连接;3. 掌握以micro:bit为智能终端,通过BXY软件编写代码采集红外线光电开关反馈数据的方法;4. 掌握以micro:bit为智能终端,通过BXY软件编写代码实现两块主控板之间的数据传送。
四、实践准备
硬件清单:
micro:bit开发板 x2I/O扩展板 x1红外线光电开关 x1Type-C&Micro二合一USB线x1
软件使用:BXY编程软件
知识链接
红外线光电开关
简介:红外线光电开关是一款通过红外测距的检测开关,检测障碍距离为0-2m,可通过调节螺母进行调节。模块抗干扰能力强,检测反应灵敏。它可以应用于很多方面,如电子门童、自动门、停车位检测等。红外线光电开关可用于各种应用场合,在使用红外线光电开关时,应注意环境条件,以使红外线光电开关能够正常可靠的工作。红外线光电开关在环境照度较高时,一般都能稳定工作。但应避免将传感器光轴正对太阳光、白炽灯等强光源。
五、实践过程
在本项目中,我们将利用两块micro:bit主控板和红外线光电开关,分三步设计一个防盗报警系统。系统中,一块micro:bit板子通过红外线光电传感器检测人并将数据发送出来,另一块micro:bit板子接收数据并实现警报功能。
1、实时检测红外数据2、发送数据3、接收数据
任务1:红外数据实时检测
1、硬件搭建
STEP1:将一块micro:bit开发板插入I/O扩展板,注意正反。
STEP2:按下图通过连接线将红外线光电开关接入扩展板。
STEP3:通过USB连接线将micro:bit接到计算机。
2、软件编写
STEP1:软件设置
1、创建与保存项目文件(1)启动BXY编程软件,选择主控类型“micro:bit”。
(2)新建项目,保存并命名为“m5.1”。
STEP2:程序编写from microbit import *
pin1.set_pull(pin1.NO_PULL) #上拉电压
while True:
val = pin1.read_digital()
print(val)
sleep(500)注:由于红外光电开关的工作电压比较高,使用micro:bit时,需要在程序中上拉引脚电压。
3、运行调试
STEP1:上传程序并观察观察软件终端,我们可以发现当有人从红外线光电开关前经过时,检测到的值由1变为0。
任务2:发送红外数据
在上个任务中,我们已经成功借助红外线光电开关来实现人的检测。当有人经过时,传感器的反馈值会由1变为0。但刚才我们仅仅是在软件终端显示了数据。接下来我们需要将数据发送出来,以便后续另一个micro:bit板子接收数据并反馈。
1、软件编写
STEP1:软件设置
1、创建与保存项目文件(1)启动BXY编程软件,选择主控类型“micro:bit”。(2)新建项目,保存并命名为“m5.2”。
STEP2:程序编写from microbit import *
import time
import radio
pin1.set_pull(pin1.NO_PULL) #上拉电压
radio.on()
radio.config(channel = 7)
while True:
if pin1.read_digital():
radio.send("S")
display.show(Image.HAPPY)
else:
radio.send("W")
display.show(Image.SAD)注:关于radio的介绍可见附录1
2、运行调试
STEP1:上传程序,并观察效果观察micro:bit,我们可以发现当有人从红外线光电开关前经过时,点阵屏显示的图形由笑脸变成了哭脸。
任务3:接收红外数据
在之前的任务中,我们已经利用红外线光电传感器实现了人的检测并将数据发送出来,接下来,我们还需使另一个micro:bit接收数据并模拟警报功能。
1、软件编写
STEP1:软件设置1、创建与保存项目文件(1)启动BXY编程软件,选择主控类型“micro:bit”。(2)新建项目,保存并命名为“m5.3”。
STEP2:程序编写from microbit import *
import radio
radio.on()
radio.config(channel=7) # radio通道设置
while True:
value=radio.receive() # radio 接收数据,返回msg
if value: # 当接收到数据时显示
display.show(value)
2、运行调试
STEP1:更换micro:bit开发板
STEP2:上传程序,并使两块micro:bit开发板都通电观察两块micro:bit,我们可以发现当有人从红外线光电开关前经过时,发送端的点阵屏显示出哭脸,同时接收端的屏幕显示出“W”。
而当人离开时,发送端点阵屏变成了笑脸,同时接收端屏幕也变成了“S”。
六、延伸拓展
拿出手中的红外线光电开关,测试当它前方距离多少时会触发?检测每次测试结果是否相同,想一想这是为什么呢?
附录
附录1:
收藏一下 后面学习 手机号用这个吧 发表于 2021-7-30 10:20
收藏一下 后面学习
{:6_214:}
页:
[1]