5027浏览
查看: 5027|回复: 0

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

[复制链接]
你可以使用脉冲宽度调制(PWM)技术来产生一个十分近似于模拟信号的输出。在每个Arduino上都有一些可以使用analogWrite()命令来产生PWM信号,这些引脚在板上都有一个~标记。不难想象,如果降低电阻上的压降,LED的光就会变暗,因其为他的电流变小了。
PWM输出一个8位的值,你可以写入的范围是0~(2的8次方)-1,也就是0~255
以下为程序:
[mw_shl_code=applescript,true]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);
}
}
[/mw_shl_code]
i++是一个简化写法,相当于i+i,同样i--就是i-i。
第一个让他逐渐点亮第二个逐渐灭
你可以通过MATLAB软件来看到PWM的波动
{BO~L)D@S[5QCC)}VGG72ML.png
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail