极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9383|回复: 2

请问如何使用多个开关控制同一组二极管?

[复制链接]
发表于 2012-6-30 00:13:30 | 显示全部楼层 |阅读模式
本帖最后由 戒指环 于 2012-6-30 00:20 编辑

现有二极管*6只(并排插在一起,左边第一个默认为1号), 开关*6
      
期望:当按下开关1时,6只二极管从1号到6号依次亮起,延时500ms后在按6号到1号依次灭掉。
          当按下开关2时,6只二极管从6号到1号依次亮起,延时500ms后在按1号到6号依次灭掉。

请问如下图的链接方法对吗?
这里是代码

  1. void setup ()
  2. {
  3.   pinMode(13,INPUT);
  4.   pinMode(12,INPUT);  
  5.   for (int i=2; i<=7; i++)   
  6.   {
  7.     pinMode(i,OUTPUT);
  8.   }
  9. }

  10. void loop()
  11. {
  12.   int n =digitalRead(13);
  13.   int m =digitalRead(12);
  14.   if (n==HIGH)                           
  15.   {
  16.     digitalWrite(2,HIGH);
  17.     delay(300);
  18.     digitalWrite(3,HIGH);
  19.     delay(300);
  20.     digitalWrite(4,HIGH);
  21.     delay(300);
  22.     digitalWrite(5,HIGH);
  23.     delay(300);
  24.     digitalWrite(6,HIGH);
  25.     delay(300);
  26.     digitalWrite(7,HIGH);
  27.     delay(300);
  28.     digitalWrite(7,LOW);
  29.     delay(300);
  30.     digitalWrite(6,LOW);
  31.     delay(300);
  32.     digitalWrite(5,LOW);
  33.     delay(300);
  34.     digitalWrite(4,LOW);
  35.     delay(300);
  36.     digitalWrite(3,LOW);
  37.     delay(300);
  38.     digitalWrite(2,LOW);
  39.     delay(500);
  40.     if (m==HIGH)
  41.     {
  42.     digitalWrite(7,HIGH);
  43.     delay(300);
  44.     digitalWrite(6,HIGH);
  45.     delay(300);
  46.     digitalWrite(5,HIGH);
  47.     delay(300);
  48.     digitalWrite(4,HIGH);
  49.     delay(300);
  50.     digitalWrite(3,HIGH);
  51.     delay(300);
  52.     digitalWrite(2,HIGH);
  53.     delay(300);
  54.     digitalWrite(2,LOW);
  55.     delay(300);
  56.     digitalWrite(3,LOW);
  57.     delay(300);
  58.     digitalWrite(4,LOW);
  59.     delay(300);
  60.     digitalWrite(5,LOW);
  61.     delay(300);
  62.     digitalWrite(6,LOW);
  63.     delay(300);
  64.     digitalWrite(7,LOW);
  65.     delay(500);
  66.     }
  67.     }
  68. }
复制代码

本帖子中包含更多资源

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

x
回复

使用道具 举报

 楼主| 发表于 2012-6-30 09:07:46 | 显示全部楼层
经过高人指点,原来是程序中出的问题,我把判断第二个开关输入的IF放在判断一个开关输入的IF里了,所以导致单独按第二个开关时没有反应。
回复 支持 反对

使用道具 举报

发表于 2012-6-30 18:10:09 | 显示全部楼层
开关的接法有问题
回复 支持 反对

使用道具 举报

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

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

Archiver|联系我们|极客工坊

GMT+8, 2024-4-30 16:49 , Processed in 0.041884 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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