Arduino Programming Help How do arrange my if and else statements so it compiles
ID: 3840734 • Letter: A
Question
Arduino Programming Help
How do arrange my if and else statements so it compiles:
void loop() {
// put your main code here, to run repeatedly:
if (irrecv.decode(&results))
{
Serial.println(results.value, HEX);
if ((results.value) == PLUS)
{
myservo.write(180); // rotate servo to 180 - degree
delay(30);
}
else if ((results.value) == MINUS)
{
myservo.write(0); // rotate servo to 0 - degrees
delay(30);
}
else if ((results.value) == FORWARD)
movingForward = 1;
movingBackward = 0;
checkAndMoveForward();
}
else if ((results.value) == BACKWARD)
{
movingForward = 0;
movingBackward = 1;
checkAndMoveBackward();
}
else
{
if (movingForward == 1)
checkAndMoveForward();
}
else if (movingBackward == 1)
{
checkAndMoveBackward();
}
irrecv.resume();
}
Explanation / Answer
Here is the ordered if..else if..else
void loop() {
// put your main code here, to run repeatedly:
if (irrecv.decode(&results))
{
Serial.println(results.value, HEX);
if ((results.value) == PLUS)
{
myservo.write(180); // rotate servo to 180 - degree
delay(30);
}
else if ((results.value) == MINUS)
{
myservo.write(0); // rotate servo to 0 - degrees
delay(30);
}
else if ((results.value) == FORWARD)
movingForward = 1;
movingBackward = 0;
checkAndMoveForward();
}
else if ((results.value) == BACKWARD)
{
movingForward = 0;
movingBackward = 1;
checkAndMoveBackward();
}
else
{
if (movingForward == 1)
checkAndMoveForward();
else if (movingBackward == 1) // brought this else if inside the else part
{
checkAndMoveBackward();
}
}
irrecv.resume();
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.