设计一款基础Arduino Uno PWM信号发生器,提供三种模式:手动、闪烁和呼吸
多模式Arduino PWM信号发生器与控制器
项目概述
测试电路、调制LED或可变电机速度需要一个可靠的脉宽调制(PWM)信号。市面上销售的函数发生器体积较大,价格昂贵。本项目提供了一款低成本、高度便携、多模式的基于Arduino-B的PWM信号发生器,配备I2C 16x2 LCD显示屏和动态用户界面。
只需一个按钮和一个锅,这个装置就能在手动操作和自动信号生成模式之间切换,成为每位创客工作台上特别实用的工具。
工作原理与功能
该系统基于Arduino Uno/Nano,利用内置定时器生成可变的PWM信号。系统具有三种不同的工作模式,您可以通过按下硬件中断按钮轻松切换:
手动PWM模式(占空比控制器)
在此模式下,您可以通过旋转电位器旋钮,手动控制占空比从0%到100%。实际数值会实时映射,并显示在LCD屏幕上。该模式非常适合驱动电机或调光LED。
闪光模式(方波/频闪发生器):在此模式下,会生成连续的方波信号。通过电位器实时调整频率或闪烁延迟,以产生精确定时的脉冲。
呼吸模式(自动信号动画):一种自动化模式,Arduino 会自动增加和减少 PWM 值,以模拟“呼吸”灯光效果或平滑的波形信号。呼吸周期的速度由一个电位器进行调节。
系统采用INPUT_PULLUP方案处理模式按钮,无需使用外部下拉电阻,从而减少了电路面积。此外,通过调整字符间距,使LCD显示更加高效,有效恢复因快速状态变化引起的屏幕闪烁问题。
未来升级
虽然当前的固件直接从Arduino引脚输出5V逻辑信号,但PCB布局是为带有N沟道MOSFET或晶体管驱动电路的附加板设计的。这使得该发生器能够使用相同的代码,安全地切换高电流/高电压负载,例如12V电脑风扇、大型直流电机或高功率LED灯带。
本文编译自hackster.io





