“第三课——多个LED花样闪烁”的版本间的差异
853387039@qq.com(讨论 | 贡献) (→软件调试) |
853387039@qq.com(讨论 | 贡献) (→设备) |
||
(未显示同一用户的1个中间版本) | |||
第12行: | 第12行: | ||
*'''[[Microduino-Core/zh]]''' | *'''[[Microduino-Core/zh]]''' | ||
*'''[[Microduino-USBTTL/zh]]''' | *'''[[Microduino-USBTTL/zh]]''' | ||
+ | *'''[[Microduino-Plug/zh]]''' | ||
*其他硬件设备 | *其他硬件设备 | ||
**面包板跳线 一盒 | **面包板跳线 一盒 | ||
第57行: | 第58行: | ||
{ | { | ||
for(_ABVAR_1_i = 2; | for(_ABVAR_1_i = 2; | ||
− | 2<= | + | 2<=9?_ABVAR_1_i <= 9:_ABVAR_1_i >= 9; |
− | 2<= | + | 2<=9?_ABVAR_1_i = _ABVAR_1_i + 1:_ABVAR_1_i = _ABVAR_1_i - 1) |
{ | { | ||
__ardublockDigitalWrite(_ABVAR_1_i, HIGH); | __ardublockDigitalWrite(_ABVAR_1_i, HIGH); | ||
第64行: | 第65行: | ||
} | } | ||
for(_ABVAR_1_i = 2; | for(_ABVAR_1_i = 2; | ||
− | 2<= | + | 2<=9?_ABVAR_1_i <= 9:_ABVAR_1_i >= 9; |
− | 2<= | + | 2<=9?_ABVAR_1_i = _ABVAR_1_i + 1:_ABVAR_1_i = _ABVAR_1_i - 1) |
{ | { | ||
__ardublockDigitalWrite(_ABVAR_1_i, LOW); | __ardublockDigitalWrite(_ABVAR_1_i, LOW); | ||
+ | delay( 500 ); | ||
} | } | ||
for(_ABVAR_1_i = 2; | for(_ABVAR_1_i = 2; | ||
− | 2<= | + | 2<=9?_ABVAR_1_i <= 9:_ABVAR_1_i >= 9; |
− | 2<= | + | 2<=9?_ABVAR_1_i = _ABVAR_1_i + 1:_ABVAR_1_i = _ABVAR_1_i - 1) |
{ | { | ||
__ardublockDigitalWrite(_ABVAR_1_i, HIGH); | __ardublockDigitalWrite(_ABVAR_1_i, HIGH); | ||
delay( 500 ); | delay( 500 ); | ||
__ardublockDigitalWrite(_ABVAR_1_i, LOW); | __ardublockDigitalWrite(_ABVAR_1_i, LOW); | ||
+ | delay( 500 ); | ||
} | } | ||
} | } | ||
</source> | </source> | ||
|} | |} |
2015年3月14日 (六) 13:36的最新版本
目的已经实验了点亮一个led的方法,接下来稍微扩展下,控制多个led依次闪烁。 原理可以采用重复执行(repeat between),依次让引脚输出高或低的电平信号来控制LED灯亮灭。 设备
搭建硬件led的阴极接Microduino的GND,阳极接Microduino数据控制口D2~D9。 按原理图搭建好电路。 软件调试
在loop循环里面重复执行就好。 结果实验有三种花样效果:依次点亮;依次熄灭、依次闪烁。用户可根据自己喜好,设置更多好玩的效果。 可以看到编译后的程序代码是如何实现的。 int _ABVAR_1_i = 0 ;
void __ardublockDigitalWrite(int pinNumber, boolean status)
{
pinMode(pinNumber, OUTPUT);
digitalWrite(pinNumber, status);
}
void setup()
{
}
void loop()
{
for(_ABVAR_1_i = 2;
2<=9?_ABVAR_1_i <= 9:_ABVAR_1_i >= 9;
2<=9?_ABVAR_1_i = _ABVAR_1_i + 1:_ABVAR_1_i = _ABVAR_1_i - 1)
{
__ardublockDigitalWrite(_ABVAR_1_i, HIGH);
delay( 500 );
}
for(_ABVAR_1_i = 2;
2<=9?_ABVAR_1_i <= 9:_ABVAR_1_i >= 9;
2<=9?_ABVAR_1_i = _ABVAR_1_i + 1:_ABVAR_1_i = _ABVAR_1_i - 1)
{
__ardublockDigitalWrite(_ABVAR_1_i, LOW);
delay( 500 );
}
for(_ABVAR_1_i = 2;
2<=9?_ABVAR_1_i <= 9:_ABVAR_1_i >= 9;
2<=9?_ABVAR_1_i = _ABVAR_1_i + 1:_ABVAR_1_i = _ABVAR_1_i - 1)
{
__ardublockDigitalWrite(_ABVAR_1_i, HIGH);
delay( 500 );
__ardublockDigitalWrite(_ABVAR_1_i, LOW);
delay( 500 );
}
}
|