1973742214 发表于 2017-11-5 08:39:28

这是我的课堂(3)——analogWrite()与脉冲宽度调制

你可以使用脉冲宽度调制(PWM)技术来产生一个十分近似于模拟信号的输出。在每个Arduino上都有一些可以使用analogWrite()命令来产生PWM信号,这些引脚在板上都有一个~标记。不难想象,如果降低电阻上的压降,LED的光就会变暗,因其为他的电流变小了。
PWM输出一个8位的值,你可以写入的范围是0~(2的8次方)-1,也就是0~255
以下为程序:
const int LED=9;
void setup() {
pinMode(LED,OUTPUT);// put your setup code here, to run once:

}

void loop() {
for(int i=0;i<256;i++)
{
analogWrite(LED,i);
delay(10);
}// put your main code here, to run repeatedly:
for(int i=255;i>=0;i--)
{
analogWrite(LED,i);
delay(10);
}
}

i++是一个简化写法,相当于i+i,同样i--就是i-i。
第一个让他逐渐点亮第二个逐渐灭
你可以通过MATLAB软件来看到PWM的波动
页: [1]
查看完整版本: 这是我的课堂(3)——analogWrite()与脉冲宽度调制