An auto car with 3 IR sensors.

Dependencies:   Ping

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?

UserRevisionLine numberNew 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