Robofun 機器人論壇

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

被動感應紅外線問題

[複製鏈接]
跳轉到指定樓層
1#
發表於 2015-5-24 06:43:28 | 顯示全部樓層 回帖獎勵 |倒序瀏覽 |閱讀模式
請問各位大師!
我想讓紅外線亮三秒後停止 (即便物體在紅外線感應範圍內)
可是我這樣寫完程式後發現...物體在紅外線感應範圍內 燈持續亮 離開範圍過後三秒燈熄滅
請問我該如編寫...
const int red = 2;// 紅外線動作感測器連接的腳位
const int led=13;
int sensorValue = 0;// 紅外線動作感測器訊號變數
void setup()
{
  pinMode(red, INPUT);   
  pinMode(led, OUTPUT);      
}

void loop()
{
  // 讀取 PIR Sensor 的狀態
  sensorValue = digitalRead(red);
// 判斷 PIR Sensor 的狀態
  if (sensorValue == HIGH)
{   
    digitalWrite(led, LOW);  // 沒人,關燈 有人,開燈
  }
  else {
    digitalWrite(led, HIGH);   // 有人,開燈
    delay(3000);
  }
}
2#
 樓主| 發表於 2015-5-30 10:29:20 | 顯示全部樓層
我是用LED來(測試是否有物體到達感應位置 若有LED發亮)

我想要讓他變成(物體到達感應範圍位置 LED發亮三秒熄滅)
(物體離開感應位置後 紅外線動作回復正常在感應下個物體到來)
我不知道這樣敘述給大大看 可以嗎...

最近在拼考試比較少上論壇><"
3#
 樓主| 發表於 2015-6-4 10:49:46 | 顯示全部樓層
感謝ates1687
我有用你程式測試過了
但測試後有個問題是...(物體必須得離開紅外線感測範圍過三秒後LED才會滅)
可我要做的是( 物體還在紅外線感測範圍內LED發亮三秒後LED熄滅)
const int red = 2;// 紅外線動作感測器連接的腳位
const int led=13;
int sensorValue = 0;// 紅外線動作感測器訊號變數
void setup()
{
  pinMode(red, INPUT);   
  pinMode(led, OUTPUT);      
}

void loop()
{
  // 讀取 PIR Sensor 的狀態
  sensorValue = digitalRead(red);
// 判斷 PIR Sensor 的狀態
  if (sensorValue == HIGH)
{   
    digitalWrite(led, LOW);  // 沒人,關燈 有人,開燈
  }
  else {
    digitalWrite(led, HIGH);   // 有人,開燈
    delay(3000);
    digitalWrite(led, LOW);
  }
}
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-3 20:16 , Processed in 0.118968 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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