“第三课——多个LED花样闪烁”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
(Created page with "{| style="width: 800px;" |- | ==目的== 已经实验了点亮一个led的方法,接下来稍微扩展下,控制多个led依次闪烁。 ==原理== 可以采用重复执...")
 
设备
 
(未显示同一用户的2个中间版本)
第12行: 第12行:
 
*'''[[Microduino-Core/zh]]'''
 
*'''[[Microduino-Core/zh]]'''
 
*'''[[Microduino-USBTTL/zh]]'''
 
*'''[[Microduino-USBTTL/zh]]'''
 +
*'''[[Microduino-Plug/zh]]'''
 
*其他硬件设备
 
*其他硬件设备
 
**面包板跳线  一盒   
 
**面包板跳线  一盒   
第33行: 第34行:
 
[[File:lesson1_style_1.jpg|600px|center|thumb]]
 
[[File:lesson1_style_1.jpg|600px|center|thumb]]
 
*依次熄灭
 
*依次熄灭
[[File:lesson1_style_3.jpg|600px|center|thumb]]
+
[[File:lesson1_style_2.jpg|600px|center|thumb]]
 
*依次闪烁
 
*依次闪烁
 
[[File:lesson1_style_3.jpg|600px|center|thumb]]
 
[[File:lesson1_style_3.jpg|600px|center|thumb]]
 
在loop循环里面重复执行就好。
 
在loop循环里面重复执行就好。
 +
 
==结果==
 
==结果==
 
实验有三种花样效果:依次点亮;依次熄灭、依次闪烁。用户可根据自己喜好,设置更多好玩的效果。
 
实验有三种花样效果:依次点亮;依次熄灭、依次闪烁。用户可根据自己喜好,设置更多好玩的效果。
第56行: 第58行:
 
{
 
{
 
   for(_ABVAR_1_i = 2;  
 
   for(_ABVAR_1_i = 2;  
2<=10?_ABVAR_1_i <= 10:_ABVAR_1_i >= 10;  
+
2<=9?_ABVAR_1_i <= 9:_ABVAR_1_i >= 9;  
2<=10?_ABVAR_1_i = _ABVAR_1_i + 1:_ABVAR_1_i = _ABVAR_1_i - 1)
+
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);
第63行: 第65行:
 
   }
 
   }
 
   for(_ABVAR_1_i = 2;  
 
   for(_ABVAR_1_i = 2;  
2<=10?_ABVAR_1_i <= 10:_ABVAR_1_i >= 10;  
+
2<=9?_ABVAR_1_i <= 9:_ABVAR_1_i >= 9;  
2<=10?_ABVAR_1_i = _ABVAR_1_i + 1:_ABVAR_1_i = _ABVAR_1_i - 1)
+
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<=10?_ABVAR_1_i <= 10:_ABVAR_1_i >= 10;  
+
2<=9?_ABVAR_1_i <= 9:_ABVAR_1_i >= 9;  
2<=10?_ABVAR_1_i = _ABVAR_1_i + 1:_ABVAR_1_i = _ABVAR_1_i - 1)
+
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。

按原理图搭建好电路。

软件调试

  • 打开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 );
  }
}