Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

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();
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote