写了一个简单的程序,使用Arduino Uno上 PWN Pin 来控制一个LED的亮度。
代码方面是从串口接收信息,“[”减小,“]”增加
int n=100;
void setup()
{
Serial.begin(9600);
pinMode(6,OUTPUT); //该端口需要选择有#号标识的数字口
}
void loop()
{
char c;
while (Serial.available() > 0)
{
c=Serial.read();
if (']'==c)
{
n=n+5;
}
if ('['==c)
{
n=n-5;
}
if (n>255) {n=0;}
if (n<0) {n=255;}
analogWrite(6,n);
Serial.println(n);
}
}
电路连接仿照【参考1】.刚开始使用220欧的电阻,发现亮度变化不均匀,在100以上之后看不出来亮度有多少变化,之后,改成 2.4K 电阻(2个1.2K串联),表现更好。
参考:
1.http://www.geek-workshop.com/forum.php?mod=viewthread&tid=1054&highlight=pwm Arduino入门教程–第五课–按钮PWM控制LED亮度

