yu65350936 发表于 2012-11-1 23:41:03

/*
作者:极客工坊
时间:2012年5月24日
IDE版本号:1.0.1
发布地址:www.geek-workshop.com
作用:当你按下按钮后1秒钟,灯会亮,然后维持5秒钟,熄灭
*/

void setup ()
{
pinMode(4,INPUT);               //将4号数字口设置为输入状态,13号数字口设置为输出状态
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
pinMode(10,OUTPUT);


}

void loop()
{
int n =digitalRead(4);                   //创建一个变量n,将4号数字口的状态采集出来赋值给他。
if (n==HIGH)                           //判断n是否为高电平,如果是执行下面的语句,不是则跳过。
{

    delay(1000);
    digitalWrite(13,HIGH);
    delay(1000);
    digitalWrite(13,LOW);
    delay(1000);
    digitalWrite(12,HIGH);
    delay(1000);
    digitalWrite(12,LOW);
    delay(1000);
    digitalWrite(11,HIGH);
    delay(1000);
    digitalWrite(11,LOW);
    delay(1000);
    digitalWrite(10,HIGH);
    delay(1000);
    digitalWrite(10,LOW);

}
}

laofuz1024 发表于 2012-11-19 13:08:05

原来没学过电子方面的知识

请问一下,高电平是什么意思?低电平是什么意思?

迷你强 发表于 2012-11-19 14:32:51

laofuz1024 发表于 2012-11-19 13:08 static/image/common/back.gif
原来没学过电子方面的知识

请问一下,高电平是什么意思?低电平是什么意思?

低电平的意思就是和地线的点位保持一致,地线作为一个参考电位(0电位),犹如大海的海平面,比他高的就叫高电平。。和他一样的就叫低电平。额,解释的有点乱。求高手指正   (还有一种情况就是-5V之类的电源,这个貌似叫负高电平)

laofuz1024 发表于 2012-11-19 15:38:53

迷你强 发表于 2012-11-19 14:32 static/image/common/back.gif
低电平的意思就是和地线的点位保持一致,地线作为一个参考电位(0电位),犹如大海的海平面,比他高的就叫 ...

呵呵,谢谢,那地线是不是本例中蓝色那条线,接上一个电阻的?,本人没有电子电路的知识,现在正从头学起呢,呵呵

迷你强 发表于 2012-11-19 16:49:08

laofuz1024 发表于 2012-11-19 15:38 static/image/common/back.gif
呵呵,谢谢,那地线是不是本例中蓝色那条线,接上一个电阻的?,本人没有电子电路的知识,现在正从头学起 ...

推荐一本书《身边的电子学》老外写的那本,当当京东亚马逊啥的都有售

laofuz1024 发表于 2012-11-19 17:05:01

迷你强 发表于 2012-11-19 16:49 static/image/common/back.gif
推荐一本书《身边的电子学》老外写的那本,当当京东亚马逊啥的都有售

嗯,好的,就是论坛里面贴子上的第一本吧,36个小实验的那个吧?已经下载有pdf版了,正在看呢,不过还没有那么多工具做实验....谢谢!!!

Haley 发表于 2012-12-10 19:13:27

我试了试可不可以读取输出口的状态。结果还真行。。我做的这个意思是按一下按钮灯亮,再按一下灯灭。。。可是有时候按钮会不大好使。。。还有按下按钮的时候灯会变暗。怎么回事?
void setup ()
{
pinMode(4,INPUT);            
pinMode(13,OUTPUT);
}

void loop()
{
int n =digitalRead(4);
int x =digitalRead(13);
if (n==HIGH)                        
{
    if (x==LOW)
    {
      digitalWrite(13,HIGH);
    }
    if (x==HIGH)
    {
      digitalWrite(13,LOW);
    }
}

}

弘毅 发表于 2012-12-10 19:17:24

Haley 发表于 2012-12-10 19:13 static/image/common/back.gif
我试了试可不可以读取输出口的状态。结果还真行。。我做的这个意思是按一下按钮灯亮,再按一下灯灭。。。可 ...

参考这篇帖子里的消抖部分,做一下按键消抖。
http://www.geek-workshop.com/thread-74-1-1.html

不会放弃 发表于 2013-1-1 15:22:03

强哥!如果我想用两个开关来控制灯的亮和灭 比如收我按下一个开关灯是亮的,再按另一个开关灯由亮变灭 怎么来啊

迷你强 发表于 2013-1-1 16:03:14

不会放弃 发表于 2013-1-1 15:22 static/image/common/back.gif
强哥!如果我想用两个开关来控制灯的亮和灭 比如收我按下一个开关灯是亮的,再按另一个开关灯由亮变灭 怎么 ...

if 接口1 为 高电平则灯亮。 再if接口2这么弄不就行了

博学笃行 发表于 2013-1-20 12:47:00

/*
作用:用两个按钮控制流水灯方向
*/
void setup()
{
   pinMode(50,INPUT);
   pinMode(51,INPUT);   
   for (int i=30; i<=37; i++)    //通过循环的方式设置30-37号引脚为输出状态
    {
   pinMode(i,OUTPUT);
    }
}
void loop()
{
   int z =digitalRead(50);                  
   int f=digitalRead(51);
    if (z==HIGH)
      {
       for (int x=30; x<=37; x++)   //通过循环的方式依次让每个引脚的led在1秒内完成明灭
         {
            digitalWrite(x,HIGH);
            delay(500);
            digitalWrite(x,LOW);
             delay(500);
         }
   }
   if (f==HIGH )
   {
       for (int x=37; x>=30; x--)   //通过循环的方式依次让每个引脚的led在1秒内完成明灭
         {
            digitalWrite(x,HIGH);
            delay(500);
            digitalWrite(x,LOW);
            delay(500);
          }
   }

}

Bravo!东东 发表于 2013-1-29 20:05:55

问一下,pin脚悬空是不是就等于接地了啊?

迷你强 发表于 2013-1-29 22:41:35

Bravo!东东 发表于 2013-1-29 20:05 static/image/common/back.gif
问一下,pin脚悬空是不是就等于接地了啊?

悬空就是悬空,悬空会受到干扰

Bravo!东东 发表于 2013-1-30 22:24:39

迷你强 发表于 2013-1-29 22:41 static/image/common/back.gif
悬空就是悬空,悬空会受到干扰

哦哦,懂了

computerboyk 发表于 2013-2-5 19:13:53

多谢老鸟的支持
页: 1 2 [3] 4 5 6 7 8 9
查看完整版本: Arduino入门教程--第四课--按钮控制的LED延时开关