| 本帖最后由 DI玩 于 2025-2-3 11:23 编辑 
 #K10信息科技真实情境案例
 
 #修远智慧体验中心天窗控制系统原型
 
 
  目标:学会观察和分析传感器数据,理解数据在控制系统中的关键作用。任务:
 观察传感器数据变化:在不同光照强度和水分条件下,记录光线传感器和水分传感器输出的数据。分析数据与环境关系:记录实验数据,并分析数据与环境条件之间的关系。理解数据重要性:总结数据在控制系统中的关键作用,如作为控制决策的依据、反映系统运行状态等。
 
 前情提要
 
 
  
 在子项目一中,修远智慧体验中心的天窗是通过按钮手动控制的。如果要让系统可以根据外部环境亮度或者天气状况(比如是否下雨)自动开合天窗,那么首先需要让系统能够感知环境。
 
 硬件解读
 
 根据项目实际需求,我们可以利用行空板板载的光线传感器感知环境亮度,并外接一个水分传感器来感知是否下雨。
 
 
  
 K10板载的光线传感器
 
 在子项目一的机电安装部分,学生已经参考线路连接图,安装了舵机和本项目涉及的水分传感器(用来变通检测雨量)。
 
 
  
 
  
 水分传感器可用热熔胶固定在屋顶上
 
 编程与测试
 
 先参考例程,用Mind+编写一个显示环境光照强度的程序
 
 
  
 
  
 第二步,可以让学生递进一个层级,增加显示水分的功能。
 
 
  
 
  
 课堂上也可以用手指接触水分传感器,进行初步测试。
 
 下面提供配套浙教版教材的MicroPython代码
 
 复制代码# 修远智慧体验中心天窗控制系统——光照数据显示
from unihiker_k10 import screen, light
import time
# 初始化屏幕
screen.init(dir=2)
while True:
    # 读取光线传感器的数值
    light_value = light.read()
    
    # 清除屏幕显示
    screen.clear()
    
    # 在屏幕上显示光线传感器的数值
    screen.draw_text(text=f"Light: {light_value}", line=1, font_size=24, color=0xFFFFFF)
    
    # 显示绘制的内容
    screen.show_draw()
    
    # 间隔0.5秒,防止过快刷新导致屏幕闪烁
    time.sleep(0.5)
 
 
  大班课堂上,我们可以将显示部分封装起来,让学生专注于核心问题。# 修远智慧体验中心天窗控制系统——光照、水分数据显示
 
 复制代码# 修远智慧体验中心天窗控制系统——光照、水分数据显示
from unihiker_k10 import screen, light, pin
import time
# 初始化屏幕
screen.init(dir=2)
# 初始化水分传感器
p0 = pin(0)  # 实例化P0引脚
def display_status(light_value, rain_value):
    """显示光线强度、水分传感器数据"""
    screen.clear()  # 清除屏幕显示
    screen.draw_text(text=f"Light: {light_value}", line=1, font_size=24, color=0xFFFFFF)  # 显示光线强度
    screen.draw_text(text=f"Rain: {rain_value}", line=2, font_size=24, color=0xFFFFFF)  # 显示水分
    screen.show_draw()  # 显示绘制的内容
while True:
    # 读取光线传感器的数值
    light_value = light.read()
    
    # 读取水分传感器的数值
    rain_value = p0.read_analog()  # 读取P0引脚的模拟量
    
    # 显示光线强度、水分
    display_status(light_value, rain_value)
    
    # 间隔0.5秒,防止过快刷新导致屏幕闪烁
    time.sleep(0.5)
 
 
  
 实验与数据分析
 
 我设计了下面的学习单,便于学生记录实验数据,分析数据与环境条件之间的关系。
 
 
  
 借助学习支架,学生将在项目中了解到控制系统可以通过传感器感知外部环境,并以此作为控制决策的依据、反映系统运行状态等,为后续数据应用和系统优化提供认知支持。
 
 
 
 
 
 
 
 
 
 |