Lu-Hsuan Chen
/
autocar_3sensor_mbed
An auto car with 3 IR sensors.
Diff: autocar/autocar.h
- Revision:
- 18:d7509436e9ef
- Parent:
- 15:1d440beb24d3
- Child:
- 19:d06f5a3ed0bc
diff -r 440e348cdcb4 -r d7509436e9ef autocar/autocar.h --- 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();