写了一个简单的程序,使用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亮度