所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开

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

EVE EVE 2021-08-13 17:50:28
一、实践情境

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

projectImage

二、实践目标

本实践项目运用两块micro:bit作为智能终端,结合红外线光电开关来实现人的检测和警报功能。
三、知识目标
1. 认识红外线光电开关;2. 理解红外线光电开关的使用和接线方法,能根据连线图进行实物连接;3. 掌握以micro:bit为智能终端,通过BXY软件编写代码采集红外线光电开关反馈数据的方法;4. 掌握以micro:bit为智能终端,通过BXY软件编写代码实现两块主控板之间的数据传送。
四、实践准备

硬件清单:

材料清单 材料清单
2x
micro:bit开发板
1x
I/O扩展板
1x
红外线光电开关
1x
Type-C&Micro二合一USB线
projectImage

软件使用:BXY编程软件


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

projectImage

五、实践过程

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


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

1、硬件搭建

STEP1:将一块micro:bit开发板插入I/O扩展板,注意正反。
STEP2:按下图通过连接线将红外线光电开关接入扩展板。

projectImage

STEP3:通过USB连接线将micro:bit接到计算机。
2、软件编写

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

注:由于红外光电开关的工作电压比较高,使用micro:bit时,需要在程序中上拉引脚电压。

代码 代码
	                    					from microbit import *
pin1.set_pull(pin1.NO_PULL) #上拉电压
while True:
    val = pin1.read_digital()
    print(val)
    sleep(500)
	                    				

3、运行调试

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

projectImage

任务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”。

projectImage

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

projectImage

六、延伸拓展

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

附录1: 

projectImage
Makelog作者原创文章,未经授权禁止转载。
2
0
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
|
[[c.comment_content]]