2021-7-29 17:31:49 [显示全部楼层]
429浏览
查看: 429|回复: 1

[BXY高中信息技术教程] 「BXY」掌控板 高中信息技术教程—感知环境促健康

[复制链接]
本帖最后由 EVE 于 2021-8-2 16:02 编辑

一、实践情境

在我们的生活中,温度和空气湿度对健康至关重要。温湿度的过高或过低都会影响到我们身体的状态,甚至可能会生病。为此,本节课上,我们将自制一个能够检测环境气温和空气湿度的装置,它能帮助我们实时监测环境温湿度,并且在环境变差时提醒我们。

MonAugust-202108024434..png

二、实践目标

本实践项目运用掌控板作为智能终端,通过DHT11温湿度传感器采集数据,来实时检测环境温湿度并设置高温提醒。

三、知识目标

  1. 认识I/O扩展板、DHT11温湿度传感器等硬件设备;
  2. 理解DHT11温湿度传感器的使用和接线方法,能根据连线图进行实物连接;
  3. 掌握以掌控板为智能终端,通过BXY软件编写代码采集DHT11温湿度传感器数据的方法;

四、实践准备

硬件清单

掌控板x1 I/O扩展板x1 Type-C&Micro二合一USB线x1 DHT11温湿度传感器及模拟连接线 x1

软件使用:BXY编程软件

知识链接

I/O扩展板

简介:这里的“I、O”分别是“input”输入和“output”输出的缩写,I/O扩展板的作用是将micro:bit上的IO口以引脚口的形式引出,方便我们接入传感器、执行器等模块。IO口与micro:bit上的接口一一对应。Tips:关于扩展版的详细介绍可见附录1。

DHT11温湿度传感器

简介:DHT11温湿度传感器是传感器的一种,它的功能则是用于采集温度和湿度数据,让我们可以通过掌控板看到环境的温湿度数据及变化。

连接模块,并进行简单控制读取环境温湿度数据。详细连接与操作参考教程文档。

五、实践过程

在本项目中,我们将利用DHT11温湿度传感器,分两步设计一个温湿度检测装置,来实时检测环境的温度与空气湿度,并在环境变差时进行提醒。

1、实时检测环境温湿度
2、添加提醒功能


任务1:环境温湿度实时检测

1、硬件搭建

STEP1:将掌控板插入I/O扩展板,注意正反,OLED屏幕朝扩展板上“掌控板”图标方向

STEP2:通过传感器连接线将DHT11温湿度传感器连在扩展板的P0端口。其中,红线和黑线分别对应电源正极和负极,绿线对应信号线,用来传输信号。

注:此处传感器接到了扩展板的P0接口,这里接口与后续编程中程序使用的接口号需要一致。如果这里接到了P2,在程序中,所有P0的指令需要替换为P2。

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

连接完成后如下图,

2、软件编写

在首次编程时,我们将先对软件进行设置,之后再编写程序。

STEP1:软件设置

1、创建与保存项目文件

(1)启动BXY编程软件,选择主控板类型为“掌控板”

注:如果是第一次在电脑上使用掌控板,需要先安装驱动,如下右图。


(2)单击左上角的“文件”按钮

(3)在弹出的框内点击“新建”按钮

之后我们会看到有一个名为“untitled”项目文件生成,

(4)创建完成后,点击菜单栏“文件”中的“另存为”

(5)在弹出的界面中选择保存位置,输入文件名“z1.1”,保存类型默认

Tips:保存位置和文件名称可自选

保存完成后,我们即可开始编程,

STEP2:程序编写

from mpython import *
from dht import DHT11
import time      #导入程序必要的包和块
dht=DHT11(Pin(Pin.P0))#设置DHT11传感器引脚
while True:
    dht.measure()
    oled.fill(0)
    oled.DispChar("温 度:",0,10)
    oled.text("%d" % (dht.temperature()), 48, 14)
    oled.DispChar("湿 度:",0,35)
    oled.text("%d" % (dht.humidity()), 48, 40)
    oled.show()
    time.sleep(1)

3、运行调试

STEP1:点击“烧录”上传程序

烧录完成后可以看到有提示字样,

同时,如上图,在软件右侧界面,我们也可以看到主控板内的所有程序文件(具体文件依实际情况而定)

STEP2:运行程序文件

(1)找到上传的程序文件,并点击”...”。Tips:若程序有多页,可通过上下翻页进行查找。

(2)在弹出的操作中,选择“运行程序”

STEP3:观察效果

观察掌控板,我们可以发现测得的温湿度值分别显示在屏幕上

注:由于在BXY软件中有关于DHT11的示例程序,因此我们也可以直接打开调用而不手动编辑。具体操作步骤见附录2。


任务2:添加提醒功能

在上个任务中,我们已经完成了对于环境温湿度的实时检测,接下来,我们将在此基础上,为这个装置添加提醒功能,当实时检测到的环境温度过高时,点亮三颗LED,否则熄灭。

1、软件编写

STEP1:软件设置

1、新建一个项目文件并命名为“z1.2”

STEP2:程序编写

from mpython import *
from dht import DHT11
import time
dht=DHT11(Pin(Pin.P0))
while True:
    x = dht.temperature()  #定义温度值为X
    y = dht.humidity()     #定义湿度值为Y
    dht.measure()
    oled.fill(0)
    oled.DispChar("温 度:",0,10)
    oled.text("%d" % (dht.temperature()), 48, 14)
    oled.DispChar("湿 度:",0,35)
    oled.text("%d" % (dht.humidity()), 48, 40)
    oled.show()
    time.sleep(1)
    if x > 31:
        rgb[0] = (16 ,16 ,16)
        rgb[1] = (16 ,16 ,16)
        rgb[2] = (16 ,16 ,16)
        rgb.write()
    if x <= 31:
        rgb[0] = (0 ,0 ,0)
        rgb[1] = (0 ,0 ,0)
        rgb[2] = (0 ,0 ,0)
        rgb.write()

