第三课——多个LED花样闪烁

来自Microduino Wikipedia
853387039@qq.com讨论 | 贡献2015年3月14日 (六) 13:36的版本 设备
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

目的

已经实验了点亮一个led的方法,接下来稍微扩展下,控制多个led依次闪烁。

原理

可以采用重复执行(repeat between),依次让引脚输出高或低的电平信号来控制LED灯亮灭。

设备

搭建硬件

led的阴极接Microduino的GND,阳极接Microduino数据控制口D2~D9。

按原理图搭建好电路。

软件调试

  • 打开Arduino IDE, 根据你使用的核心板在Tools里面选择好Board(Microduino Core 328P@16M 5V),选择Serial Port,如果未能选择串口,可能是USB线接触不好或损坏,或者没安装USBTTL驱动。
  • 在Tools里打开ArduBlock,开始编程。
  • 在Control里使用“repeat between”控件,在某个范围内重复让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 );
  }
}