An auto car with 3 IR sensors.

Dependencies:   Ping

Revision:
18:d7509436e9ef
Parent:
15:1d440beb24d3
Child:
19:d06f5a3ed0bc
--- a/autocar/autocar.h	Wed Jul 18 09:17:11 2018 +0000
+++ b/autocar/autocar.h	Wed Jul 18 12:38:54 2018 +0000
@@ -3,6 +3,8 @@
 
 #include "mbed.h"
 
+#include "Ping.h"
+
 // used for motors
 extern DigitalOut M1_enable;
 extern DigitalOut M2_enable;
@@ -16,18 +18,24 @@
 extern AnalogIn middleIR;
 extern AnalogIn rightIR;
 
+// used for ultrasonic sensors
+extern Ping ultrasonic;
+
 // read the value of IR sensors
 void readIR(bool* left, bool* middle, bool* right, int threshold);
 int readIRValues();
+void readSensor(bool* left, bool* middle, bool* right, bool* hasObstacle, int threshold, int range);
 
 long map(long x, long in_min, long in_max, long out_min, long out_max);
 
 // used for controlling the direction of auto car
 void DriveSingleMotor(int m, int speed, int dir);
 void driveMotor(bool left, bool middle, bool right);
-void driveMotorPID(int values, float Kp, float Ki, float Kd);
+void driveMotor(bool left, bool middle, bool right, bool hasObstacle);
+void driveMotorPID(float values, float Kp, float Ki, float Kd);
 
 void init();
+void stop();
 void forward();
 void turnLeft();
 void turnRight();