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.
main.cpp@2:0b86e6482e4b, 2016-10-11 (annotated)
- Committer:
- csellier
- Date:
- Tue Oct 11 11:47:25 2016 +0000
- Revision:
- 2:0b86e6482e4b
- Parent:
- 1:8c1e3382b4d7
- Child:
- 3:581d391d248c
Updated with the input and output pin of the IR sensors, LDRs and LEDs
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kmarangi | 0:65fd20a989e9 | 1 | #include "mbed.h" |
kmarangi | 0:65fd20a989e9 | 2 | #include "Servo.h" |
csellier | 2:0b86e6482e4b | 3 | Serial pc (USBTX, USBRX); // USB serial interface |
csellier | 1:8c1e3382b4d7 | 4 | Servo ServoRight(p21); // continuous rotation hobby servo right |
csellier | 1:8c1e3382b4d7 | 5 | Servo ServoLeft(p22); // continuous rotation hobby servo left |
csellier | 2:0b86e6482e4b | 6 | PwmOut LEDleft(p23); |
csellier | 2:0b86e6482e4b | 7 | PwmOut LEDright(p24); |
csellier | 2:0b86e6482e4b | 8 | AnalogIn IRfront(p15); |
csellier | 2:0b86e6482e4b | 9 | AnalogIn IRleft(p16); |
csellier | 2:0b86e6482e4b | 10 | AnalogIn IRright(p17); |
csellier | 2:0b86e6482e4b | 11 | AnalogIn LDRleft(p18); |
csellier | 2:0b86e6482e4b | 12 | AnalogIn LDRright(p19); |
kmarangi | 0:65fd20a989e9 | 13 | |
kmarangi | 0:65fd20a989e9 | 14 | void init_servo() { |
kmarangi | 0:65fd20a989e9 | 15 | // calibrate the servos for +/-5ms over +/-45deg |
csellier | 1:8c1e3382b4d7 | 16 | ServoRight.calibrate(0.0005,45); |
csellier | 1:8c1e3382b4d7 | 17 | ServoLeft.calibrate(0.0005,45); |
kmarangi | 0:65fd20a989e9 | 18 | } |
kmarangi | 0:65fd20a989e9 | 19 | int main() { |
kmarangi | 0:65fd20a989e9 | 20 | |
kmarangi | 0:65fd20a989e9 | 21 | |
kmarangi | 0:65fd20a989e9 | 22 | // set the USB serial interface baud rate |
kmarangi | 0:65fd20a989e9 | 23 | pc.baud(921600); |
kmarangi | 0:65fd20a989e9 | 24 | |
kmarangi | 0:65fd20a989e9 | 25 | init_servo(); |
kmarangi | 0:65fd20a989e9 | 26 | |
kmarangi | 0:65fd20a989e9 | 27 | while(1) { |
kmarangi | 0:65fd20a989e9 | 28 | |
csellier | 2:0b86e6482e4b | 29 | //Turn both LED's on for the line following feature |
csellier | 2:0b86e6482e4b | 30 | LEDleft=1; |
csellier | 2:0b86e6482e4b | 31 | LEDright=1; |
csellier | 2:0b86e6482e4b | 32 | |
kmarangi | 0:65fd20a989e9 | 33 | // sernd the servo command to the servos themselves |
csellier | 1:8c1e3382b4d7 | 34 | ServoRight.write(0.6); // write to the continuous rotation servo1 |
csellier | 1:8c1e3382b4d7 | 35 | ServoLeft.write(0.4); // write to the continous servo2 |
kmarangi | 0:65fd20a989e9 | 36 | |
kmarangi | 0:65fd20a989e9 | 37 | } |
kmarangi | 0:65fd20a989e9 | 38 | } |
kmarangi | 0:65fd20a989e9 | 39 | |
kmarangi | 0:65fd20a989e9 | 40 |