新手入门之呼吸灯实验
本帖最后由 弘毅 于 2012-12-20 08:49 编辑自从拿到UNO后就痴迷上了,但愿不是三分钟热情,O(∩_∩)O~
今天学习了一下PWM,这么复杂的一个技术,在Arduino上实现起来居然这么简单。今天晚上依然是依葫芦画瓢,做一下呼吸灯的实验,纯软件方式实现,也就是调用analogWrite函数。
代码中PWM占空比没有开到最大,试验后发现100以后的灯亮度差不多,另外一处是在灯全亮和全灭时延时0.5秒,使之更有呼吸灯的效果。
----------------------------------------------------------一下是代码--------------------------------------
/*
Created by GUODONG
PWM Control LED
*/
int PWMPin=3;//我采用了3脚
void setup()//如果采用PWM的话,貌似不需要设置引脚的模式
{
}
void loop()
{
for(int i=0;i<100;i++)
{
analogWrite(PWMPin,i);
delay(10);//采用10是为了从灭到亮正好经过1秒时间
}
analogWrite(PWMPin,100);
delay(500);
for(int i=100;i>=0;i--)
{
analogWrite(PWMPin,i);
delay(10);
}
analogWrite(PWMPin,0);
delay(500);
} :)程序上机通过!
谢谢分享了。
为什么效果不明显 代码改一下
拉一条线D3 <-->D13
使用L13即可/*
Created by GUODONG
PWM Control LED
*/
int PWMPin=3;//我采用了3脚
void setup()//如果采用PWM的话,貌似不需要设置引脚的模式
{
pinMode(13, INPUT);
}
void loop()
{
for(int i=0;i<101;i++)
{
analogWrite(PWMPin,i);
delay(10);//采用10是为了从灭到亮正好经过1秒时间
}
delay(500);
for(int i=100;i>=0;i--)
{
analogWrite(PWMPin,i);
delay(10);
}
analogWrite(PWMPin,0);
delay(500);
} 如何让呼吸灯呼完之后不再循环?
页:
[1]