极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 48033|回复: 28

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

[复制链接]
发表于 2015-5-19 19:42:56 | 显示全部楼层 |阅读模式
你好请大神们帮我解决arduino的编程问题!!!!!!!!!!!!!!!!!!!!!!
学设计的女大学生实在搞不清楚编程!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
对你们大神级人物这应该算是小问题吧!!!!!!!!!!!!!!!!!!!!!!!
可是没有逻辑思维的蠢逼我实在想不出来了!!!!!!!!!!!!!!!!!!!!!!!
超急!!!!!!!!!!!!!!!!涉及到作品最终效果!!!!!!!!!!!!!


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

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


[pre lang="arduino" line="1" file="shiyan"]
#define NUMBER 4

const int R[NUMBER]={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);
}  
  [/code]
回复

使用道具 举报

 楼主| 发表于 2015-5-19 19:51:03 | 显示全部楼层
求 解决.........
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-5-19 20:46:25 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-5-19 20:54:24 | 显示全部楼层
而且为什么 红外开关一插板子上有几个就会亮啊而且一直不感应 ,有几个又是正常感应的
回复 支持 反对

使用道具 举报

发表于 2015-5-19 21:07:39 | 显示全部楼层
具体一点,贴你传感器的照片,我觉得你可能是什么硬件搞错了

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

使用道具 举报

 楼主| 发表于 2015-5-19 21:27:08 | 显示全部楼层
zoologist 发表于 2015-5-19 21:07
具体一点,贴你传感器的照片,我觉得你可能是什么硬件搞错了

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



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

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

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

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2015-5-19 22:12:22 | 显示全部楼层
这个很好用的传感器,我正在用,给你写了一个程序,测试OK

#define NUMBER 4

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


Serial.begin(9600);
}

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

  delay(500);
}
回复 支持 反对

使用道具 举报

发表于 2015-5-19 22:12:49 | 显示全部楼层
需要注意的是:触发(有遮蔽),输出信号是 LOW
回复 支持 反对

使用道具 举报

发表于 2015-5-19 22:19:17 | 显示全部楼层
为毛一定要注明女大学生呢?表明自己是个女汉子?

[pre lang="arduino" line="1" file="arduino.ino"]#define NUMBER 4

const int R[NUMBER] = {2, 4, 8, 13};
int Mark[NUMBER] = {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);
    }
}
[/code]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-5-19 22:19:25 | 显示全部楼层
zoologist 发表于 2015-5-19 22:12
这个很好用的传感器,我正在用,给你写了一个程序,测试OK

#define NUMBER 4

天呐 太感谢 我测试一下感恩
回复 支持 反对

使用道具 举报

发表于 2015-5-19 22:23:40 | 显示全部楼层
meiyuezi119 发表于 2015-5-19 22:19
天呐 太感谢 我测试一下感恩

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

如果你那边不好用请检查电路
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-5-19 22:23:46 | 显示全部楼层
zoologist 发表于 2015-5-19 22:12
需要注意的是:触发(有遮蔽),输出信号是 LOW

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

使用道具 举报

 楼主| 发表于 2015-5-19 22:24:49 | 显示全部楼层
本帖最后由 meiyuezi119 于 2015-5-19 22:26 编辑
Ansifa 发表于 2015-5-19 22:19
为毛一定要注明女大学生呢?表明自己是个女汉子?

#define NUMBER 4


为了博同情{:soso_e117:} {:soso_e117:} ,因为很急.哎 谢谢你{:soso_e100:}
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-5-19 22:27:12 | 显示全部楼层
zoologist 发表于 2015-5-19 22:23
注意我用的是 A0 - A3 哈  我这边亲测有效

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

恩恩谢谢:
回复 支持 反对

使用道具 举报

发表于 2015-5-19 22:27:55 | 显示全部楼层
meiyuezi119 发表于 2015-5-19 22:24
为了博同情  ,因为很急.哎 谢谢你

试一下吧,这个光电开关只是一个开关到地,我那个代码带有上拉功能,如无意外应该可行而且不会刷屏。只在变化的时候发一个字
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-8 03:34 , Processed in 0.048329 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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