lines.ino (766B)
1 #include "helper.h" 2 3 int prevDir = -1; 4 5 void 6 setup() { 7 delay(3000); 8 setupRobot(); 9 } 10 11 void loop() { 12 setLEDs(LOW, LOW, LOW); 13 bool left = !isLDRBright(LDRA), 14 mid = !isLDRBright(LDRB), 15 right = !isLDRBright(LDRC); 16 17 if (right) 18 prevDir = RGT; 19 else if (left) 20 prevDir = LFT; 21 22 if (left && mid) { 23 stepRGT(); 24 } else if (right && mid) { 25 stepLFT(); 26 } else if (!mid && !left && !right) { 27 for (int i = 0; i < 20; i++) 28 stepMove(FWD); 29 } else { 30 while (!(!mid && !left && !right) 31 && !(right && mid) 32 && !(left && mid)) { 33 switch (prevDir) { 34 case LFT: stepLFT(); break; 35 case RGT: stepRGT(); break; 36 default: stepRGT(); break; 37 } 38 left = !isLDRBright(LDRA); 39 mid = !isLDRBright(LDRB); 40 right = !isLDRBright(LDRC); 41 } 42 } 43 }