极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 迷你强

Arduino入门教程--第四课--按钮控制的LED延时开关

  [复制链接]
发表于 2013-8-18 11:50:14 | 显示全部楼层
微动开关里的电路不知道啥结构?
按照教程的方式插插不大进去,很松。不跨中间的槽,转个90度就很方便了。可能会短路?
回复 支持 反对

使用道具 举报

发表于 2013-8-18 12:25:13 | 显示全部楼层
迷你强 发表于 2013-8-18 10:34
有一个是下拉电路,避免IO口悬空受到电磁干扰误触发

嘿嘿,多谢,这个大概明白了。
回复 支持 反对

使用道具 举报

发表于 2013-9-2 11:27:00 | 显示全部楼层
迷你强 发表于 2012-7-24 17:48
请看此图,地线和电源线中间部分是断开的(需要自己跳线连接),因为下拉电阻没有接地,所以会出现干 ...

新手的我也遇到这问题,看到这个评论就弄懂啦,thanks
回复 支持 反对

使用道具 举报

发表于 2013-9-17 17:42:12 | 显示全部楼层
能不能我按一下开关就亮再按一下就关了呢
回复 支持 反对

使用道具 举报

发表于 2013-10-12 23:36:12 | 显示全部楼层
乐_乐(顺) 发表于 2012-7-24 17:34
我按照教程做的,为什么连上数据线,没按开关,就直接亮1秒,灭5秒呢?(图片左边的电阻与旁边的蓝色是错开 ...

面包板的下面那两个正负极区域不是联通的吧。用线联通了应该就好了吧。
回复 支持 反对

使用道具 举报

发表于 2013-10-18 20:47:29 | 显示全部楼层
求教大神,为什么把灯改为输入INPUT,亮度会降低?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-19 09:47:23 | 显示全部楼层
血阳 发表于 2013-10-18 20:47
求教大神,为什么把灯改为输入INPUT,亮度会降低?

不在输出模式下是高阻态的
回复 支持 反对

使用道具 举报

发表于 2013-10-19 21:53:25 | 显示全部楼层
void setup() {
  // put your setup code here, to run once:
  pinMode(4,INPUT);
  pinMode(13,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  int n=digitalRead(4);
  int m=digitalRead(13);
  if(n==HIGH && m==HIGH)
  {
    //delay(1000);
    digitalWrite(13,LOW);
  }
  else if(n==HIGH && m==LOW)
  {
    digitalWrite(13,HIGH);
  }
  delay(100);  
}

为什么不能稳定的实现按一次按钮灯亮,再按一次灯灭呢?微处理器频率与代码执行不同步的问题?如何解决呢?谢谢
回复 支持 反对

使用道具 举报

发表于 2013-11-5 20:29:44 | 显示全部楼层
迷你强 发表于 2013-10-19 09:47
不在输出模式下是高阻态的

了解~谢谢强哥,强哥威武~
回复 支持 反对

使用道具 举报

发表于 2013-11-20 18:23:57 | 显示全部楼层
#define LED 13
#define BUTTON 7
int val =0;
int state = 0;
void setup() {
  // put your setup code here, to run once:
  pinMode(LED,OUTPUT);
  pinMode(BUTTON,INPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  val = digitalRead(BUTTON);
  if(val==HIGH){
    state = 1- state;
  }
  if(state == 1){
    digitalWrite(LED,HIGH);
  }else{
   digitalWrite(LED,LOW);
  }
接通之后,灯是亮的的,但是当按下按钮后,亮度发生改变,变得更亮,将最后的if判断内容,HIGH和LOW互换,平时高亮,按下熄灭是正常的。将楼主的的代码下载到板上后,灯泡直接开始明暗变化,不需要按键,为什么。。。。刚开始接触,,,原谅我没有接电阻。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2013-11-20 20:25:27 | 显示全部楼层
如果是按一次按键,就执行 i++;这语句,有时按一次加了好几次,请问是如何判断按键是按一次。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-24 09:12:05 | 显示全部楼层
yaozequan 发表于 2013-11-20 20:25
如果是按一次按键,就执行 i++;这语句,有时按一次加了好几次,请问是如何判断按键是按一次。

软件校抖机制呗。写个延时100-200ms 这样会掠过这段时间内的多次按键触发
回复 支持 反对

使用道具 举报

发表于 2014-2-12 16:22:33 | 显示全部楼层
请问为什么要接到5V上?
回复 支持 反对

使用道具 举报

发表于 2014-2-15 18:04:58 | 显示全部楼层
我用mac电脑开发的,为什么刚才突然关机了呢,单片机会不会烧坏我的电脑?应该采取什么措施保护自己的电脑呢
回复 支持 反对

使用道具 举报

发表于 2014-2-15 18:05:54 | 显示全部楼层
我用mac电脑开发的,为什么刚才突然关机了呢,单片机会不会烧坏我的电脑?应该采取什么措施保护自己的电脑呢
回复 支持 反对

使用道具 举报

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

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

Archiver|联系我们|极客工坊

GMT+8, 2024-4-26 17:17 , Processed in 0.057496 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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