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@0:e679a1bb6eca, 2016-02-18 (annotated)
- Committer:
- joankangro
- Date:
- Thu Feb 18 16:58:28 2016 +0000
- Revision:
- 0:e679a1bb6eca
- Child:
- 1:94577052d858
We did not
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| joankangro | 0:e679a1bb6eca | 1 | #include "mbed.h" |
| joankangro | 0:e679a1bb6eca | 2 | |
| joankangro | 0:e679a1bb6eca | 3 | //Pull everything up |
| joankangro | 0:e679a1bb6eca | 4 | DigitalIn pull1(PTA1); |
| joankangro | 0:e679a1bb6eca | 5 | DigitalIn pull2(PTA2); |
| joankangro | 0:e679a1bb6eca | 6 | DigitalIn pull4(PTA12); |
| joankangro | 0:e679a1bb6eca | 7 | DigitalIn pull5(PTA4); |
| joankangro | 0:e679a1bb6eca | 8 | DigitalIn pull6(PTA5); |
| joankangro | 0:e679a1bb6eca | 9 | DigitalIn pull7(PTC8); |
| joankangro | 0:e679a1bb6eca | 10 | |
| joankangro | 0:e679a1bb6eca | 11 | DigitalIn pull9(PTA13); |
| joankangro | 0:e679a1bb6eca | 12 | DigitalIn pull10(PTD5); |
| joankangro | 0:e679a1bb6eca | 13 | DigitalIn pull11(PTD0); |
| joankangro | 0:e679a1bb6eca | 14 | DigitalIn pull12(PTD2); |
| joankangro | 0:e679a1bb6eca | 15 | DigitalIn pull13(PTD3); |
| joankangro | 0:e679a1bb6eca | 16 | DigitalIn pull14(PTD1); |
| joankangro | 0:e679a1bb6eca | 17 | DigitalIn pull15(PTE0); |
| joankangro | 0:e679a1bb6eca | 18 | DigitalIn pull16(PTE1); |
| joankangro | 0:e679a1bb6eca | 19 | |
| joankangro | 0:e679a1bb6eca | 20 | DigitalIn pull17(PTC7); |
| joankangro | 0:e679a1bb6eca | 21 | DigitalIn pull18(PTC0); |
| joankangro | 0:e679a1bb6eca | 22 | DigitalIn pull19(PTC3); |
| joankangro | 0:e679a1bb6eca | 23 | DigitalIn pull20(PTC4); |
| joankangro | 0:e679a1bb6eca | 24 | |
| joankangro | 0:e679a1bb6eca | 25 | DigitalIn pull21(PTC12); |
| joankangro | 0:e679a1bb6eca | 26 | DigitalIn pull22(PTC13); |
| joankangro | 0:e679a1bb6eca | 27 | DigitalIn pull23(PTC16); |
| joankangro | 0:e679a1bb6eca | 28 | DigitalIn pull24(PTC17); |
| joankangro | 0:e679a1bb6eca | 29 | DigitalIn pull25(PTA16); |
| joankangro | 0:e679a1bb6eca | 30 | DigitalIn pull26(PTA17); |
| joankangro | 0:e679a1bb6eca | 31 | DigitalIn pull27(PTE31); |
| joankangro | 0:e679a1bb6eca | 32 | DigitalIn pull28(PTD6); |
| joankangro | 0:e679a1bb6eca | 33 | DigitalIn pull29(PTD7); |
| joankangro | 0:e679a1bb6eca | 34 | |
| joankangro | 0:e679a1bb6eca | 35 | DigitalIn pull30(PTE30); |
| joankangro | 0:e679a1bb6eca | 36 | |
| joankangro | 0:e679a1bb6eca | 37 | DigitalIn pull34(PTE21); |
| joankangro | 0:e679a1bb6eca | 38 | DigitalIn pull35(PTE20); |
| joankangro | 0:e679a1bb6eca | 39 | |
| joankangro | 0:e679a1bb6eca | 40 | DigitalIn pull38(PTE3); |
| joankangro | 0:e679a1bb6eca | 41 | DigitalIn pull39(PTE2); |
| joankangro | 0:e679a1bb6eca | 42 | |
| joankangro | 0:e679a1bb6eca | 43 | DigitalIn pull47(PTB1); |
| joankangro | 0:e679a1bb6eca | 44 | DigitalIn pull48(PTB0); |
| joankangro | 0:e679a1bb6eca | 45 | DigitalIn pull49(PTA20); |
| joankangro | 0:e679a1bb6eca | 46 | |
| joankangro | 0:e679a1bb6eca | 47 | |
| joankangro | 0:e679a1bb6eca | 48 | |
| joankangro | 0:e679a1bb6eca | 49 | //motor driver outputs |
| joankangro | 0:e679a1bb6eca | 50 | DigitalOut IN4(PTC5); |
| joankangro | 0:e679a1bb6eca | 51 | DigitalOut IN3(PTC6); |
| joankangro | 0:e679a1bb6eca | 52 | DigitalOut IN2(PTC10); |
| joankangro | 0:e679a1bb6eca | 53 | DigitalOut IN1(PTC11); |
| joankangro | 0:e679a1bb6eca | 54 | PwmOut ENA(PTC9); |
| joankangro | 0:e679a1bb6eca | 55 | PwmOut ENB(PTD4); |
| joankangro | 0:e679a1bb6eca | 56 | |
| joankangro | 0:e679a1bb6eca | 57 | DigitalOut indicator(LED_BLUE); |
| joankangro | 0:e679a1bb6eca | 58 | |
| joankangro | 0:e679a1bb6eca | 59 | //constant 3.3 volts for sensors |
| joankangro | 0:e679a1bb6eca | 60 | DigitalOut constant1(PTE5); |
| joankangro | 0:e679a1bb6eca | 61 | DigitalOut constant2(PTE4); |
| joankangro | 0:e679a1bb6eca | 62 | |
| joankangro | 0:e679a1bb6eca | 63 | //line following inputs |
| joankangro | 0:e679a1bb6eca | 64 | DigitalIn leftmost(PTE23); |
| joankangro | 0:e679a1bb6eca | 65 | AnalogIn left(PTC2); |
| joankangro | 0:e679a1bb6eca | 66 | AnalogIn middle(PTB2); |
| joankangro | 0:e679a1bb6eca | 67 | AnalogIn right(PTB3); |
| joankangro | 0:e679a1bb6eca | 68 | DigitalIn rightmost(PTE22); |
| joankangro | 0:e679a1bb6eca | 69 | |
| joankangro | 0:e679a1bb6eca | 70 | //debugging led outputs |
| joankangro | 0:e679a1bb6eca | 71 | DigitalOut ledleftmost(PTE29); |
| joankangro | 0:e679a1bb6eca | 72 | DigitalOut ledright(PTB10); |
| joankangro | 0:e679a1bb6eca | 73 | DigitalOut ledmiddle(PTB11); |
| joankangro | 0:e679a1bb6eca | 74 | DigitalOut ledleft(PTB8); |
| joankangro | 0:e679a1bb6eca | 75 | DigitalOut ledrightmost(PTB9); |
| joankangro | 0:e679a1bb6eca | 76 | |
| joankangro | 0:e679a1bb6eca | 77 | int main() { |
| joankangro | 0:e679a1bb6eca | 78 | |
| joankangro | 0:e679a1bb6eca | 79 | pull1.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 80 | pull2.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 81 | //pull3.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 82 | pull4.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 83 | pull5.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 84 | pull6.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 85 | pull7.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 86 | //pull8.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 87 | pull9.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 88 | pull10.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 89 | pull11.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 90 | pull12.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 91 | pull13.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 92 | pull14.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 93 | pull15.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 94 | pull16.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 95 | pull17.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 96 | pull18.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 97 | pull19.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 98 | pull20.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 99 | pull21.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 100 | pull22.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 101 | pull23.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 102 | pull24.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 103 | pull25.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 104 | pull26.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 105 | pull27.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 106 | pull28.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 107 | pull29.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 108 | pull30.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 109 | pull34.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 110 | pull35.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 111 | pull38.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 112 | pull39.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 113 | pull47.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 114 | pull48.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 115 | pull49.mode(PullUp); |
| joankangro | 0:e679a1bb6eca | 116 | |
| joankangro | 0:e679a1bb6eca | 117 | indicator=1; |
| joankangro | 0:e679a1bb6eca | 118 | wait(0.3); |
| joankangro | 0:e679a1bb6eca | 119 | indicator=0; |
| joankangro | 0:e679a1bb6eca | 120 | wait(0.3); |
| joankangro | 0:e679a1bb6eca | 121 | indicator=1; |
| joankangro | 0:e679a1bb6eca | 122 | wait(0.3); |
| joankangro | 0:e679a1bb6eca | 123 | indicator=0; |
| joankangro | 0:e679a1bb6eca | 124 | wait(0.3); |
| joankangro | 0:e679a1bb6eca | 125 | indicator=1; |
| joankangro | 0:e679a1bb6eca | 126 | |
| joankangro | 0:e679a1bb6eca | 127 | ENA.period(0.001); |
| joankangro | 0:e679a1bb6eca | 128 | ENB.period(0.001); |
| joankangro | 0:e679a1bb6eca | 129 | |
| joankangro | 0:e679a1bb6eca | 130 | IN1=0; |
| joankangro | 0:e679a1bb6eca | 131 | IN2=1; |
| joankangro | 0:e679a1bb6eca | 132 | IN3=0; |
| joankangro | 0:e679a1bb6eca | 133 | IN4=1; |
| joankangro | 0:e679a1bb6eca | 134 | //set inital pwm values for motor driver outputs |
| joankangro | 0:e679a1bb6eca | 135 | ENA=0; |
| joankangro | 0:e679a1bb6eca | 136 | ENB=0; |
| joankangro | 0:e679a1bb6eca | 137 | |
| joankangro | 0:e679a1bb6eca | 138 | while(1) { |
| joankangro | 0:e679a1bb6eca | 139 | |
| joankangro | 0:e679a1bb6eca | 140 | |
| joankangro | 0:e679a1bb6eca | 141 | //ENA=0.5; |
| joankangro | 0:e679a1bb6eca | 142 | //ENB=0.5; |
| joankangro | 0:e679a1bb6eca | 143 | |
| joankangro | 0:e679a1bb6eca | 144 | if(middle>0.45){ |
| joankangro | 0:e679a1bb6eca | 145 | ledmiddle=1; |
| joankangro | 0:e679a1bb6eca | 146 | }else{ |
| joankangro | 0:e679a1bb6eca | 147 | ledmiddle=0; |
| joankangro | 0:e679a1bb6eca | 148 | } |
| joankangro | 0:e679a1bb6eca | 149 | |
| joankangro | 0:e679a1bb6eca | 150 | if(left>0.4){ |
| joankangro | 0:e679a1bb6eca | 151 | ledleft=1; |
| joankangro | 0:e679a1bb6eca | 152 | }else{ |
| joankangro | 0:e679a1bb6eca | 153 | ledleft=0; |
| joankangro | 0:e679a1bb6eca | 154 | } |
| joankangro | 0:e679a1bb6eca | 155 | |
| joankangro | 0:e679a1bb6eca | 156 | if(right>0.4){ |
| joankangro | 0:e679a1bb6eca | 157 | ledright=1; |
| joankangro | 0:e679a1bb6eca | 158 | }else{ |
| joankangro | 0:e679a1bb6eca | 159 | ledright=0; |
| joankangro | 0:e679a1bb6eca | 160 | } |
| joankangro | 0:e679a1bb6eca | 161 | |
| joankangro | 0:e679a1bb6eca | 162 | if(leftmost==1){ |
| joankangro | 0:e679a1bb6eca | 163 | ledleftmost=1; |
| joankangro | 0:e679a1bb6eca | 164 | }else{ |
| joankangro | 0:e679a1bb6eca | 165 | ledleftmost=0; |
| joankangro | 0:e679a1bb6eca | 166 | } |
| joankangro | 0:e679a1bb6eca | 167 | |
| joankangro | 0:e679a1bb6eca | 168 | if(rightmost==1){ |
| joankangro | 0:e679a1bb6eca | 169 | ledrightmost=1; |
| joankangro | 0:e679a1bb6eca | 170 | }else{ |
| joankangro | 0:e679a1bb6eca | 171 | ledrightmost=0; |
| joankangro | 0:e679a1bb6eca | 172 | } |
| joankangro | 0:e679a1bb6eca | 173 | |
| joankangro | 0:e679a1bb6eca | 174 | |
| joankangro | 0:e679a1bb6eca | 175 | } |
| joankangro | 0:e679a1bb6eca | 176 | } |