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
ER2_Robot/suivi.cpp@1:96ef3513d0d5, 2019-05-24 (annotated)
- Committer:
- joehatier
- Date:
- Fri May 24 10:57:58 2019 +0000
- Revision:
- 1:96ef3513d0d5
- Parent:
- 0:1a801a2a7b4b
- Child:
- 2:73e8dca28f51
Ligne;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
joehatier | 0:1a801a2a7b4b | 1 | #include "mbed.h" |
joehatier | 0:1a801a2a7b4b | 2 | #include "SRF05.h" |
joehatier | 0:1a801a2a7b4b | 3 | #include "fonction.h" |
joehatier | 0:1a801a2a7b4b | 4 | #define ARRET 0 |
joehatier | 0:1a801a2a7b4b | 5 | #define ROULE 1 |
joehatier | 1:96ef3513d0d5 | 6 | #define DIST 2 |
joehatier | 0:1a801a2a7b4b | 7 | #include "SRF05.h" |
joehatier | 0:1a801a2a7b4b | 8 | |
joehatier | 0:1a801a2a7b4b | 9 | float srf; |
joehatier | 0:1a801a2a7b4b | 10 | |
joehatier | 0:1a801a2a7b4b | 11 | int main() |
joehatier | 0:1a801a2a7b4b | 12 | { |
joehatier | 1:96ef3513d0d5 | 13 | float cptG,cptD,E,k=19,EG,ED/*,bat*/; |
joehatier | 0:1a801a2a7b4b | 14 | PWMG.period_us(100); |
joehatier | 0:1a801a2a7b4b | 15 | PWMD.period_us(100); |
joehatier | 1:96ef3513d0d5 | 16 | int /*J,S,*/etat=ARRET/*,bpg,bpd*/; |
joehatier | 1:96ef3513d0d5 | 17 | //BpD.mode(PullUp); |
joehatier | 1:96ef3513d0d5 | 18 | //BpG.mode(PullUp); |
joehatier | 0:1a801a2a7b4b | 19 | |
joehatier | 0:1a801a2a7b4b | 20 | while(1) { |
joehatier | 0:1a801a2a7b4b | 21 | |
joehatier | 0:1a801a2a7b4b | 22 | wait(0.01); |
joehatier | 0:1a801a2a7b4b | 23 | //bat=BAT.read()*4*3.3; |
joehatier | 0:1a801a2a7b4b | 24 | //bat=7/bat; |
joehatier | 0:1a801a2a7b4b | 25 | //J=Jack.read(); |
joehatier | 0:1a801a2a7b4b | 26 | //S=Switch.read(); |
joehatier | 0:1a801a2a7b4b | 27 | cptG=CPTG.read(); // Lis les valeurs capteurs |
joehatier | 0:1a801a2a7b4b | 28 | cptD=CPTD.read(); // Lis les valeurs capteurs |
joehatier | 0:1a801a2a7b4b | 29 | srf=SRF.read(); |
joehatier | 0:1a801a2a7b4b | 30 | |
joehatier | 0:1a801a2a7b4b | 31 | E=cptG-cptD; |
joehatier | 0:1a801a2a7b4b | 32 | EG=40/**bat*/+k*E; |
joehatier | 0:1a801a2a7b4b | 33 | ED=40/**bat*/-k*E; |
joehatier | 0:1a801a2a7b4b | 34 | if(EG<0) EG=0; |
joehatier | 0:1a801a2a7b4b | 35 | if(EG>100) EG=100; |
joehatier | 0:1a801a2a7b4b | 36 | if(ED<0) ED=0; |
joehatier | 0:1a801a2a7b4b | 37 | if(ED>100) ED=100; |
joehatier | 0:1a801a2a7b4b | 38 | |
joehatier | 0:1a801a2a7b4b | 39 | switch(etat) { |
joehatier | 0:1a801a2a7b4b | 40 | case ARRET : // A l'arret |
joehatier | 0:1a801a2a7b4b | 41 | if(srf>=25) etat=ROULE; |
joehatier | 0:1a801a2a7b4b | 42 | break; |
joehatier | 1:96ef3513d0d5 | 43 | case ROULE : |
joehatier | 1:96ef3513d0d5 | 44 | if(25<srf<=29) etat=DIST; // Jack débranché => robot avance |
joehatier | 0:1a801a2a7b4b | 45 | if(srf<=25) etat=ARRET; |
joehatier | 0:1a801a2a7b4b | 46 | break; |
joehatier | 1:96ef3513d0d5 | 47 | case DIST : // A l'arret |
joehatier | 1:96ef3513d0d5 | 48 | if(srf>=25) etat=ROULE; |
joehatier | 1:96ef3513d0d5 | 49 | break; |
joehatier | 0:1a801a2a7b4b | 50 | |
joehatier | 0:1a801a2a7b4b | 51 | |
joehatier | 0:1a801a2a7b4b | 52 | |
joehatier | 0:1a801a2a7b4b | 53 | } |
joehatier | 0:1a801a2a7b4b | 54 | |
joehatier | 0:1a801a2a7b4b | 55 | switch(etat) { |
joehatier | 0:1a801a2a7b4b | 56 | |
joehatier | 0:1a801a2a7b4b | 57 | case ARRET : // A l'arret |
joehatier | 0:1a801a2a7b4b | 58 | roule_motdroit(0,0); |
joehatier | 0:1a801a2a7b4b | 59 | roule_motgauche(0,0); |
joehatier | 0:1a801a2a7b4b | 60 | break; |
joehatier | 0:1a801a2a7b4b | 61 | |
joehatier | 0:1a801a2a7b4b | 62 | case ROULE : |
joehatier | 0:1a801a2a7b4b | 63 | roule_motgauche(0,(int)(EG)); |
joehatier | 0:1a801a2a7b4b | 64 | roule_motdroit(0,(int)(ED)); // Roule |
joehatier | 0:1a801a2a7b4b | 65 | printf("Measured : %.1f\n\r", srf); |
joehatier | 0:1a801a2a7b4b | 66 | break; |
joehatier | 1:96ef3513d0d5 | 67 | case DIST : |
joehatier | 1:96ef3513d0d5 | 68 | roule_motgauche(0,(int)(EG-10)); |
joehatier | 1:96ef3513d0d5 | 69 | roule_motdroit(0,(int)(ED-10)); |
joehatier | 1:96ef3513d0d5 | 70 | break; |
joehatier | 0:1a801a2a7b4b | 71 | } |
joehatier | 0:1a801a2a7b4b | 72 | |
joehatier | 0:1a801a2a7b4b | 73 | } |
joehatier | 0:1a801a2a7b4b | 74 | |
joehatier | 0:1a801a2a7b4b | 75 | } |
joehatier | 0:1a801a2a7b4b | 76 | |
joehatier | 0:1a801a2a7b4b | 77 |