新手問題
本帖最後由 u850241 於 2015-4-22 11:21 編輯各位前輩好:我想藉光敏電阻來控制LED 開或關,先在void setup ()透過光敏電阻取得當時環境的sensorValue當作THRESHOLD值再由void loop() 去比較這時的sensorValue 與THRESHOLD的值來去控制LED,寫了下列程式碼,但TRESHOLD仍會跳動.可否請各位前輩指點迷津,感謝#define analogInPin 0#define THRESHOLD sensorValueint 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); 你的程式第二行
#define THRESHOLD sensorValue
就是表示 THRESHOLD的值就是sensorValue
在每一次執行loop()時
sensorValue的值就會被更新一次
所以THRESHOLD的值就跟著一起變了
你才會看到輸出時到電腦時THRESHOLD的值在跳動
頁:
[1]