Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 3189|回復: 8
打印 上一主題 下一主題

用人體紅外線感測器判斷人體進門和出門 問題

[複製鏈接]
跳轉到指定樓層
1#
發表於 2018-11-18 20:58:55 | 顯示全部樓層 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最後由 frongle 於 2018-11-18 20:58 編輯

小弟我想用兩個人體紅外線感測器來(HC-SR501)判斷人是<進門>還是<出門>,有看到網路上有人做出這樣的功能,但沒有給出程式碼,我想到破頭都想不出來,希望有大神能幫我指點一下,對於寫程式我還只是新手,很多還不太懂,懇請賜教!以下是依我個人想法寫的程式


int sensor1 = 9;  //訊號線
int sensor2 = 8;
int led1 = 2;
int led2 = 4;

void setup()
{
Serial.begin(9600);
pinMode(sensor1, INPUT);
pinMode(sensor2, INPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);  
}

void loop()
{
int a , b ;
a = digitalRead(sensor1);
b = digitalRead(sensor2);
if(a == 1)
{
  if(b == 1)
  digitalWrite(led1,HIGH);
}

else if(b == 1)
{
  if(a == 1)
  digitalWrite(led2,HIGH);
}
else
{
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
}
}

我會這樣寫是想判斷是哪邊的感測器先感測到1,然後換另一邊再感測到1,以判段是進門還是出門,可是每次都兩個燈都不亮,我很確定我的原件沒有壞掉,接線也沒有錯誤,因為我測試很多次了(原件測試),都沒有問題,我想知道我這程式真的可以達到我的目的嗎?是哪裡需要改嗎?還是說我這樣寫根本不行?

希望有人能幫助我, 謝謝!






2#
 樓主| 發表於 2018-11-19 10:08:49 來自手機 | 顯示全部樓層
謝謝你幫我找出錯誤,我知到要用你說的方式這樣判斷,但是我不知道要怎麼用程式表達出來,可以的話麻煩告訴我方法,我也會繼續嘗試。
3#
 樓主| 發表於 2018-11-19 21:22:03 來自手機 | 顯示全部樓層
我試了您的方法,但是還是不行,兩個燈都沒有亮,元件動作正常,就是沒辦法觸發判斷式裡的東西,QQ
6#
 樓主| 發表於 2018-11-21 19:44:55 | 顯示全部樓層
謝謝你熱心的幫忙~
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-5-5 07:20 , Processed in 0.220811 second(s), 6 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表