项目名称:反射弧与反射类型教学演示系统
项目背景:本项目为初中生物教学(反射弧与反射类型章节)研发的一套软硬件一体化教学演示系统,用于直观展示缩手反射和膝跳反射的神经传导机制,以及不同部位受损时反射行为的变化。
核心功能:
缩手反射演示模型:通过火焰传感器感知刺激,驱动 WS2812C 灯带以不同颜色(绿/红)逐段点亮模拟神经信号传导路径(感受器 → 传入神经 → 脊髓 → 传出神经 → 效应器),同时通过舵机驱动手臂模型完成缩手动作,并伴有蜂鸣器反馈。
膝跳反射演示模型:通过按键触发刺激,灯带模拟膝跳反射的神经通路,舵机驱动腿部模型完成踢腿动作,直观展示反射弧各环节。
故障模拟教学:支持 6 种教学场景切换——结构完整无故障、感受器损坏、传入神经损坏、脊髓损坏、传出神经损坏、大脑损坏,通过灯带颜色变化(绿色正常/红色阻断)和动作响应差异,帮助学生理解反射弧各环节的作用。
跨平台无线控制终端:提供 Windows 桌面端和 Android 移动端的控制 App,通过蓝牙 BLE 与两个演示模型无线通信,支持设备扫描、连接、命令下发和状态重置。
技术栈与架构:
微控制器端(ESP32 + nanoFramework):基于 .NET nanoFramework 平台,C# 语言开发,运行于 ESP32 硬件。使用 nanoFramework.Device.Bluetooth 实现蓝牙 SPP 无线通信,通过 PWM 驱动舵机(Iot.Device.ServoMotor)和蜂鸣器(Iot.Device.Buzzer),通过 RMT 协议控制 WS2812C 可编程灯带(Iot.Device.Ws28xx.Esp32),利用 GPIO 和 ADC 实现火焰传感器和按键输入检测。采用多线程 + CancellationToken 模式实现可中断的动画序列控制。
远程控制终端(Avalonia UI):基于 .NET 10 + Avalonia UI 跨平台框架,使用 ReactiveUI 响应式 MVVM 架构,通过 ReactiveUI Source Generators 自动生成响应式属性和命令。UI 采用 Semi Avalonia 主题 + Ursa 组件库。蓝牙通信基于 Plugin.BLE 库,通过 Nordic UART Service(UUID 6E400001-6E400003)与设备端进行读写交互,支持 MTU 协商和超时重试机制。
项目结构:采用 Solution 统一管理,包含 2 个 nanoFramework 嵌入式项目(缩手反射、膝跳反射)和 1 个 Avalonia 跨平台项目(含 Desktop/Android 两个启动目标),通过 Directory.Packages.props 集中管理 NuGet 依赖版本。