通过电位器、按键、双LED灯和舵机,打造一个功能完整的模拟雨刷器系统。
一、项目硬件器件
本项目采用常规单片机硬件模块,可使用结构件组装或面包板搭配普通电子元器件搭建。
所需器件清单:
· ATmega328控制板 ×1个 · 电位器模块 ×1个 · 按键模块 ×1个 · LED灯模块 ×2个(分别命名为LED1、LED2) · 舵机 ×1个 · 结构件若干(或普通电子元器件、面包板)
二、项目功能任务要求
基于ATmega328单片机,通过电位器、按键、双LED灯、舵机联动,实现模拟雨刷器动态效果。
上电初始状态
控制板上电启动后:
· LED1、LED2均保持熄灭
· 舵机默认归位至0度
· 设备处于待机状态
按键按压触发运行(长按不松开)
持续按住按键不松开:
· 舵机启动往复运动 · 在30°~150°区间内持续反复摆动 · 模拟雨刷器工作状态
舵机正向转动灯光逻辑
舵机从30°向150°转动(正向摆动)时:
· LED1点亮
· LED2熄灭
舵机反向转动灯光逻辑
舵机从150°向30°转动(反向摆动)时:
· LED1熄灭
· LED2点亮
电位器调速功能
设备运行过程中:
· 可通过旋转电位器自由调节舵机30°~150°往复摆动的运行速度
按键松开复位逻辑
松开按键后:
· 舵机立即停止往复摆动 · 自动复位转动至0度
· LED1、LED2全部熄灭 · 设备回归初始待机状态
三、程序流程图




四、制作规范说明
结构自由搭建:可使用配套结构件、面包板、普通电子元器件组合组装,无固定搭建形式。 需绘制流程图:根据完整功能逻辑,绘制项目程序流程图。 未明确规定内容:可自主合理设计,无明显逻辑错误、不违背硬件控制常识即可。
五、关键实现提示
· 调速原理:舵机采用步进角度(如每次1°或2°),每步之间延时。电位器ADC值(0~1023)映射到延时时间(如1~20ms),数值越大速度越慢。
· 按键处理:检测电平状态而非边沿触发,实现“按住持续摆动”;松开后立即跳出往复循环并复位。
· 舵机控制:使用Servo.h库,write(angle)控制角度。
· 边界注意:松开按键后的复位动作不受调速影响,应尽快完成;按住过程中每次摆动到端点后立即读取电位器,支持实时调速。
更多单片机实战项目,欢迎持续关注!