|
本篇文章介绍了如何使用Arduino控制仙女灯串(Fairy LED)。这个想法是让多个仙女LED灯串根据特定的模式打开和关闭。通常,这些电池串由电池组或USB电源供电。在这里,我们重点介绍USB供电的LED,因为它们更容易与Arduino配合使用。 Arduino通常无法通过其数字信号输出为这种仙女灯条提供足够的功率。因此,在本文中,我们还将使用继电器模块。
所需的材料清单: – 跳线 – 面包板 – 仙女LED灯串 – Arduino开发板 – 继电器模块 – USB端子适配器
组件介绍 仙女LED灯串。 仙女LED灯串(Fairy LED Strings)的名字来由是因为从远处观看时它们看起来像是小精灵。在许多商店中,它们都放在罐子里,这可能使人想起流行的视频游戏系列“塞尔达”(Zelda)中的仙女(仙女通常由主角“ Link”装在罐子中运输)。 通常,仙女LED灯串由通过绝缘铜线连接的一串简单的LED组成。为了使LED更坚固,它们被包裹在某种干热胶中。
Arduino(Seeeduino Nano) 在本文中,我们使用的是Seeed Studio公司的Seeeduino Nano,它采用漂亮的红色PCB。此外,它与传统的Arduino Nano兼容。与普通的Arduino Nano相比,它使用USB Type-C接口而不是USB Mini接口。在本文中,Seeedunio Nano用于控制仙女LED灯串。
继电器模块 为了点亮LED灯条,Seeeduino需要将5V电压插入到仙女LED灯串的USB连接器。据我所知,普通的Arduino仅能通过数字输出引脚提供40mA的电流。通常,这不足以为为多个LED的灯串供电。为了解决这个问题,我们使用了继电器模块。继电器模块可以支持1路、2路、4路、8路端口。在本文中,使用具有4个端口的HL-545为两个童话LED灯串供电。
USB端子适配器。 现在,问题是如何将基于USB的仙女LED灯串连接到面包板。本文中,母头USB端子适配器非常有用。这些适配器使您可以插入USB电缆,然后在端子块上也具有相应的信号。幸运的是,跳线可以轻松地连接到端子块。
连接方式 在此设置中,存在两个5V电路。第一个是为仙女LED灯串供电。第二个是为Arduino和继电器模块供电。
接线原理图。
源代码 该程序非常基础,因为没有用于继电器模块或仙女LED灯串的特殊代码……仅需要设置了两个输出引脚。该程序的想法是执行一些“灯光秀”。在第一阶段,没有任何仙女LED灯亮。然后,仅显示黄色字符串。接下来,仅显示蓝色字符串。最后,显示两个字符串。此外,每个阶段显示两秒钟。
在setup函数中,数字引脚2和3被声明为输出引脚。然后在loop函数中,通过设置两个输出引脚并增加两秒钟的延迟来表示“灯光秀阶段”。例如,如果两个LED都设置,则输出引脚设置为两个低电平。由于继电器模块是低电平有效,因此控制引脚输出低电平是正确的! - // (c)
- // This program shows how to switch on two different "fairy LEDs" by utilizing a relay module.
- // In particular, the program resembles a small "lighting program":
- // Both LEDs are off, only first LED is switched on, only the second LED is switched on, both LEDs are switched on.
- // Each "light mode" shows up for two seconds.
- void setup() {
- pinMode(2, OUTPUT); // Digital pin 2 is an output pin
- pinMode(3, OUTPUT); // Digital pin 3 is an output pin
- }
- void loop() {
- // keep in mind: relay module "switches on" if signal is LOW
-
- // nothing is switched on
- digitalWrite(2, HIGH);
- digitalWrite(3, HIGH);
- delay(2000); // wait for two seconds.
- // LED is switched on
- digitalWrite(2, LOW); //Fairy LED on digital output 2 is switched on
- digitalWrite(3, HIGH);
- delay(2000); // wait for two seconds.
- // the other LED is switched on
- digitalWrite(2, HIGH);
- digitalWrite(3, LOW); //Fairy LED on digital output 3 is switched on
- delay(2000); // wait for two seconds.
- // both LEDs are switched on
- digitalWrite(2, LOW); //Fairy LED on digital output 2 is switched on
- digitalWrite(3, LOW); //Fairy LED on digital output 3 is switched on
- delay(2000); // wait for two seconds.
- }
复制代码
将程序上传到Seeeduino Nano开发板,则“灯光秀”应如下所示:
|