The arduino doesnt print very fast, it prints only every few seconds
#include <Servo.h>
int YawInput = A0;
int ThrottleInput = A1;
int ch3 = A2;
int ch4 = A3;
//Output section declaration
int lmwpin = 3;
int rmwpin = 5;
int lbwpin = 6;
int rbwpin = 9;
int rudderpin = 10;
int ThrottleOutput = 11;
Servo Motor;
Servo lmw;
Servo rmw;
Servo lbw;
Servo rbw;
Servo rudder;
void setup()
{
// Input section
pinMode(YawInput, INPUT);
pinMode(ThrottleInput, INPUT);
pinMode(ch3, INPUT);
pinMode(ch4, INPUT);
// Output section
pinMode(lmwpin, OUTPUT);
pinMode(rmwpin, OUTPUT);
pinMode(lbwpin, OUTPUT);
pinMode(rbwpin, OUTPUT);
pinMode(rudderpin, OUTPUT);
Motor.attach(11);
lmw.attach(3);
rmw.attach(5);
lbw.attach(6);
rbw.attach(9);
rudder.attach(10);
Serial.begin(9600);
// ESC ARMING
}
void loop()
{
int ReadYaw = pulseIn(YawInput, HIGH);
int ReadThrottle = pulseIn(ThrottleInput, HIGH);
int Readch3 = pulseIn(ch3, HIGH);
int Readch4 = pulseIn(ch4, HIGH);
//Mapping
int YawMap = map(ReadYaw, 870, 1915, 0, 180);
int Throttle = map(ReadThrottle, 870, 1915, 0, 180);
if(Readch3 > 1300)
{
Serial.println("");
// Roll
Serial.print("Roll - ");
if(YawMap < 85)
{
Serial.println("Roll left");
lmw.write(YawMap);
rmw.write(YawMap);
lbw.write(YawMap);
rbw.write(YawMap);
}
else{}
if(YawMap > 85 && YawMap < 95)
{
Serial.println("Roll stable");
lmw.write(90);
rmw.write(90);
lbw.write(90);
rbw.write(90);
}
else{}
if(YawMap > 95)
{
Serial.println("Roll right");
}
// Pitch
Serial.print("Pitch - ");
if(ReadThrottle < 1200)
{
Serial.println("Down");
}
else{}
if(ReadThrottle > 1201 && ReadThrottle < 1800)
{
Serial.println("Middle");
}
else{}
if(ReadThrottle > 1800)
{
Serial.println("Up");
}
else{}
}
else{}
if(Readch3 < 1300)
{
Serial.println("");
// YAW
Serial.print("Yaw - ");
if(ReadYaw < 1200)
{
Serial.println("left");
}
else{}
if(ReadYaw > 1201 && ReadYaw < 1800)
{
Serial.println("Middle");
}
else{}
if(ReadYaw > 1800)
{
Serial.println("Right");
}
else{}
// Throttle
Serial.print("Throttle - ");
if(ReadThrottle < 1200)
{
Serial.println("Low");
}
else{}
if(ReadThrottle > 1201 && ReadThrottle < 1800)
{
Serial.println("Middle");
}
else{}
if(ReadThrottle > 1800)
{
Serial.println("High");
}
else{}
}
else{}
delay(1);
}