EVE 发表于 2021-7-28 15:34:20

「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:21

收藏一下 后面学习

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

手机号用这个吧 发表于 2021-7-30 10:20
收藏一下 后面学习

{:6_214:}         
页: [1]
查看完整版本: 「BXY」micro:bit 高中信息技术教程—防盗警报系统