2、运行调试

STEP1:点击“烧录”上传程序

将新编写的“z1.2”程序文件烧录上传至掌控板中。

STEP2:运行程序文件

在弹出的“主控板文件”中找到“z1.2”程序文件,并运行观察效果。我们发现掌控板屏幕上方的三颗LED始终处于熄灭状态,如下左图。

STEP3:将装置放在环境温度较高的区域,如夏季的室外等

观察掌控板,三颗LED已被点亮,如上右图。

注:程序中的“31”是我们依据实验情况设定的温度达到不宜健康时的临界值,可以依据各自的实际情况设置。

六、延伸拓展

思考

1、关于室内环境的数据,还有什么数据可以作为室内环境健康度的参考值?我们手头是否有工具可以对其进行测量?

2、影响人体健康状况的除了外部环境,还有就是人体的自身条件了,想一想如果想判断一个人的健康情况,可以从哪些身体数据进行分析?

附录

附录1:拓展阅读

I/O扩展板

详细介绍:

I/O扩展板能完全兼容micro:bit和掌控板两种主板。正面插入掌控,反面插入micro:bit。引出10路数字/模拟3Pin口,两路IIC口以及一路UART口;板载两路电机驱动,且不占用额外引脚;板载PH2.0及microUSB两种供电口,既可以通过usb线也可以通过电池盒或者锂电池供电,供电电压3.5-5V,板载开关,可以开关外接供电电源;板载一个高品质蜂鸣器,且带有开关控制,可以随时关闭蜂鸣器;引出了9个鳄鱼夹接口;分别兼容掌控的触控金手指和micro:bit金手指。扩展板兼容乐高尺寸孔位,可以与乐高进行拼插结合。

供电方式:

主板直接供电: 采用主板的USB或者电源口供电,此时,可以使用扩展板的各种扩展口及蜂鸣器。因主板驱动电流有限,此模式下无法使用电机驱动。

USB供电口供电: 使用电脑USB口供电或者充电宝,或者手机充电头供电。接口为microUSB。此模式下,扩展板的所有功能均可使用。

外接电池盒供电: 外接PH2.0接口输入电压为3.5~5V,使用PH2.0接口的3节干电池盒或者3.7V锂电池,均可。此模式下,扩展板的所有功能均可使用。

接掌控板使用方法

掌控板的OLED屏幕的那一面,对着掌控的图标那个方向插入,如图所示:

此时,扩展板支持的功能如下:

  • 所有的IO口
  • 2路电机驱动
  • 0 1 2 3V GND 金手指
  • USB供电和PH2.0外接供电口供电及电源开关。
  • P Y T H O N触摸金手指。

注:掌控模式下,不支持扩展板上的蜂鸣器,使用掌控板的时候,请将蜂鸣器关闭,此时,可正常使用P0口。

技术规格
外接3节5号干电池(3.5V~5V)或3.7V锂电池, PH2.0接口
USB接口外接供电(3.5V~5V) MicroUSB接口
掌控板电源供电(注:由于掌控板IO口驱动能力有限,使用掌控板供电,无法驱动大功率外设,如需使用电机等设备,请使用外接电池或者外接USB口供电)
IO口:P0 P1 P2 P8 P9 P12 P13 P14 P15 P16(注:掌控板不支持使用P12口)
I2C接口 ×2
串口 ×1 (P13 P14)
引脚金手指 :0 1 2 3V GND
触摸金手指×5:P Y T H O N (掌控独有)
microbit蜂鸣器×1 P0口 (microbit有用,掌控模式下,请关闭蜂鸣器开关,避免占用P0口)
电机驱动×2
金手指孔径:4.8mm兼容乐高
金手指孔距:8mm兼容乐高
底部黑色亚克力保护
尺寸:80*42mm

附录2:BXY软件操作步骤

STEP1:首先切换到掌控板模式

STEP2:注意:如果是第一次在电脑上使用掌控板,需要安装驱动。

STEP3:如果掌控板中没有固件,则会提示烧录固件,也可以手动在“工具”菜单下选择“恢复固件”。

STEP4:连接成功后“文件系统”自动弹出,包含各种示例程序以及掌控板内部的文件列表。

STEP5:打开示例程序,文件-示例-External-02.dht11.py (这个程序就是用于使用dht11传感器检测环境温湿度的示例程序)

STEP6:点击烧录上传程序,就可以在文件系统中看到上传好的程序。

STEP7:这时掌控板的屏幕显示内容为掌控板的logo及文字,需要选择对应的py文件右键选择“运行程序”,则掌控板这端就会开始运行。

Tips:在BXY中,“烧录”操作的意义为将python程序上传到掌控板中,掌控板中可以存储多个python文件,因此需要运行程序时,可以选择对应的py文件右键选择“运行程序”。
注意:掌控板重启后默认运行名称为main.py的程序,如果需要让程序开机时自动执行则可以将文件命名为main.py。

STEP8:运行效果

在按照接线图接好模块,烧录并运行程序得到的结果如图,在屏幕上显示实时温度与湿度数据。

Z1.zip

1.51 KB, 阅读权限: 10, 下载次数: 3

jsp  学徒

发表于 2021-8-4 16:22:29

很详细啊!
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail