本方案是基于 Arduino UNO 的带遥控器环境灯,在本方案中,我们将学习如何使用 433MHz 射频遥控器和 Arduino 控制 RGB LED 随机颜色,以及如何打开或关闭它,或设置自动更改颜色和更改颜色的速度。
第 1 步:需要什么
-
Arduino UNO(或任何其他 Arduino)
-
跳线
-
RGB LED 模块
-
433 MHz 射频模块
-
Visuino 程序
第 2 步:电路
-
将远程引脚 [VCC] 连接到 Arduino 引脚 [5V]
-
将远程引脚 [GND] 连接到 Arduino 引脚 [GND]
-
将远程引脚 [D0] 连接到 Arduino 数字引脚 [4]
-
将远程引脚 [D1] 连接到 Arduino 数字引脚 [5]
-
将远程引脚 [D2] 连接到 Arduino 数字引脚 [3]
-
将远程引脚 [D3] 连接到 Arduino 数字引脚 [2]
-
将 RGB LED 引脚 [+] 连接到 Arduino 引脚 [5V]
-
将 RGB LED 引脚 [R] 连接到 Arduino 数字引脚 [6]
-
将 RGB LED 引脚 [G] 连接到 Arduino 数字引脚 [10]
-
将 RGB LED 引脚 [B] 连接到 Arduino 数字引脚 [9]
注意:某些 RGB LED 模块具有引脚 (-) 而不是引脚 (+),在这种情况下,您将其连接到 Arduino 引脚 [GND]
第 3 步:启动Visuino,选择Arduino UNO Board Type
如第一张图所示启动Visuino 点击Visuino中Arduino组件(图1)上的“工具”按钮,出现对话框后,选择“Arduino UNO”,如图2所示
第 4 步:在 Visuino 中添加、设置和连接组件
-
添加“随机颜色”组件
-
添加“颜色值”组件
-
添加“彩色多源合并”组件
-
添加“RGB LED”组件
-
注意:如果 LED 不亮,则选择“LED1”并在属性窗口中将“Inverted”设置为 True
-
添加“正弦模拟发生器”组件
-
添加“模拟到 RGBW 颜色”组件
-
添加“RGBW 颜色开关”组件
-
添加“去抖动按钮”组件
-
添加“Toggle(T) Flip-Flop”组件
-
添加 3X“整数到模拟”组件
-
添加“计数器”组件
-
选择“ColorMultiMerger1”并在属性窗口中将“Input Pins”设置为4
-
选择“Counter1”并在属性窗口中将“Initial Value”设置为 1 ,Max > Value 设置为 10,Min > Value 设置为 1
-
选择“IntegerToAnalog1”,属性窗口将Scale设置为0.05
-
选择“IntegerToAnalog2”,属性窗口将Scale设置为0.1
-
选择“IntegerToAnalog3”,属性窗口将Scale设置为0.05
-
选择“SineAnalogGenerator1”和属性窗口点击“Frequency”pin图标并选择“Float SinkPin”
-
选择“SineAnalogGenerator2”和属性窗口点击“Frequency”pin图标并选择“Float SinkPin”
-
选择“SineAnalogGenerator3”和属性窗口点击“Frequency”pin图标并选择“Float SinkPin”
-
将 Arduino 数字输出引脚 [4] 连接到“ColorValue1”引脚 [时钟],这将用于关闭 LED
-
将 Arduino 数字输出引脚 [5] 连接到“RandomColor1”引脚 [时钟],这将用于设置 LED 上的随机颜色
-
将 Arduino 数字输出引脚 [2] 连接到 "Counter1" 引脚 [In] ,这将用于设置 LED 上的颜色变化速度
-
将Arduino数字输出引脚[3]连接到“Button1”引脚[In],这将用于打开/关闭LED上的自动颜色变化
-
将“RandomColor1”引脚 [Out] 连接到“ColorMultiMerger1”引脚 [0]
-
将“ColorValue1”引脚 [Out] 连接到“ColorMultiMerger1”引脚 [1]
-
将“ColorMultiMerger1”引脚 [Out] 连接到“LED1”引脚 [In]
-
将“LED1”引脚[红色]连接到Arduino数模PWM引脚[6]
-
将“LED1”引脚[绿色]连接到Arduino数模PWM引脚[10]
-
将“LED1”引脚[蓝色]连接到Arduino数模PWM引脚[9]
-
将“Counter1”引脚[Out]连接到“IntegerToAnalog1”引脚[In]和“IntegerToAnalog2”引脚[In]和“IntegerToAnalog3”引脚[In]
-
连接“IntegerToAnalog1”引脚[输出到“SineAnalogGenerator1”引脚[频率]
-
连接“IntegerToAnalog2”引脚[输出到“SineAnalogGenerator2”引脚[频率]
-
连接“IntegerToAnalog3”引脚[输出到“SineAnalogGenerator3”引脚[频率]
-
将“SineAnalogGenerator1”引脚 [Out] 连接到“AnalogToRGBWColor1”引脚 [红色]
-
将“SineAnalogGenerator2”引脚[Out]连接到“AnalogToRGBWColor1”引脚[绿色]
-
将“SineAnalogGenerator3”引脚[Out]连接到“AnalogToRGBWColor1”引脚[蓝色]
-
将“AnalogToRGBWColor1”引脚 [Out] 连接到“RGBWColorSwitch1”引脚 [In]
-
将“Button1”引脚 [Out] 连接到“TFlipFlop1”引脚 [Clock]
-
连接 "TFlipFlop1" 引脚 [Out] "RGBWColorSwitch1" 引脚 [Enable]
-
将“RGBWColorSwitch1”引脚[Out]连接到“ColorMultiMerger1”引脚[3]
第 5 步:生成、编译和上传 Arduino 代码
在 Visuino 中,点击底部的“构建”选项卡,确保选择了正确的端口,然后点击“编译/构建和上传”按钮。
第 6 步:播放
如果您为 Arduino 模块供电,并按下遥控器上的“A”按钮,LED 将亮起并发出随机颜色,如果您按下遥控器上的“B”按钮,LED 将熄灭。
如果您按下遥控器上的“C”按钮,LED 上的颜色将开始变化。
如果您按下遥控器上的按钮“D”,颜色变化的速度将会改变。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