My Arduino Vol 4-LED几个扩展实验
准备清单
- Ardunio开发板 3mm/5mm发光二极管 若干个 200欧左右的电阻 若干个 可调电位器 一个
利用PWM信号强弱调节LED发光强度
接线图?
?
![IGPG}UFE8H1OI2B{%]5ZEY9 My Arduino Vol 4-LED几个扩张实验](http://img.reader8.net/uploadfile/jiaocheng/201401104/2809/2014012817090021851.jpg)
?
电路说明PWM信号是一种利用数字信号来模拟“模拟信号”的一种技术(真拗口)。其值的范围为[0,255]根据信号强弱(电压)的不同,LED发光的强度也会不同。
?
程序部分?
?
?
?
电路说明可调电位器是一种典型的模拟信号输入设备,一共有3个脚,左右两个是不分极性的电源脚,中间一个是根据旋钮的位置的不同输出不同的模拟型号,其范围为[0,1023] 根据不同模拟信号的输入值,产生对应的信号输出值改变LED的亮度?
程序部分?
int LED_PIN=11; int POT_PIN=A0; void setup(){ pinMode(LED_PIN,OUTPUT); } void loop(){ int potValue=analogRead(POT_PIN); int pwmValue=map(potValue, 0, 1023, 0, 255); digitalWrite(LED_PIN,pwmValue);}?程序说明analogRead于anaglogWrite是一对,从一只引脚读出模拟值; map(srcMin,srcMax,desMin,desMax):将集合[a,b]映射到集合[c,d]中去。这里是讲可调电位器的模拟信号集合[0,1023]映射成PWM信号的[0,255],这样就不用自己在去写一个转换的函数啦~是不是很方便呀。扩展实验?
这里有几个扩展实验值得基础不太好的同学多做一下,如果有什么问题的可以给我留言或者发mail至我邮箱,如果我有空会给大家解答的。
LED跑马灯:逐个点亮LED灯,并熄灭其他的灯; LED渐变跑马灯:LED依照次序一个一个从最亮慢慢变暗直至熄灭,在熄灭后重新恢复至最亮,循环渐变。
?
![0][KA0I%$19)WPGKJ4{9$0N My Arduino Vol 4-LED几个扩张实验](http://img.reader8.net/uploadfile/jiaocheng/201401104/2809/2014012817090021852.jpg)