新人求助,连最简单的开关控制led都出现奇怪的问题-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5291|回复: 3

[已解决] 新人求助,连最简单的开关控制led都出现奇怪的问题

[复制链接]
发表于 2012-10-28 15:37 | 显示全部楼层 |阅读模式
根据范例改的开关控制led灯程序,功能是按下开关灯就亮,放手灯就灭,但实际运行后有时按下灯要等0.几秒才亮,放手后等几秒钟才灭,有时候又很正常。甚至改了数字端口(例如:开关控制端口由2改为11,这样执行程序的时候就会正常很多,但也会偶尔发生延时的现象。),程序的反应程度都会不同,怎么回事?我用的是uno板,1.01的版本。

const int ledy=13; //设定数字端口13为黄色led正极
const int buttony=11; //设定数字端口12为黄色开关控制口
int i=0; //设定数字端口变量

void setup()
{
  pinMode(ledy,OUTPUT); //
  pinMode(buttony,INPUT); //

}

void loop()

{
  i=digitalRead(buttony); //

if(i == HIGH)
     digitalWrite(ledy,HIGH);
if(i == LOW)
      digitalWrite(ledy,LOW);

}


发表于 2012-10-28 15:51 | 显示全部楼层
pinMode(buttony,INPUT);  最好写成 pinMode(buttony,INPUT_PULLUP);
 楼主| 发表于 2012-10-28 16:00 | 显示全部楼层
刚试了一下,运行之后反而不用按键灯都一直亮,改为原来的又可以了,怎么会这样?
 楼主| 发表于 2012-10-28 17:23 | 显示全部楼层
改用模拟口控制开关的话好像没有延时了,真奇怪。看来判断i>1000比i==HIGH容易??
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2025-1-1 20:53 , Processed in 0.070691 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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