极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9864|回复: 1

超声波距离 + 人体红外感应 高手指点一下吧 谢谢

[复制链接]
发表于 2014-5-20 12:46:35 | 显示全部楼层 |阅读模式
本帖最后由 lty365 于 2014-5-21 10:10 编辑

const int TrigPin = 7;
const int EchoPin = 10;
float distance;
int S= 7;
int qqq;
int bbb;
void setup() {
Serial.begin(9600);   
pinMode(TrigPin, OUTPUT);   
        pinMode(EchoPin, INPUT);
        pinMode(S, INPUT);
}
void loop() {
{ int Se = digitalRead(S);
  Serial.println(Se);  }
  {digitalWrite(TrigPin, LOW);     
  delayMicroseconds(2);   
  digitalWrite(TrigPin, HIGH);      
  delayMicroseconds(10);      
  digitalWrite(TrigPin, LOW);
  distance = pulseIn(EchoPin, HIGH) / 58.00;
  Serial.print(distance);
   Serial.print("cm");      
  Serial.println();   
    bbb=distance;
  Serial.write(bbb);
}
}

有时有用 ........ 有时没用.......?????
人体红外感应 =1  距离传感器 有反映(第2次)
1
0
1
184MM
---------------------------------------------------------------------------


const int TrigPin = 7;  换成10
const int EchoPin = 10; 换成 7
距离传感器有用......
人体没用

------------------------------------------------------------------------------

void loop() {
  qqq=Serial.read();
  if(qqq=='e')
  {digitalWrite(TrigPin, LOW);     
  delayMicroseconds(2);   
  digitalWrite(TrigPin, HIGH);      
  delayMicroseconds(10);      
  digitalWrite(TrigPin, LOW);
  distance = pulseIn(EchoPin, HIGH) / 58.00;
  Serial.print(distance);
   Serial.print("cm");      
  Serial.println();   
    bbb=distance;
  Serial.write(bbb);
}
if(qqq=='a')
{ int Se = digitalRead(S);
  Serial.println(Se);  }
}

距离没用
人体可以
????????????

高手指点一下吧 谢谢

回复

使用道具 举报

 楼主| 发表于 2014-5-21 09:55:01 | 显示全部楼层
const int TrigPin = 7; 去掉 全用 S  也不行........
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-8 04:10 , Processed in 0.036678 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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