motor car with PID running feature

Dependencies:   Ping

Committer:
cudaChen
Date:
Wed Aug 01 07:18:57 2018 +0000
Revision:
3:4be8f486a120
Parent:
2:1dcd81fdef9e
Child:
4:982dcc2390a2
[fix] fix the typo of "M1_enable" and "M2_enable"

Who changed what in which revision?

UserRevisionLine numberNew contents of line
cudaChen 0:6fbf8bc664ee 1 #include "mbed.h"
cudaChen 0:6fbf8bc664ee 2
cudaChen 3:4be8f486a120 3 #include "motorcar.h"
cudaChen 0:6fbf8bc664ee 4
cudaChen 0:6fbf8bc664ee 5 DigitalOut led1(LED1); // LED indicating car is running
cudaChen 3:4be8f486a120 6 DigitalIn pb(USER_BUTTON); // car activate button
cudaChen 0:6fbf8bc664ee 7 int lastButtonState = 0;
cudaChen 0:6fbf8bc664ee 8 bool ledState = false;
cudaChen 0:6fbf8bc664ee 9
cudaChen 0:6fbf8bc664ee 10 // main() runs in its own thread in the OS
cudaChen 0:6fbf8bc664ee 11 int main() {
cudaChen 2:1dcd81fdef9e 12 //init();
cudaChen 0:6fbf8bc664ee 13
cudaChen 0:6fbf8bc664ee 14 while (true) {
cudaChen 0:6fbf8bc664ee 15 int reading1 = pb.read();
cudaChen 0:6fbf8bc664ee 16
cudaChen 0:6fbf8bc664ee 17 if(reading1 != lastButtonState) {
cudaChen 0:6fbf8bc664ee 18 wait_ms(20);
cudaChen 0:6fbf8bc664ee 19
cudaChen 0:6fbf8bc664ee 20 int reading2 = pb.read();
cudaChen 0:6fbf8bc664ee 21
cudaChen 0:6fbf8bc664ee 22 if(reading2 == reading1) {
cudaChen 0:6fbf8bc664ee 23 lastButtonState = reading2;
cudaChen 0:6fbf8bc664ee 24 }
cudaChen 0:6fbf8bc664ee 25
cudaChen 0:6fbf8bc664ee 26 if(lastButtonState == 1) {
cudaChen 0:6fbf8bc664ee 27 ledState = !ledState;
cudaChen 0:6fbf8bc664ee 28 }
cudaChen 0:6fbf8bc664ee 29 }
cudaChen 0:6fbf8bc664ee 30
cudaChen 0:6fbf8bc664ee 31 led1.write(ledState);
cudaChen 0:6fbf8bc664ee 32
cudaChen 3:4be8f486a120 33 if(ledState) {
cudaChen 2:1dcd81fdef9e 34 readSensorValue();
cudaChen 2:1dcd81fdef9e 35
cudaChen 3:4be8f486a120 36 //runPID();
cudaChen 3:4be8f486a120 37 }
cudaChen 0:6fbf8bc664ee 38 }
cudaChen 0:6fbf8bc664ee 39 }
cudaChen 0:6fbf8bc664ee 40