“第六课--程序PWM控制LED亮度--呼吸灯/zh”的版本间的差异
(→原理图) |
|||
第15行: | 第15行: | ||
**USB数据连接线 一根 | **USB数据连接线 一根 | ||
==原理图== | ==原理图== | ||
− | [[File: | + | [[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渐明渐暗,即呼吸灯。 设备
原理图采用高电平点亮,输出口还是必须要用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灯柔和从灭到亮再到灭,依次循环。 视频 |