私はArduino DUEを介して送信機からサーボに信号を送信しようとしており、次のようなコードを書きました:
#include<Servo.h>
Servo servo1;
int ch1;
void setup() {
// put your setup code here, to run once:
pinMode(40,INPUT);
pinMode(31,OUTPUT);
servo1.attach(31);
Serial.begin(9600);
ch1 = 2000;
}
void loop() {
// put your main code here, to run repeatedly:
ch1 = pulseIn(40,HIGH,25000);
if (ch1 <= 2800 && ch1>= 1600)
{
Serial.print("Aileron:");
Serial.println(ch1);
}
delay(100);
}
if ステートメントを挿入しないと、平均 2200 の値が得られますが、if ステートメントの値を挿入すると、値が 1800 に低下します。理由がわかりません。