开发平台(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);
}
}