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

来自Microduino Wikipedia
跳转至: 导航搜索
(Created page with "{| style="width: 800px;" |- | ==目的== 前两个实验通过外围设备PWM控制led的亮度,如何不通过外围硬件使用程序自动控制led的亮度。本实验...")
 
Pkj讨论 | 贡献
第1行: 第1行:
 +
{{Language|Lesson_6--The_Program_PWM_control_of_LED_brightness_--Breathing_light}}
 
{| style="width: 800px;"
 
{| style="width: 800px;"
 
|-
 
|-

2014年3月2日 (日) 14:22的版本

Language English

目的

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

设备

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

原理图

采用高电平点亮,输出口还是必须要用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灯柔和从灭到亮再到灭,依次循环。

视频