Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
LineFollowingRobot/main.cpp@0:a02a278513d9, 2019-01-26 (annotated)
- Committer:
- Nicolaemf
- Date:
- Sat Jan 26 18:18:13 2019 +0000
- Revision:
- 0:a02a278513d9
- Child:
- 1:a2ceed49374e
implementation of robot motor driver code, in seperate files and using oop;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Nicolaemf | 0:a02a278513d9 | 1 | #include <mbed.h> |
Nicolaemf | 0:a02a278513d9 | 2 | #include "RobotControl_H.h" |
Nicolaemf | 0:a02a278513d9 | 3 | |
Nicolaemf | 0:a02a278513d9 | 4 | DigitalIn leftIR(PTC6); |
Nicolaemf | 0:a02a278513d9 | 5 | DigitalIn midLeftIR(PTC5); |
Nicolaemf | 0:a02a278513d9 | 6 | DigitalIn midIR(PTC4); |
Nicolaemf | 0:a02a278513d9 | 7 | DigitalIn midRightIR(PTC3); |
Nicolaemf | 0:a02a278513d9 | 8 | DigitalIn rightIR(PTC0); |
Nicolaemf | 0:a02a278513d9 | 9 | |
Nicolaemf | 0:a02a278513d9 | 10 | Ticker sampling; |
Nicolaemf | 0:a02a278513d9 | 11 | bool lineSensor[5], toggle2 = false; |
Nicolaemf | 0:a02a278513d9 | 12 | |
Nicolaemf | 0:a02a278513d9 | 13 | |
Nicolaemf | 0:a02a278513d9 | 14 | void Sample(){ |
Nicolaemf | 0:a02a278513d9 | 15 | //function attached to the ticker |
Nicolaemf | 0:a02a278513d9 | 16 | //assigns the data recieved for each digital in into an array |
Nicolaemf | 0:a02a278513d9 | 17 | //toggle is toggled at every ISR, signifying the ISR has occured |
Nicolaemf | 0:a02a278513d9 | 18 | |
Nicolaemf | 0:a02a278513d9 | 19 | lineSensor[0] = leftIR; |
Nicolaemf | 0:a02a278513d9 | 20 | lineSensor[1] = midLeftIR; |
Nicolaemf | 0:a02a278513d9 | 21 | lineSensor[2] = midIR; |
Nicolaemf | 0:a02a278513d9 | 22 | lineSensor[3] = midRightIR; |
Nicolaemf | 0:a02a278513d9 | 23 | lineSensor[4] = rightIR; |
Nicolaemf | 0:a02a278513d9 | 24 | |
Nicolaemf | 0:a02a278513d9 | 25 | toggle2 = !toggle2; |
Nicolaemf | 0:a02a278513d9 | 26 | } |
Nicolaemf | 0:a02a278513d9 | 27 | |
Nicolaemf | 0:a02a278513d9 | 28 | |
Nicolaemf | 0:a02a278513d9 | 29 | |
Nicolaemf | 0:a02a278513d9 | 30 | |
Nicolaemf | 0:a02a278513d9 | 31 | int main(){ |
Nicolaemf | 0:a02a278513d9 | 32 | |
Nicolaemf | 0:a02a278513d9 | 33 | //get a first reading |
Nicolaemf | 0:a02a278513d9 | 34 | Sample(); |
Nicolaemf | 0:a02a278513d9 | 35 | sampling.attach(&Sample, 0.01); |
Nicolaemf | 0:a02a278513d9 | 36 | |
Nicolaemf | 0:a02a278513d9 | 37 | RobotControl controlLeft(PTC12,PTD4,PTA5); |
Nicolaemf | 0:a02a278513d9 | 38 | RobotControl controlRight(PTA13,PTA12,PTA4); |
Nicolaemf | 0:a02a278513d9 | 39 | |
Nicolaemf | 0:a02a278513d9 | 40 | |
Nicolaemf | 0:a02a278513d9 | 41 | |
Nicolaemf | 0:a02a278513d9 | 42 | while(1){ |
Nicolaemf | 0:a02a278513d9 | 43 | wait(1); |
Nicolaemf | 0:a02a278513d9 | 44 | } |
Nicolaemf | 0:a02a278513d9 | 45 | |
Nicolaemf | 0:a02a278513d9 | 46 | } |