Robofun 機器人論壇

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

新手問題

[複製鏈接]
跳轉到指定樓層
1#
發表於 2015-4-22 08:30:43 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最後由 u850241 於 2015-4-22 11:21 編輯

各位前輩好:

我想藉光敏電阻來控制LED 開或關,先在void setup ()透過光敏電阻取得當時環境的sensorValue當作THRESHOLD

再由void loop() 去比較這時的sensorValue THRESHOLD的值來去控制LED,寫了下列程式碼,但TRESHOLD仍會跳動.

可否請各位前輩指點迷津,感謝

#define analogInPin 0

#define THRESHOLD sensorValue

int sensorValue=0;

void setup() {

Serial.begin(9600);

sensorValue=0.7*sensorValue+0.3*analogRead(analogInPin);

pinMode(13,OUTPUT);

}

void loop() {

  int r=sensorValue;

  sensorValue=0.7*sensorValue+0.3*analogRead(analogInPin);

  delay(1000);

  if(r>THRESHOLD){

    digitalWrite(13,LOW);

  }

  else{

    digitalWrite(13,HIGH);

  }

  Serial.print("THRESHOLD = ");

  Serial.print(THRESHOLD);

  Serial.print(",r ");

  Serial.println(r);

2#
發表於 2015-4-28 14:01:48 | 只看該作者
你的程式第二行
#define THRESHOLD sensorValue
就是表示 THRESHOLD的值就是sensorValue

在每一次執行loop()時
sensorValue的值就會被更新一次
所以THRESHOLD的值就跟著一起變了
你才會看到輸出時到電腦時THRESHOLD的值在跳動
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-9-28 03:15 , Processed in 0.219286 second(s), 9 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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