add LEDs to visually indicate distance sensed
[challenge-bot] / build-stages / g_follow / g_follow.ino
index 344c46e76a67898134e4af8600c11d8930763d57..02f6d96e688e0d5bff610228d1d9e490e5b1af42 100644 (file)
     along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+// right side LED, white wire
+int right_led_pin = 3;
+
 // define which pins are connected to which components
-int right_motor_forward_pin = 3;
+// blue wire
+int right_motor_forward_pin = 2;
+// orange wire
 int right_motor_backward_pin = 4;
+// white wire
 int right_motor_speed_pin = 5;
 
+// yellow wire
 int right_echo_pin = 6;
+// blue wire
 int right_trigger_pin = 7;
 
+// blue wire
 int left_motor_forward_pin = 8;
-int left_motor_backward_pin = 9;
+// orange wire
+int left_motor_backward_pin = 13;
+// white wire
 int left_motor_speed_pin = 10;
 
+// yellow wire
 int left_echo_pin = 11;
+// blue wire
 int left_trigger_pin = 12;
 
+// left side LED, blue wire
+int left_led_pin = 9;
+
 void on(int pin){
   digitalWrite(pin, HIGH);}
 
@@ -81,14 +97,6 @@ int ping(int trigger, int echo){
   delay(50);
   return ping_time;}
 
-void backup(int backup_time){
-  go(-250, -250);
-  delay(backup_time);}
-
-void turn_around(int turn_around_time){
-  go(-250, 250);
-  delay(turn_around_time);}
-
 void setup(){
   Serial.begin(9600);
 
@@ -114,9 +122,9 @@ void setup(){
   off(right_motor_speed_pin);
   off(right_motor_forward_pin);
   off(right_motor_backward_pin);
-  off(right_trigger_pin);}
+  off(right_trigger_pin); }
 
-void loop(){
+void loop() {
   int left_speed;
   int right_speed;
 
@@ -127,16 +135,28 @@ void loop(){
   unsigned int actual_left_ping_time = ping(left_trigger_pin, left_echo_pin);
   unsigned int actual_right_ping_time = ping(right_trigger_pin, right_echo_pin);
 
+  int left_led_value = (int)(actual_left_ping_time / 16.0);
+  int right_led_value = (int)(actual_right_ping_time / 16.0);
+
+  Serial.print("left led value = ");
+  Serial.print(left_led_value);
+  Serial.print(", right led value = ");
+  Serial.print(right_led_value);
+
+  analogWrite(left_led_pin, left_led_value);
+  analogWrite(right_led_pin, right_led_value);
+
   left_speed = actual_left_ping_time - desired_left_ping_time;
   right_speed = actual_right_ping_time - desired_right_ping_time;
 
-  Serial.print("left: ping = ");
+  Serial.print("left: ping = ");
   Serial.print(actual_left_ping_time);
   Serial.print(" speed = ");
   Serial.print(left_speed);
   Serial.print(" right: ping = ");
   Serial.print(actual_right_ping_time);
   Serial.print(" speed = ");
-  Serial.println(right_speed);
+  Serial.print(right_speed);
+  Serial.println();
 
-  go(left_speed, right_speed);}
+  go(left_speed, right_speed); }