迷你强 发表于 2013-4-23 17:23:21

johnny 发表于 2013-4-23 15:27 static/image/common/back.gif
接上问:我将UP设为n=n+5,DOWN设为n=n-10,按一下UP按钮,必须得按两下DOWN才能把灯关掉。按理说N初始值为 ...

:L这种关于算法程序的优化问题就自己研究了。。。我还没玩转呢。。。。。5~~~~~~~~~~~

Alexie 发表于 2013-4-23 18:00:13

johnny 发表于 2013-4-23 14:53 static/image/common/back.gif
为什么感觉有点不对啊,我按一下UP按钮,必须得按三下DOWN才能把灯关掉,看程序N增减的幅度是一样的啊,十分 ...

...

if (down==HIGH)                  //减少亮度
{
    analogWrite(6,n);
   n=n-5;
    if (n<=0) {
      n=0;
    }
    delay (300);
}

你没发现 , 当你按下DOWN进入这部分控制的时候,实际是先驱动LED么, 这时候的n其实是你上次按UP后+5后的n,而这个n在你按UP的时先输出后才+了5, 当然你按DOWN是感觉会再亮了一级咯...

把两个analogWrite(6,n); 对n处理的后面就正常了...

当然 强哥 我表示对这个DEMO吐槽无力..:lol

johnny 发表于 2013-4-23 19:11:52

不是很明白 ,待会儿再仔细看看。多谢了

pumpitup 发表于 2013-4-28 15:23:48

班门弄个斧~~

int light=0;
int jiajian=1;

void setup(){
    pinMode(4,INPUT);
    pinMode(9,OUTPUT);
}

void loop(){
analogWrite(9,light);
int n=digitalRead(4);

if (jiajian==1){
if (n==HIGH){
    light=light+1;
    if (light==255){
      jiajian=0;
    }
    delay(5);
}
}
if (jiajian==0){
if (n==HIGH){
    light=light-1;
    if (light==0){
      jiajian=1;
    }
    delay(5);
}
}


对了,这个微动开关,我怎么不能插进去啊,感觉针脚有些粗

迷你强 发表于 2013-4-29 10:16:26

pumpitup 发表于 2013-4-28 15:23 static/image/common/back.gif
班门弄个斧~~

int light=0;


用力按进去,弯脚一般有弹性,用点力气

学学学 发表于 2013-7-21 20:19:19

迷你强 发表于 2012-7-25 20:12 static/image/common/back.gif
1。输入端的数字口无所谓,可以换,只要修改程序对应位置即可
2.这个真不清楚,没这么用过
3.延迟300毫 ...

菜鸟有话说啊!强哥,请问把两个delay注释掉后开关摁一下全亮全灭是因为程序执行太快,直接从0加到了255吗?

学学学 发表于 2013-7-21 20:22:42

迷你强 发表于 2012-6-28 22:28 static/image/common/back.gif
我懒,外带按钮质量好,按标准,应该是按下开关后30ms再取值的。。。。

强哥,菜鸟有麻烦了,麻烦给写个除颤语句观摩学习一下吧:P

迷你强 发表于 2013-7-22 09:33:24

学学学 发表于 2013-7-21 20:22 static/image/common/back.gif
强哥,菜鸟有麻烦了,麻烦给写个除颤语句观摩学习一下吧

硬件除颤吧,并连个104电容吧

白点 发表于 2013-8-12 14:28:44

#define LED 9
int i=0;// 定义变量i存储变量,并用于计数

void setup(){
pinMode(9,OUTPUT);
}

void loop(){
for(i=0;i<225;i++){
analogWrite(LED,i);
delay(10);//延时10ms,因为analogWrite执行瞬间完成,速度太快眼睛不易

察觉
}
if(i==255){
i=0;
analogWrite(LED,i);
delay(1000);
}
}
为什么if语句不起作用啊?

234687552 发表于 2013-11-2 20:30:58

analogWrite(6,n)里面的n的取值是不是可以在0-255随便取值呢?还有就是为什么在255内呢,最大可以到达多少呢?是不是1024?他的物理输出是多少V呢?麻烦了~

234687552 发表于 2013-11-2 20:32:06

再好奇问下~~mega2560是不是0-13口都可以做pwm输出呢?

新月 发表于 2013-11-30 14:42:27

很好玩按住接口2不动是渐亮,按住接口10是渐暗到灭,两个同时按下LED就闪烁了。

melodynn03 发表于 2013-12-1 09:46:58

新手又来了...
老师,我如果想按着按键就能持续变亮或者变暗,是不是只需要将n值修改小点,然后把按键读取的delay也改小就可以了呢?这样就能实现,好比下一节课的电位器调整亮度一样..让灯的过度看起来连续...:)

迷你强 发表于 2013-12-3 11:28:42

melodynn03 发表于 2013-12-1 09:46 static/image/common/back.gif
新手又来了...
老师,我如果想按着按键就能持续变亮或者变暗,是不是只需要将n值修改小点,然后把按键读取的d ...

恩。应该是可以的,建议尝试

明天~奇迹 发表于 2013-12-27 18:59:22

:'(:'(开关电路没看懂,不知道开关那下面的电阻怎么在电路里工作的,求大神帮忙啊
页: 1 2 3 [4] 5 6
查看完整版本: Arduino入门教程--第五课--按钮PWM控制LED亮度