极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11118|回复: 4

新手入门之呼吸灯实验

[复制链接]
发表于 2012-12-19 23:38:43 | 显示全部楼层 |阅读模式
本帖最后由 弘毅 于 2012-12-20 08:49 编辑

自从拿到UNO后就痴迷上了,但愿不是三分钟热情,O(∩_∩)O~
今天学习了一下PWM,这么复杂的一个技术,在Arduino上实现起来居然这么简单。今天晚上依然是依葫芦画瓢,做一下呼吸灯的实验,纯软件方式实现,也就是调用analogWrite函数。
代码中PWM占空比没有开到最大,试验后发现100以后的灯亮度差不多,另外一处是在灯全亮和全灭时延时0.5秒,使之更有呼吸灯的效果。
----------------------------------------------------------一下是代码--------------------------------------
  1. /*
  2. Created by GUODONG

  3. PWM Control LED
  4. */
  5. int PWMPin=3;//我采用了3脚

  6. void setup()//如果采用PWM的话,貌似不需要设置引脚的模式
  7. {
  8. }

  9. void loop()
  10. {
  11.   for(int i=0;i<100;i++)
  12.   {
  13.     analogWrite(PWMPin,i);
  14.     delay(10);//采用10是为了从灭到亮正好经过1秒时间
  15.   }
  16.   analogWrite(PWMPin,100);
  17.   delay(500);
  18.   for(int i=100;i>=0;i--)
  19.   {
  20.     analogWrite(PWMPin,i);
  21.     delay(10);
  22.   }
  23.   analogWrite(PWMPin,0);
  24.   delay(500);
  25. }
复制代码
回复

使用道具 举报

发表于 2013-5-4 01:50:21 | 显示全部楼层
程序上机通过!
谢谢分享了。
回复 支持 反对

使用道具 举报

发表于 2015-1-9 11:06:20 | 显示全部楼层
为什么效果不明显
回复 支持 反对

使用道具 举报

发表于 2015-1-9 15:17:06 | 显示全部楼层
代码改一下
拉一条线D3 <-->D13
使用L13即可
  1. /*
  2. Created by GUODONG

  3. PWM Control LED
  4. */
  5. int PWMPin=3;//我采用了3脚

  6. void setup()//如果采用PWM的话,貌似不需要设置引脚的模式
  7. {
  8. pinMode(13, INPUT);
  9. }

  10. void loop()
  11. {
  12.   for(int i=0;i<101;i++)
  13.   {
  14.     analogWrite(PWMPin,i);
  15.     delay(10);//采用10是为了从灭到亮正好经过1秒时间
  16.   }
  17.   delay(500);
  18.   for(int i=100;i>=0;i--)
  19.   {
  20.     analogWrite(PWMPin,i);
  21.     delay(10);
  22.   }
  23.   analogWrite(PWMPin,0);
  24.   delay(500);
  25. }
复制代码
回复 支持 反对

使用道具 举报

发表于 2015-5-14 13:01:24 | 显示全部楼层
如何让呼吸灯呼完之后不再循环?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-4 20:20 , Processed in 0.043836 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表