“第六课--程序PWM控制LED亮度--呼吸灯/zh”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
Pkj讨论 | 贡献
原理图
第15行: 第15行:
 
**USB数据连接线  一根
 
**USB数据连接线  一根
 
==原理图==
 
==原理图==
[[File:第六课-原理图.jpg|600px|center|thumb]]
+
[[File:lesson 6-schematic.jpg|600px|center|thumb]]
 
采用高电平点亮,输出口还是必须要用PWM口,若采用低电平点亮效果一样。
 
采用高电平点亮,输出口还是必须要用PWM口,若采用低电平点亮效果一样。
 +
 
==程序==
 
==程序==
 
<source lang="cpp">
 
<source lang="cpp">

2014年4月14日 (一) 06:56的版本

Language English

目的

前两个实验通过外围设备PWM控制led的亮度,如何不通过外围硬件使用程序自动控制led的亮度。本实验实现一个led渐明渐暗,即呼吸灯。

设备

  • Microduino-Core
  • Microduino-FT232R
  • 其他硬件设备
    • 面包板跳线 一盒
    • 面包板 一块
    • LED发光二极管 一个
    • 220欧姆电阻 一个
    • USB数据连接线 一根

原理图

Lesson 6-schematic.jpg

采用高电平点亮,输出口还是必须要用PWM口,若采用低电平点亮效果一样。

程序

int ledPin=11;//D3、D5、D6、D9、D10、D11是pwm输出口
void setup()
{
}
void loop(){
  for(int fadeValue=0;fadeValue<=255;fadeValue+=5)
  //循环语句,控制PWM亮度的增加,控制fadeValue的变化大小可以控制亮度级别
  {
    analogWrite(ledPin,fadeValue);   //将亮度级别写入给led
    delay(30);                       //当前亮度级别维持的时间,单位毫秒 
  }
   for(int fadeValue=255;fadeValue>=0;fadeValue-=5)
   //循环语句,控制PWM亮度减小,控制fadeValue的变化大小可以控制亮度级别
  {
    analogWrite(ledPin,fadeValue); //将亮度级别写入给led
    delay(30);                     //当前亮度级别维持的时间,单位毫秒 
  }
  }
程序采用循环语句,较方便的自动控制led的亮度。

结果

led灯柔和从灭到亮再到灭,依次循环。

视频