[问题] 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