极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 迷你强

Arduino入门教程--第五课--按钮PWM控制LED亮度

  [复制链接]
发表于 2015-6-17 15:41:36 | 显示全部楼层
不好意思,我有个疑问, if up==high的意义是什么?为什么这测的已经是亮了n还要加5?
回复 支持 反对

使用道具 举报

发表于 2015-9-24 08:26:01 | 显示全部楼层
arduino确实开源,要是用51来做音乐节奏灯新手根本做不了
回复 支持 反对

使用道具 举报

发表于 2016-3-27 00:22:34 | 显示全部楼层
楼主,我的板子是不是有问题啊,接好之后把端口4的连线拔掉,哪怕用一根断路的导线接触端口4,也能让其处于高电平从而触发第一个if。
回复 支持 反对

使用道具 举报

发表于 2016-7-14 16:17:51 | 显示全部楼层
谢谢楼主
回复 支持 反对

使用道具 举报

发表于 2016-8-12 12:20:14 | 显示全部楼层
强哥你好,我是新来的,我用的TINY85的板子,板子上表示PB1,PB4有PWM,我用PB1接LED,PB4,PB3做按键(直接用导线短接实现),按你的程序做出的效果不行,导线短接PB4,只要短接一下,相当按键一下,LED就自动从灭变化到最亮,短接PB3没反应,亮度不会降低变化,不会像你视频的效果,按一下亮度跳一个档位,程序如下,我的按键是低电平有效,
int n=0;
// the setup routine runs once when you press reset:
void setup() {               
  // initialize the digital pin as an output.
  pinMode(1,OUTPUT); //LED on Model A  
  pinMode(4,INPUT);
  pinMode(3,INPUT);
  digitalWrite(1,LOW);
}

// the loop routine runs over and over again forever:
void loop()
{
  int up=digitalRead(4);
  int down=digitalRead(3);
  if(up==LOW)
  {n=n+5;
    if(n>=255)
      n=255;
  }
  analogWrite(1,n);
  delay(500);
  if(down==LOW)
    {n=n-5;
     if(n<=0)
       n=0;
    }
   analogWrite(1,n);
   delay(300);
}
回复 支持 反对

使用道具 举报

发表于 2016-12-13 16:49:25 | 显示全部楼层
也不知道是否还有人来看这个教程,我是刚刚接触这个教程。

针对这个电路,我个人设想增加了一个LED,也就是两个LED灯串联在一起,然后使用开关按钮是可以实现同时控制两个LED灯的渐灭渐亮的, 但是当电路增加到三个LED的时候就不起作用了,按理说应该也都可以实现的,难道是由于电压值不够了么?

还望解答,同时也在思考,是否可以设计出两个按钮控制两个LED灯,当按Up钮的时候控制LED1渐亮,同时控制LED2渐灭, 当按Down钮的时候控制LED1渐灭,同时控制LED2渐亮。。

电路图感觉有点复杂,同时感觉代码好像不太好写。迷茫中。。。

求高手解答。。
回复 支持 反对

使用道具 举报

发表于 2017-6-4 17:18:21 | 显示全部楼层
过来学习了,感谢分享。
回复 支持 反对

使用道具 举报

发表于 2017-8-27 09:34:30 | 显示全部楼层
archon 发表于 2016-12-13 16:49
**** 作者被禁止或删除 内容自动屏蔽 ****

請查LED使用電壓
回复 支持 反对

使用道具 举报

发表于 2017-8-27 10:53:14 | 显示全部楼层
請教 如果起始要設定為0.3V程式碼應該怎麼寫比較好?
回复 支持 反对

使用道具 举报

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

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

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 08:08 , Processed in 0.047490 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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