九鼎创展论坛

标题: arduino ibox项目实战8-PWM实现LED灯渐变实验 [打印本页]

作者: armeasy    时间: 2014-10-25 18:03
标题: arduino ibox项目实战8-PWM实现LED灯渐变实验
硬件平台:PC机一台,ibox卡片电脑一只,arduino扩展板一个,串联有电阻的LED灯外设一个
软件平台:WIN7操作系统,android4.0android4.4系统
打开arduino的IDE开发工具,依次点击文件->示例->01.Basics->DigitalReadSerial,DigitalReadSerial的示例程序将会被打开,其源码如下:
  1. int led = PWM0;           // the pin that the LED is attached to PWM0 = 5.
  2. int brightness = 0;    // how bright the LED is
  3. int fadeAmount = 80;    // how many points to fade the LED by

  4. // the setup routine runs once when you press reset:
  5. void setup() {
  6.   // declare pin 5(PWM0) to be an output:
  7.   pinMode(led, OUTPUT);
  8. }

  9. // the loop routine runs over and over again forever:
  10. void loop() {
  11.   // set the brightness of pin 5(PWM0):
  12.   analogWrite(led, brightness);

  13.   // change the brightness for next time through the loop:
  14.   brightness = brightness + fadeAmount;

  15.   // reverse the direction of the fading at the ends of the fade:
  16.   if (brightness <= 0 || brightness >= 4095) {
  17.     fadeAmount = -fadeAmount ;
  18.   }
  19.   // wait for 30 milliseconds to see the dimming effect
  20.   delay(30);
  21. }
复制代码
       从源码可以看出,程序通过pwm0口控制LED灯,通过analogWrite函数的传入参数brightness的渐变,实现PWM脉宽的调制,最终实现LED灯的渐亮渐灭的效果。
       LED灯外设的负极接到PWM0口,正级接到3.3V电源口,运行arduino,可以发现,LED灯确实实现了渐亮渐灭的效果。






欢迎光临 九鼎创展论坛 (http://bbs.9tripod.com/) Powered by Discuz! X3.2