极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12384|回复: 7

程序问题求教

[复制链接]
发表于 2015-4-18 10:08:27 | 显示全部楼层 |阅读模式
本帖最后由 凤凰de星空 于 2015-4-18 11:31 编辑

这个程序是让led等渐渐变亮,又渐渐变暗循环,但是实际等在变亮过程中变暗了一次,什么问题?

  1. void setup()
  2. {
  3. pinMode( 11 , OUTPUT);
  4. }
  5.   int n=0,m=0;
  6. void loop()
  7. {
  8.   while(n<=255)
  9.    {
  10.      analogWrite(11,n);
  11.      delay (1000);
  12.      n=n+100;
  13.    }
  14.     m=255;
  15.     while(m>=0)
  16.     {
  17.       analogWrite(11,m);
  18.       delay (1000);
  19.       m=m-100;
  20.     }
  21.     n=0;
  22. }
复制代码
回复

使用道具 举报

发表于 2015-4-18 17:43:25 | 显示全部楼层
对Pin11的控制的顺序是n=0,m=255,n=100,m=155,n=200,m=55循环亮暗变化无常,不怪.
回复 支持 反对

使用道具 举报

发表于 2015-4-18 18:20:09 | 显示全部楼层
每次 +100, 變動太大了.
縮細 step 以及每次的 delay, 效果會更好.
回复 支持 反对

使用道具 举报

发表于 2015-4-18 18:22:49 | 显示全部楼层
林定祥 发表于 2015-4-18 17:43
对Pin11的控制的顺序是n=0,m=255,n=100,m=155,n=200,m=55循环亮暗变化无常,不怪.

你是否看錯了什麼?  把 n 及 m 的 while loop 結合了?
回复 支持 反对

使用道具 举报

发表于 2015-4-19 11:49:36 | 显示全部楼层
输出到pin11的值0,100,200,255,155,55,下一循环又从0开始。
看起来没有这个中间变暗的过程啊。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-19 21:40:30 | 显示全部楼层
stpanzj 发表于 2015-4-19 11:49
输出到pin11的值0,100,200,255,155,55,下一循环又从0开始。
看起来没有这个中间变暗的过程啊。

程序已经改了,原来pmw只能是0-255之间的数
回复 支持 反对

使用道具 举报

发表于 2015-4-19 21:42:58 | 显示全部楼层
凤凰de星空 发表于 2015-4-19 21:40
程序已经改了,原来pmw只能是0-255之间的数

原来也是0-255啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-20 10:17:08 | 显示全部楼层
stpanzj 发表于 2015-4-19 21:42
原来也是0-255啊

刚开始我用的是0-300
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-17 09:00 , Processed in 0.037165 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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