[問題] ARDUINO程式問題

作者: s4A111039 (定板小瓜)   2014-07-10 15:27:54
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
"C"
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
我要再A0銜接一個輸出給電流量測,想要利用紅外線感應到就給他觸發訊號量測0.1秒的"
平均電流值",要在serial monitor顯示,請問要怎麼改寫?
非常謝謝!
電流程式:
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A0); //A0類比輸入
Serial.println((514 - sensorValue) * 49.49 / 1023);
//49.99=50=resolution ; 5(V)/0.1(V/A)=50=resolution
delay(20);
}
紅外線程式:
const int IR_rec = 4; // 紅外線接收器
const int IR_send = 7; // 紅外線發射器
const int LED = 13; // 紅外線指示燈
const unsigned int frequency = 38000; // 發射頻率(單位: Hz)
void setup() {
Serial.begin(9600); // 開啟 Serial port, 通訊速率為 9600 bps
pinMode(IR_rec, INPUT); // 把 irReceiver 接腳設置為 INPUT
pinMode(IR_send, OUTPUT); // 把 irLed 接腳設置為 INPUT
pinMode(LED, OUTPUT); // 把 ledPin 設置為 OUTPUT
tone(IR_send, frequency); // 產生指定頻率的脈波 (Pulses)
delay(1000);
}
void loop() {
int IR_status = digitalRead(IR_rec); // 讀取 irReceiver 的狀態
Serial.println(IR_status); // 把 irReceiver 的狀態印到 Serial Port
// 檢查 irReceiver 是否有收到紅外線訊號
// 有的話,ir_status 會是 0
if (IR_status == 0) {
digitalWrite (LED, HIGH);
}
else {
digitalWrite (LED, LOW);
}
}
作者: damody (天亮damody)   2014-07-10 17:13:00
這不是c++
作者: peng978   2014-07-10 23:14:00
不要把arduino自己的語法誤解成c or c++喔....
作者: Killercat (殺人貓™)   2014-07-11 02:52:00
其實當C是沒什麼不可啦(沒有C++就是)... =P
作者: markov (-chain)   2014-07-11 16:18:00
The Arduino language is based on C/C++.http://arduino.cc/en/Reference/HomePage
作者: longlongint (華哥爾)   2014-07-12 17:16:00
有很多種做法觸發中要能夠重新觸發嗎?總之用個布林值多開一個分路 裡面有量電流的機制用紅外線值 來決定是否進入分路測量用的迴圈中大量取樣用millis抓0.1秒

Links booklink

Contact Us: admin [ a t ] ucptt.com