meiyuezi119 发表于 2015-5-19 19:42:56

关于帮助女大学生解决多个红外开关的串口输出问题

你好请大神们帮我解决arduino的编程问题!!!!!!!!!!!!!!!!!!!!!!
学设计的女大学生实在搞不清楚编程!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
对你们大神级人物这应该算是小问题吧!!!!!!!!!!!!!!!!!!!!!!!
可是没有逻辑思维的蠢逼我实在想不出来了!!!!!!!!!!!!!!!!!!!!!!!
超急!!!!!!!!!!!!!!!!涉及到作品最终效果!!!!!!!!!!!!!

我想用多个红外开关控制processing中的视频开关.在编写arduino代码时遇到了问题{:soso_e101:}

比如说我希望引脚1的红外开关感应后串口持续为11111111.
直到另一个引脚上的红外开关被感应,另一个继续显示22222222,这样给到processing里的串口数据才能稳定的打开对应的视频.
但是现在我写的代码串口要不是一直是乱的,要么就是只读一个开关.
下面是我乱写的,我也不知道要怎么改啊 !!!请好心人留步帮助我.急!!!!!!!!!!



#define NUMBER 4

const int R={2,4,8,13};
int st=0;
int i=0;
void setup()
{
for(int i=0;i<NUMBER;i++)
{
   pinMode(R,INPUT);
}
   
//pinMode(13,INPUT);
//pinMode(8,INPUT);
//pinMode(2,INPUT);
//pinMode(4,INPUT);

Serial.begin(9600);
}

void loop()
{
if(digitalRead(R)==1)
{ st=2;
if(st==2)
{
    Serial.print(R);
}
}
if(digitalRead(R)==0)
{
    st=0;
}
delay(70);
}

meiyuezi119 发表于 2015-5-19 19:51:03

求 解决.........:'(:'(:'(:'(

meiyuezi119 发表于 2015-5-19 20:46:25

:'(:'(:'(:'(:'(:'(:'(

meiyuezi119 发表于 2015-5-19 20:54:24

而且为什么 红外开关一插板子上有几个就会亮啊而且一直不感应 ,有几个又是正常感应的

zoologist 发表于 2015-5-19 21:07:39

具体一点,贴你传感器的照片,我觉得你可能是什么硬件搞错了

今天我刚入手4个红外反射传感器,正在试验,不知道你用的是不是和我一样的

meiyuezi119 发表于 2015-5-19 21:27:08

zoologist 发表于 2015-5-19 21:07 static/image/common/back.gif
具体一点,贴你传感器的照片,我觉得你可能是什么硬件搞错了

今天我刚入手4个红外反射传感器,正在试验, ...



就是这种数字避障传感器(3-80cm)

我有几个视频在processing中要分别对应一个红外开关,就人一感应视频就播放.P里的程序我已经写好了
就是arduino里的串口我实在不知道怎么让 让他是类似"111111111100000000002222222222224444444444..."这样的形式.

我希望串口的信息只有在开关被感应后才输出吗
而现在我整个串口信息都很乱.

zoologist 发表于 2015-5-19 22:12:22

这个很好用的传感器,我正在用,给你写了一个程序,测试OK

#define NUMBER 4

const int R={A0,A1,A2,A3};
int st=0;
int i=0;
void setup()
{
for(int i=0;i<NUMBER;i++)
{
   pinMode(R,INPUT);
}


Serial.begin(9600);
}

void loop()
{

for (i=0;i<4;i++)
   {
   if(digitalRead(R)==LOW) {
       st=i;
   }
   }
   
Serial.print(st);

delay(500);
}

zoologist 发表于 2015-5-19 22:12:49

需要注意的是:触发(有遮蔽),输出信号是 LOW

Ansifa 发表于 2015-5-19 22:19:17

为毛一定要注明女大学生呢?表明自己是个女汉子?

#define NUMBER 4

const int R = {2, 4, 8, 13};
int Mark = {0};                //节省流量标记,只在电平改变时候发一次串口信息


void setup()
{
    for(int i = 0; i < NUMBER; i++)
    {
      pinMode(R, INPUT);
      digitalWrite(R, HIGH);                //上拉电阻
    }
    Serial.begin(9600);
}

void loop()
{
    for(int i = 0; i < NUMBER; i++)
    {
      if((digitalRead(R) == LOW) && (Mark == 1))
      {
            Serial.print("0" + i);                //吸合
            Mark = 0;
      }
      if((digitalRead(R) == HIGH) && (Mark == 0))
      {
            Serial.print("a" + i);                //释放,不要释放字符删掉此句
            Mark = 1;
      }

      delay(10);
    }
}

meiyuezi119 发表于 2015-5-19 22:19:25

zoologist 发表于 2015-5-19 22:12 static/image/common/back.gif
这个很好用的传感器,我正在用,给你写了一个程序,测试OK

#define NUMBER 4


天呐 太感谢 我测试一下:loveliness:感恩

zoologist 发表于 2015-5-19 22:23:40

meiyuezi119 发表于 2015-5-19 22:19 static/image/common/back.gif
天呐 太感谢 我测试一下感恩

注意我用的是 A0 - A3 哈我这边亲测有效

如果你那边不好用请检查电路

meiyuezi119 发表于 2015-5-19 22:23:46

zoologist 发表于 2015-5-19 22:12 static/image/common/back.gif
需要注意的是:触发(有遮蔽),输出信号是 LOW

对诶 我好像一直写成有遮蔽是high--真是蠢哭...
其他几个传感器好像都没问题
1.就有一个红外开关从接上板子时就一直亮着是怎么回事. 换了几个接口也还是没反应
2.还有我现在用9个这种红外开关接UNO,和IO v7的扩展板吃得住吗,要不要换MEGA.....

meiyuezi119 发表于 2015-5-19 22:24:49

本帖最后由 meiyuezi119 于 2015-5-19 22:26 编辑

Ansifa 发表于 2015-5-19 22:19 static/image/common/back.gif
为毛一定要注明女大学生呢?表明自己是个女汉子?

#define NUMBER 4


为了博同情{:soso_e117:} {:soso_e117:} ,因为很急.哎 谢谢你{:soso_e100:}

meiyuezi119 发表于 2015-5-19 22:27:12

zoologist 发表于 2015-5-19 22:23 static/image/common/back.gif
注意我用的是 A0 - A3 哈我这边亲测有效

如果你那边不好用请检查电路

恩恩谢谢::);P

Ansifa 发表于 2015-5-19 22:27:55

meiyuezi119 发表于 2015-5-19 22:24 static/image/common/back.gif
为了博同情,因为很急.哎 谢谢你

试一下吧,这个光电开关只是一个开关到地,我那个代码带有上拉功能,如无意外应该可行而且不会刷屏。只在变化的时候发一个字
页: [1] 2
查看完整版本: 关于帮助女大学生解决多个红外开关的串口输出问题