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@0:2cedfd753855, 2020-08-02 (annotated)
- Committer:
- Makoppe
- Date:
- Sun Aug 02 13:34:15 2020 +0000
- Revision:
- 0:2cedfd753855
a;
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| Makoppe | 0:2cedfd753855 | 1 | #include "mbed.h" |
| Makoppe | 0:2cedfd753855 | 2 | |
| Makoppe | 0:2cedfd753855 | 3 | AnalogIn IN(A0); |
| Makoppe | 0:2cedfd753855 | 4 | DigitalOut MotorP(D2); |
| Makoppe | 0:2cedfd753855 | 5 | DigitalOut MotorM(D3); |
| Makoppe | 0:2cedfd753855 | 6 | |
| Makoppe | 0:2cedfd753855 | 7 | int main() { |
| Makoppe | 0:2cedfd753855 | 8 | double InVal; |
| Makoppe | 0:2cedfd753855 | 9 | double AbsVal; |
| Makoppe | 0:2cedfd753855 | 10 | int PwmPeriod=420;//423 |
| Makoppe | 0:2cedfd753855 | 11 | while(1) { |
| Makoppe | 0:2cedfd753855 | 12 | InVal=IN.read(); |
| Makoppe | 0:2cedfd753855 | 13 | InVal=((InVal-0.5)*2.0); |
| Makoppe | 0:2cedfd753855 | 14 | AbsVal=fabs(InVal); |
| Makoppe | 0:2cedfd753855 | 15 | |
| Makoppe | 0:2cedfd753855 | 16 | |
| Makoppe | 0:2cedfd753855 | 17 | PwmPeriod=3325; // |
| Makoppe | 0:2cedfd753855 | 18 | if(AbsVal>0.9){ // |
| Makoppe | 0:2cedfd753855 | 19 | PwmPeriod=3325; |
| Makoppe | 0:2cedfd753855 | 20 | }else if(AbsVal>0.8){ |
| Makoppe | 0:2cedfd753855 | 21 | PwmPeriod=1640; |
| Makoppe | 0:2cedfd753855 | 22 | }else if(AbsVal>0.16){ |
| Makoppe | 0:2cedfd753855 | 23 | PwmPeriod=1050; |
| Makoppe | 0:2cedfd753855 | 24 | }else if(AbsVal>0.11){ // |
| Makoppe | 0:2cedfd753855 | 25 | PwmPeriod=1640; |
| Makoppe | 0:2cedfd753855 | 26 | }else if(AbsVal>0.06){ |
| Makoppe | 0:2cedfd753855 | 27 | PwmPeriod=3325; |
| Makoppe | 0:2cedfd753855 | 28 | }else if(AbsVal>0.01){ |
| Makoppe | 0:2cedfd753855 | 29 | PwmPeriod=6663; |
| Makoppe | 0:2cedfd753855 | 30 | } |
| Makoppe | 0:2cedfd753855 | 31 | //printf("%f ",InVal); |
| Makoppe | 0:2cedfd753855 | 32 | |
| Makoppe | 0:2cedfd753855 | 33 | |
| Makoppe | 0:2cedfd753855 | 34 | if(InVal>0){ |
| Makoppe | 0:2cedfd753855 | 35 | MotorP=1; |
| Makoppe | 0:2cedfd753855 | 36 | MotorM=0; |
| Makoppe | 0:2cedfd753855 | 37 | wait_us(PwmPeriod*InVal); |
| Makoppe | 0:2cedfd753855 | 38 | MotorP=0; |
| Makoppe | 0:2cedfd753855 | 39 | MotorM=0; |
| Makoppe | 0:2cedfd753855 | 40 | wait_us(PwmPeriod-PwmPeriod*InVal); |
| Makoppe | 0:2cedfd753855 | 41 | }else if(InVal<0){ |
| Makoppe | 0:2cedfd753855 | 42 | MotorP=0; |
| Makoppe | 0:2cedfd753855 | 43 | MotorM=1; |
| Makoppe | 0:2cedfd753855 | 44 | wait_us(PwmPeriod*-InVal); |
| Makoppe | 0:2cedfd753855 | 45 | MotorP=0; |
| Makoppe | 0:2cedfd753855 | 46 | MotorM=0; |
| Makoppe | 0:2cedfd753855 | 47 | wait_us(PwmPeriod-PwmPeriod*-InVal); |
| Makoppe | 0:2cedfd753855 | 48 | }else{ |
| Makoppe | 0:2cedfd753855 | 49 | MotorP=0; |
| Makoppe | 0:2cedfd753855 | 50 | MotorM=0; |
| Makoppe | 0:2cedfd753855 | 51 | wait_us(PwmPeriod); |
| Makoppe | 0:2cedfd753855 | 52 | } |
| Makoppe | 0:2cedfd753855 | 53 | //printf("%d\n\r",(int)(PwmPeriod*InVal)); |
| Makoppe | 0:2cedfd753855 | 54 | } |
| Makoppe | 0:2cedfd753855 | 55 | } |