跳到主要内容

智能控制设计与制作 - 程序参考

本栏目为使用 Steamania JoyKit V2 进行电路搭建练习提供程序参考。每个项目包含:

  • 项目目标:清晰的学习目标
  • 所需硬件:需要的电子模块清单
  • 核心任务:关键编程挑战
  • 参考方案:完整的程序代码及详细解释

可用项目​

第 1 题:室内温度监测系统​

目标:用温度传感器和全彩 LED 制作温度监测系统,LED 颜色随温度变化(温度升高由绿变红)。

所需硬件:

  • Steamania JoyKit V2(主控)
  • BME280/BMP280 温湿度传感器模块
  • WS2812B 全彩 LED 模块

核心任务:

  1. 启用温度传感器模块
  2. 循环读取温度数据
  3. 将温度值映射到 LED 颜色(绿→黄→红)
  4. 在屏幕上实时显示温度值

关键概念:

  • 传感器数据采集
  • 颜色映射的条件逻辑
  • RGB 颜色控制
  • 循环结构

👉 查看详细方案


第 2 题:模拟室内照明电路​

目标:用按键和全彩 LED 模拟电灯开关。

所需硬件:

  • Steamania JoyKit V2(主控)
  • 按键模块
  • WS2812B 全彩 LED 模块

核心任务:

  1. 配置按键为数字输入
  2. 实现切换逻辑(按下切换开/关)
  3. 控制 LED 在"开"时发出白光
  4. 显示当前开关状态

关键概念:

  • 数字输入读取
  • 状态机/切换逻辑
  • 边沿检测(按键按下 vs. 按住)
  • 二进制状态控制

👉 查看详细方案


第 3 题:模拟社区路灯照明系统​

目标:用亮度传感器和 4 个全彩 LED(蓝光)制作自动路灯系统。根据环境光照强度,自动调节点亮的 LED 数量(光线越暗,点亮越多),并实时显示传感器数值。

所需硬件:

  • Steamania JoyKit V2(主控)
  • TCS34725 颜色传感器(用于环境光检测)
  • 4x WS2812B 全彩 LED 模块(配置为蓝色路灯)

核心任务:

  1. 从传感器读取环境光照强度
  2. 实现多级阈值逻辑
  3. 根据光照水平独立控制 4 个 LED
  4. 在屏幕上实时显示传感器数值
  5. 自动调节 LED 数量(0-4 个)

关键概念:

  • 模拟/数字传感器读取
  • 多级条件分支
  • 多个输出的类数组控制
  • 实时数据可视化
  • 基于阈值的自动化

👉 查看详细方案


第 4 题:模拟电子日历​

目标:用按键和四位数码管制作电子日历。初始显示"0000",通过按键在显示年份"2026"和显示月日"0131"两种模式间切换,并持续循环。

所需硬件:

  • Steamania JoyKit V2(主控)
  • 4 位数码管显示模块
  • 按键模块

核心任务:

  1. 初始化数码管显示"0000"
  2. 实现按键检测
  3. 在年份显示模式(2026)和月日显示模式(0131)之间切换
  4. 持续循环显示

关键概念:

  • 多位数码管动态显示
  • 状态管理
  • 按键消抖
  • 显示模式切换

👉 查看详细方案


第 5 题:声控电子蜡烛​

目标:用声音传感器、全彩 LED 和奏乐单元设计声控蜡烛。LED 默认闪烁绿光;吹一口气后切换为闪烁红光模拟点燃;再吹一口则熄灭 LED 并演奏一段音乐(至少三个音符)后保持熄灭,模拟吹灭。过程循环。

所需硬件:

  • Steamania JoyKit V2(主控)
  • 声音传感器模块(麦克风)
  • WS2812B 全彩 LED 模块
  • 蜂鸣器/奏乐模块

核心任务:

  1. 初始化 LED 闪烁绿光(默认状态)
  2. 检测声音触发(吹气)
  3. 第一次吹气切换到红色闪烁模式(蜡烛点燃)
  4. 第二次吹气熄灭 LED 并播放音乐
  5. 持续循环所有状态

关键概念:

  • 声音检测与触发
  • 多模式状态机
  • LED 闪烁模式
  • 音乐播放集成

👉 查看详细方案


第 6 题:智能窗帘​

目标:用电机、驱动模块及多种传感器(按键、遥控、语音等)设计智能卷帘。包含三个子任务,分别实现:1) 按键开关控制正/反转 1 秒;2) 遥控器按键长按控制正/反转(松开即停);3) 语音命令控制正/反转 1 秒。鼓励用一套程序实现多个任务。

所需硬件:

  • Steamania JoyKit V2(主控)
  • 直流电机模块
  • 电机驱动模块(L298N 或类似)
  • 按键模块(2 个按键:正转/反转)
  • 红外遥控模块
  • 语音识别模块(可选)

核心任务:

  1. 按键控制:按键开关控制正/反转 1 秒
  2. 遥控控制:遥控器按键长按控制正/反转(松开即停)
  3. 语音控制:语音命令控制正/反转 1 秒

关键概念:

  • 电机正反转控制
  • 多种输入方法集成
  • 多样化人机交互
  • 输入优先级处理

👉 查看详细方案


如何使用这些项目​

给学生:​

  1. 仔细阅读项目要求
  2. 先规划电路连接
  3. 在查看参考答案前尝试自己编写程序
  4. 逐步测试和调试
  5. 尝试修改(如不同的颜色方案、阈值等)

给教师:​

  • 将这些项目用作实验练习或家庭作业
  • 修改参数创建变体(如不同的温度范围)
  • 组合多个项目创建更复杂的挑战
  • 鼓励学生添加创意功能

前置要求​

在尝试这些项目之前,学生应熟悉:

  • 基础 JoyKit 编程(寄存器读写)
  • 数字 I/O 配置
  • 十六进制数理解
  • 基础条件跳转指令