Lu-Hsuan Chen
/
autocar_3sensor_mbed
An auto car with 3 IR sensors.
autocar/autocar.h@15:1d440beb24d3, 2018-07-05 (annotated)
- Committer:
- cudaChen
- Date:
- Thu Jul 05 09:33:33 2018 +0000
- Revision:
- 15:1d440beb24d3
- Parent:
- 13:87cd0ae37e06
- Child:
- 18:d7509436e9ef
[add] add statements which user can define the pins they want to use
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
cudaChen | 12:e95ed962be7a | 1 | #ifndef AUTOCAR_H |
cudaChen | 12:e95ed962be7a | 2 | #define AUTOCAR_H |
cudaChen | 12:e95ed962be7a | 3 | |
cudaChen | 12:e95ed962be7a | 4 | #include "mbed.h" |
cudaChen | 12:e95ed962be7a | 5 | |
cudaChen | 15:1d440beb24d3 | 6 | // used for motors |
cudaChen | 15:1d440beb24d3 | 7 | extern DigitalOut M1_enable; |
cudaChen | 15:1d440beb24d3 | 8 | extern DigitalOut M2_enable; |
cudaChen | 15:1d440beb24d3 | 9 | extern DigitalOut M1_in1; |
cudaChen | 15:1d440beb24d3 | 10 | extern DigitalOut M1_in2; |
cudaChen | 15:1d440beb24d3 | 11 | extern DigitalOut M2_in3; |
cudaChen | 15:1d440beb24d3 | 12 | extern DigitalOut M2_in4; |
cudaChen | 12:e95ed962be7a | 13 | |
cudaChen | 12:e95ed962be7a | 14 | // used for IR sensors |
cudaChen | 15:1d440beb24d3 | 15 | extern AnalogIn leftIR; |
cudaChen | 15:1d440beb24d3 | 16 | extern AnalogIn middleIR; |
cudaChen | 15:1d440beb24d3 | 17 | extern AnalogIn rightIR; |
cudaChen | 15:1d440beb24d3 | 18 | |
cudaChen | 15:1d440beb24d3 | 19 | // read the value of IR sensors |
cudaChen | 12:e95ed962be7a | 20 | void readIR(bool* left, bool* middle, bool* right, int threshold); |
cudaChen | 13:87cd0ae37e06 | 21 | int readIRValues(); |
cudaChen | 12:e95ed962be7a | 22 | |
cudaChen | 12:e95ed962be7a | 23 | long map(long x, long in_min, long in_max, long out_min, long out_max); |
cudaChen | 12:e95ed962be7a | 24 | |
cudaChen | 12:e95ed962be7a | 25 | // used for controlling the direction of auto car |
cudaChen | 12:e95ed962be7a | 26 | void DriveSingleMotor(int m, int speed, int dir); |
cudaChen | 12:e95ed962be7a | 27 | void driveMotor(bool left, bool middle, bool right); |
cudaChen | 13:87cd0ae37e06 | 28 | void driveMotorPID(int values, float Kp, float Ki, float Kd); |
cudaChen | 13:87cd0ae37e06 | 29 | |
cudaChen | 12:e95ed962be7a | 30 | void init(); |
cudaChen | 12:e95ed962be7a | 31 | void forward(); |
cudaChen | 12:e95ed962be7a | 32 | void turnLeft(); |
cudaChen | 12:e95ed962be7a | 33 | void turnRight(); |
cudaChen | 12:e95ed962be7a | 34 | |
cudaChen | 12:e95ed962be7a | 35 | #endif |