Если оператор дает неправильные значения сигнала в Arduino из-за
Я пытаюсь передать сигнал на сервопривод от передатчика через 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, если я вставлю, если значения оператора упадут до 1800. Я не понимаю, почему?