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.
Dependencies: mbed
main.cpp
- Committer:
- joankangro
- Date:
- 2016-02-18
- Revision:
- 0:e679a1bb6eca
- Child:
- 1:94577052d858
File content as of revision 0:e679a1bb6eca:
#include "mbed.h"
//Pull everything up
DigitalIn pull1(PTA1);
DigitalIn pull2(PTA2);
DigitalIn pull4(PTA12);
DigitalIn pull5(PTA4);
DigitalIn pull6(PTA5);
DigitalIn pull7(PTC8);
DigitalIn pull9(PTA13);
DigitalIn pull10(PTD5);
DigitalIn pull11(PTD0);
DigitalIn pull12(PTD2);
DigitalIn pull13(PTD3);
DigitalIn pull14(PTD1);
DigitalIn pull15(PTE0);
DigitalIn pull16(PTE1);
DigitalIn pull17(PTC7);
DigitalIn pull18(PTC0);
DigitalIn pull19(PTC3);
DigitalIn pull20(PTC4);
DigitalIn pull21(PTC12);
DigitalIn pull22(PTC13);
DigitalIn pull23(PTC16);
DigitalIn pull24(PTC17);
DigitalIn pull25(PTA16);
DigitalIn pull26(PTA17);
DigitalIn pull27(PTE31);
DigitalIn pull28(PTD6);
DigitalIn pull29(PTD7);
DigitalIn pull30(PTE30);
DigitalIn pull34(PTE21);
DigitalIn pull35(PTE20);
DigitalIn pull38(PTE3);
DigitalIn pull39(PTE2);
DigitalIn pull47(PTB1);
DigitalIn pull48(PTB0);
DigitalIn pull49(PTA20);
//motor driver outputs
DigitalOut IN4(PTC5);
DigitalOut IN3(PTC6);
DigitalOut IN2(PTC10);
DigitalOut IN1(PTC11);
PwmOut ENA(PTC9);
PwmOut ENB(PTD4);
DigitalOut indicator(LED_BLUE);
//constant 3.3 volts for sensors
DigitalOut constant1(PTE5);
DigitalOut constant2(PTE4);
//line following inputs
DigitalIn leftmost(PTE23);
AnalogIn left(PTC2);
AnalogIn middle(PTB2);
AnalogIn right(PTB3);
DigitalIn rightmost(PTE22);
//debugging led outputs
DigitalOut ledleftmost(PTE29);
DigitalOut ledright(PTB10);
DigitalOut ledmiddle(PTB11);
DigitalOut ledleft(PTB8);
DigitalOut ledrightmost(PTB9);
int main() {
pull1.mode(PullUp);
pull2.mode(PullUp);
//pull3.mode(PullUp);
pull4.mode(PullUp);
pull5.mode(PullUp);
pull6.mode(PullUp);
pull7.mode(PullUp);
//pull8.mode(PullUp);
pull9.mode(PullUp);
pull10.mode(PullUp);
pull11.mode(PullUp);
pull12.mode(PullUp);
pull13.mode(PullUp);
pull14.mode(PullUp);
pull15.mode(PullUp);
pull16.mode(PullUp);
pull17.mode(PullUp);
pull18.mode(PullUp);
pull19.mode(PullUp);
pull20.mode(PullUp);
pull21.mode(PullUp);
pull22.mode(PullUp);
pull23.mode(PullUp);
pull24.mode(PullUp);
pull25.mode(PullUp);
pull26.mode(PullUp);
pull27.mode(PullUp);
pull28.mode(PullUp);
pull29.mode(PullUp);
pull30.mode(PullUp);
pull34.mode(PullUp);
pull35.mode(PullUp);
pull38.mode(PullUp);
pull39.mode(PullUp);
pull47.mode(PullUp);
pull48.mode(PullUp);
pull49.mode(PullUp);
indicator=1;
wait(0.3);
indicator=0;
wait(0.3);
indicator=1;
wait(0.3);
indicator=0;
wait(0.3);
indicator=1;
ENA.period(0.001);
ENB.period(0.001);
IN1=0;
IN2=1;
IN3=0;
IN4=1;
//set inital pwm values for motor driver outputs
ENA=0;
ENB=0;
while(1) {
//ENA=0.5;
//ENB=0.5;
if(middle>0.45){
ledmiddle=1;
}else{
ledmiddle=0;
}
if(left>0.4){
ledleft=1;
}else{
ledleft=0;
}
if(right>0.4){
ledright=1;
}else{
ledright=0;
}
if(leftmost==1){
ledleftmost=1;
}else{
ledleftmost=0;
}
if(rightmost==1){
ledrightmost=1;
}else{
ledrightmost=0;
}
}
}