内容正文:
第二章
Chapter 2
信息系统的支撑技术
1
1
2
3
2.1 计算机硬件
4
2.4 传感与控制
2.2 计算机软件
2.3 移动终端
5
6
2.6 网络应用软件开发
2.5 网络系统
目录
常见的传感技术
传感信息的获取
从传感器获取信息的方式:无线网络、蓝牙、串口(COM接口)等
传统的计算机一般没有传感器的接口,需要借助其他具备传感器接口的智能终端来实现信息的获取
计算机和智能终端的通信一般采用COM接口或通过USB接口模拟COM接口来实现。
3
传感信息获取实践
问题引入
温度、湿度、二氧化碳浓度等环境因素都会影响我们的日常生活,及时关注天气变化,也方便大家日常出行。
怎样检测环境温度?
4
传感信息获取实践
设计一个环境温度监测装置
项目任务
5
传感信息获取实践
通过 USB(模拟串口) 连接线将 micro:bit 接到计算机,安装串口驱动程序;
编写程序,读取传感器数据,并向串口输出;
通过串口调试工具,查看串口数据
USB线连接
安装驱动
6
传感信息获取实践
micro bit板
集成模块:
5×5 LED点阵灯
2个可编程按钮
连接引脚
温度传感器
运动传感器 (加速度和指南针)
无线通讯,通过无线电和蓝牙
USB 接口
麦克风和嗡鸣器
7
BXY编辑器
传感信息获取实践
8
传感信息获取实践
显示输出
micro:bit正面有5*5的LED显示屏;
可以用来显示图案和文字;
每个像素点的亮度范围:0~9;
9
传感信息获取实践
显示输出
from microbit import *
#导入所有microbit自带库文件
display.show(Image.HAPPY)
#显示笑脸图案
from microbit import *
#导入所有microbit自带库文件
display.show(“0”)
#显示数字0
display.show()
10
传感信息获取实践
显示图案
表情图像 作用
Image.HAPPY 高兴
Image.SAD 伤心
Image.ANGRY 生气
Image.ASLEEP 困了
Image.ARROW_W 朝西箭头
Image.ARROW_E 朝东箭头
……
内置图案
11
传感信息获取实践
显示输出
display.show()
from microbit import *
#导入所有microbit自带库文件
a=Image(“00009:00090:00900:09000:90000”)
#自定义图案样式
display.show(a)
#显示自定义图案
12
传感信息获取实践
显示输出
点击”检查”,查看是否报错,
然后“保存”文件,并 “烧录“程序到主控板;
13
传感信息获取实践
显示输出
display.show()
from microbit import *
#导入所有microbit自带库文件
a=Image(“99999:00090:00900:09000:99999”)
#自定义图案样式
display.show(a)
#显示自定义图案
猜一猜这是什么图案
14
传感信息获取实践
显示输出
scroll:滚动的
from microbit import *
#导入所有microbit自带库文件
display.scroll('Hello World!')
#滚动显示文字
display.scroll()
15
传感信息获取实践
显示输出
scroll:滚动的
display.scroll()
循环显示
from microbit import *
#导入所有microbit自带库文件
while True:
display.scroll('Hello World!')
#滚动显示文字
16
传感信息获取实践
任务一
display.show() 显示字符图案
display.scroll() 滚动显示
sleep() 程序暂停x毫秒 1秒=1000毫秒(ms)
display.clear() 清屏
print() 向串口输出
在点阵屏上显示自己的姓名缩写并输出到串口
在点阵屏上显示内置图案,
尝试设计自定义图案
17
传感信息获取实践
任务一
display.show() 显示字符图案
display.scroll() 滚动显示
Image(“99999:00090:00900:09000:99999”)自定义图案(0-9)
print() 向串口输出
在点阵屏上显示自己的姓名缩写并输出到串口
在点阵屏上显示内置图案,
尝试设计自定义图案
18
传感信息获取实践
任务一
sleep(x) 程序暂停x毫秒 1秒=1000毫秒
19
传感信息获取实践
获取传感器数据
内置传感器
传感器 基本函数 作用
温度传感器 temperature() 收集板载温度
三轴加速计accelerometer accelerometer.get_x() 测量设备在X轴上的水平
accelerometer.get_y() 测量设备在Y轴上的水平
accelerometer.get_z() 测量设备在Z轴上的水平
指南针compass compass.heading() 指向北方得到一个准确的读数
compass.get_field_strength() 返回一个数字表明磁场强度
其他 https://bxy.dfrobot.com.cn/microbitapi
20
传感信息获取实践
获取温度传感器数据
micro:bit板载温度传感器
temperature():可以检测环境温度,单位摄氏度℃;
函数后()用来传参数,不能省略;
21
传感信息获取实践
任务二
1
2
温度实时监测
显示屏根据温度变化而变化
获取温度传感器数据【temperature()】
microbit板上显示【display.scroll()】
串口输出温度【print()】
3
温度实时判断
根据不同温度显示屏输出不同内容
22
传感信息获取实践
任务二
23
传感信息获取实践
按钮
常用函数 作用
is_pressed() 如果指定的按钮被按下返回True,否则返回False
was_pressed() 如果指定的按钮在开机或复位之后被按下过,则返回True,否则返回False。
get_presses() 返回开机或复位后,button被按下的次数,并且调用此方法后,会将计数置0。
button_a:A按键
button_b:B按键
24
传感信息获取实践
按钮
传感信息获取实践
串口通信
UART
串口通信UART:外设和计算机间,通过数据线,按位进行传输数据的一种通讯方式。一个字节的数据要分为8次,由低位到高位按顺序一位一位的进行传送。
26
传感信息获取实践
串口通信
uart相关函数说明
.any() 判断串口是否有数据输入
.readall() 读取全部内容
.init() 初始化设置
.write() 写入数据
.readline() 读取一行
UART
27
传感信息获取实践
串口通信
硬件接收程序
28
传感信息获取实践
串口通信
指令发送程序
相关函数说明
serial.Serial() 创建实例
.port() 设置串口号
.baudrate() 波特率
.open()/close() 打开关闭串口
encode() 编码
decode() 解码
ser.readline() 读取串口数据
ser.write() 串口写入数据
pyserial模块
29
传感信息获取实践
串口通信
指令发送程序
30
传感信息获取实践
引脚
其IO扩展口可通过鳄鱼夹引出,支持读取传感器数据,控制舵机与RGB灯带等,使用microbit扩展板后能连接多达20个外部模块,轻松胜任各种编程相关的教学与开发场景,包括电子游戏编写、声光互动、机器人控制、科学实验、可穿戴装置开发等。
31
传感信息获取实践
引脚
32
传感信息获取实践
鳄鱼夹
micro:bit板
扩展板
可以直接金属引脚和外接模块,但是极不稳定,一般不用
Micro:bit的底部边缘有金属条,这些是输入与输出引脚(也称为 I/O 引脚)
可以把microbit板上的针脚引出来,方便扩展驱动连接电机,舵机及各种传感器
33
传感信息获取实践
项目任务
在现代智能家居、智能农业系统中,一般设计有温度,湿度等实时监测系统。
制作一个温度警报系统
当温度过高时提醒
34
传感信息获取实践
扩展板
35
传感信息获取实践
扩展板
I/O口(输入/输出接口)说明
36
传感信息获取实践
外接模块数据读取
1
可以变化的连续范围Analog
只有1和0
Digital
模拟信号
数字信号
读取模拟量 read_analog()
读取数字量 read_digital()
写入模拟量 write_analog()
写入数字量 write_digital()
37
传感信息获取实践
将温度传感器,led发光模块连接到扩展板对应的引脚
通过 USB 线将 micro:bit 与计算机相连
编写程序读取传感器的温湿度值
判断输出高低电平控制LED灯的亮灭
38
传感信息获取实践
供电电压:3.3V~5V
接口类型:模拟
测量范围:-40至150℃
传感器芯片灵敏度:10mV/℃
温度转换公式: 330/1024
可用于检测周围环境温度。
LM35温度传感器
39
传感信息获取实践
40
这段代码的含义为( )
A.每隔2000秒通过传感器读取环境温度值,并向串口输出
B.每隔2秒通过传感器读取环境温度值,并向串口输出
C.每隔20秒通过传感器读取环境温度值,并向串口输出
D.每隔20毫秒通过传感器读取环境温度值,并向串口输出
用BXY查看串口数据,如图所示
课堂练习
B
课堂练习
D
课堂练习
C
聆
听
谢
谢
44
$$