1 项目概要
本项目实验实现的功能保持实验箱内的温度保持在一定的温度范围内,低于这个范围的启动加热装置,高于这个范围的启动排风降温装置。用行空板K10作为主控,板载温湿度传感器测温
2 教学内容分析
本实验是2023浙江版信息科技教材五年级下册第15课的实验,本实验室一个综合性的项目活动,可以作为对本年级学习的一个综合应用和评估。
实验分为:硬件结构设计、控制算法设计、实验调试和改进三个部分。
3 学情分析
学生在五年级学习了算法、控制系统和相关知识,了解了算法设计的一般过程,也认识了控制系统的基本环节和控制基本原理。
4 实验目标和实验重难点
4.1 实验目标
1.能通过用行空板K10开发板解决问题的一般过程,学会分析问题,并按照算法设计的一般步骤来解决问题。
2.能综合运用顺序、分支和循环三种流程控制结构设计解决问题的算法。
3.综合运用跨学科知识解决问题,培养自主学习和合作探究的能力和意识,
4.2 实验重难点
实验重点:恒温箱实验的观察和算法设计。
实验难点:分支结构部分的算法设计。
5 器材准备
6实验思维导图

7算法描述
7.1自然语言描述
先设定一个实验环境温度区间,即下限和上限,用板载温湿度模块反复获取实验环境温度,当温度在区间范围内,停止加热和风扇。
当温度低于下限时,启动加热模块,温度开始升高。
当温度高于上限时,停止加热模块,启动风扇模块。
7.2伪代码描述
设置 最低温度=20
设置 最高温度=30
while True:
温度=温度传感器的值
if 温度>最低温度 且 温度<最高温度:
关闭加热模块
关闭风扇模块
else:
if 温度<最低温度:
启动加热模块
关闭风扇模块
else:
关闭加热模块
启动风扇模块
7.3流程图描述

8实验过程
8.1准备工作
把加热模块接入P0,把风扇模块接入P1。


8.2测试模块
8.2.1温度读取测试
from machine import Pin
from unihiker_k10 import temp_humi,screen
from time import sleep
screen.init(dir=2)
while True:
wendu=temp_humi.read_temp()#读取温度
screen.draw_text(str(wendu),line=1)
screen.show_draw()
sleep(1)
screen.clear()
8.2.2测试风扇模块和加热模块
#加热模块(灯)和散热模块(风扇)测试
from machine import Pin
from unihiker_k10 import temp_humi,screen
from time import sleep
#加热模块接P0,对应的GPIO引脚是1
#风扇模块接P1,对应的GPIO模块是2
screen.init(dir=2)
jiare,fengshan = Pin(1, Pin.OUT),Pin(2, Pin.OUT)
while True:
wendu=temp_humi.read_temp()#读取温度
screen.draw_text(str(wendu),line=1) #屏幕显示温度
screen.show_draw() #屏幕更新显示
jiare.value(1) #接加热模块的引脚设置为高电平
fengshan.value(0) #接风扇模块的引脚设置为低电平
sleep(2)
jiare.value(0) #接加热模块的引脚设置为低电平
fengshan.value(1) #接风扇模块的引脚设置为高电平
sleep(2)
screen.clear() #清除屏幕显示
8.3编写代码
from machine import Pin
from unihiker_k10 import temp_humi,screen
from time import sleep
screen.init(dir=2)
jiare,fengshan = Pin(1, Pin.OUT),Pin(2, Pin.OUT)
while True:
wendu=temp_humi.read_temp()#读取温度
screen.draw_text(str(wendu),line=1)
screen.show_draw()
print("温度",str(wendu))
if wendu>22 and wendu<23:
jiare.value(0)
fengshan.value(0)
else:
if wendu<22:
jiare.value(1)
fengshan.value(0)
else:
jiare.value(0)
fengshan.value(1)
sleep(2)
screen.clear()
8.4实验补充说明
由于实验拍摄时室内温度比较低,灯泡亮了后的余温不能使温湿度传感器温度超过24℃,为此用手指触摸温湿度传感器来升温,以触发风扇转动。
评论