
oui
main.cpp@0:5347a4015509, 2018-12-20 (annotated)
- Committer:
- Monzername
- Date:
- Thu Dec 20 18:57:07 2018 +0000
- Revision:
- 0:5347a4015509
rtyh
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Monzername | 0:5347a4015509 | 1 | #include "mbed.h" |
Monzername | 0:5347a4015509 | 2 | |
Monzername | 0:5347a4015509 | 3 | DigitalIn fdc(D2); |
Monzername | 0:5347a4015509 | 4 | DigitalIn jack(D3); |
Monzername | 0:5347a4015509 | 5 | PwmOut moteur1(D6); |
Monzername | 0:5347a4015509 | 6 | PwmOut moteur2(D8); |
Monzername | 0:5347a4015509 | 7 | AnalogIn capteur1(A1); |
Monzername | 0:5347a4015509 | 8 | AnalogIn capteur2(A2); |
Monzername | 0:5347a4015509 | 9 | |
Monzername | 0:5347a4015509 | 10 | int main() |
Monzername | 0:5347a4015509 | 11 | { |
Monzername | 0:5347a4015509 | 12 | moteur1.period_us(100); |
Monzername | 0:5347a4015509 | 13 | moteur2.period_us(100); |
Monzername | 0:5347a4015509 | 14 | int etat=0, varJack, varFDC; |
Monzername | 0:5347a4015509 | 15 | while(1) |
Monzername | 0:5347a4015509 | 16 | { |
Monzername | 0:5347a4015509 | 17 | varJack=jack.read(); |
Monzername | 0:5347a4015509 | 18 | varFDC=fdc.read(); |
Monzername | 0:5347a4015509 | 19 | switch(etat) |
Monzername | 0:5347a4015509 | 20 | { |
Monzername | 0:5347a4015509 | 21 | case 0 : if ( varJack == 1 ) /* Il n'y a plus le jack */ |
Monzername | 0:5347a4015509 | 22 | { |
Monzername | 0:5347a4015509 | 23 | etat = 1 ; |
Monzername | 0:5347a4015509 | 24 | break; |
Monzername | 0:5347a4015509 | 25 | } |
Monzername | 0:5347a4015509 | 26 | case 1 : if ( varFDC == 0 ) |
Monzername | 0:5347a4015509 | 27 | { |
Monzername | 0:5347a4015509 | 28 | etat = 2 ; |
Monzername | 0:5347a4015509 | 29 | break; |
Monzername | 0:5347a4015509 | 30 | } |
Monzername | 0:5347a4015509 | 31 | case 2 : if ( varJack == 0 ) |
Monzername | 0:5347a4015509 | 32 | { |
Monzername | 0:5347a4015509 | 33 | etat = 0 ; |
Monzername | 0:5347a4015509 | 34 | break; |
Monzername | 0:5347a4015509 | 35 | } |
Monzername | 0:5347a4015509 | 36 | |
Monzername | 0:5347a4015509 | 37 | } |
Monzername | 0:5347a4015509 | 38 | |
Monzername | 0:5347a4015509 | 39 | switch(etat) |
Monzername | 0:5347a4015509 | 40 | { |
Monzername | 0:5347a4015509 | 41 | case 0 : |
Monzername | 0:5347a4015509 | 42 | moteur1.pulsewidth_us(0); |
Monzername | 0:5347a4015509 | 43 | moteur2.pulsewidth_us(0); // moteurs à l'arrêt |
Monzername | 0:5347a4015509 | 44 | //printf("Jack dehors"); |
Monzername | 0:5347a4015509 | 45 | //printf("etat 0\n\r"); |
Monzername | 0:5347a4015509 | 46 | break; |
Monzername | 0:5347a4015509 | 47 | case 1 :if ( capteur1.read() > 0.6 && capteur2.read() > 0.6 ) |
Monzername | 0:5347a4015509 | 48 | { |
Monzername | 0:5347a4015509 | 49 | moteur1.pulsewidth_us(25); |
Monzername | 0:5347a4015509 | 50 | moteur2.pulsewidth_us(25); // le robot roule |
Monzername | 0:5347a4015509 | 51 | //printf("avance\n\r"); |
Monzername | 0:5347a4015509 | 52 | } |
Monzername | 0:5347a4015509 | 53 | if ( capteur1.read() < 0.6 && capteur2.read() > 0.6 ) |
Monzername | 0:5347a4015509 | 54 | { |
Monzername | 0:5347a4015509 | 55 | moteur1.pulsewidth_us(25); |
Monzername | 0:5347a4015509 | 56 | moteur2.pulsewidth_us(10); // moteur 1 ralenti |
Monzername | 0:5347a4015509 | 57 | //printf("tourne gauche\n\r"); |
Monzername | 0:5347a4015509 | 58 | break; |
Monzername | 0:5347a4015509 | 59 | } |
Monzername | 0:5347a4015509 | 60 | if ( capteur1.read() > 0.6 && capteur2.read() < 0.6 ) |
Monzername | 0:5347a4015509 | 61 | { |
Monzername | 0:5347a4015509 | 62 | moteur1.pulsewidth_us(10); |
Monzername | 0:5347a4015509 | 63 | moteur2.pulsewidth_us(25); // moteur 2 ralenti |
Monzername | 0:5347a4015509 | 64 | // printf("tourne droite\n\r"); |
Monzername | 0:5347a4015509 | 65 | break; |
Monzername | 0:5347a4015509 | 66 | } |
Monzername | 0:5347a4015509 | 67 | if ( capteur1.read() < 0.6 && capteur2.read() < 0.6 ) |
Monzername | 0:5347a4015509 | 68 | { |
Monzername | 0:5347a4015509 | 69 | moteur1.pulsewidth_us(25); |
Monzername | 0:5347a4015509 | 70 | moteur2.pulsewidth_us(25); // le robot roule |
Monzername | 0:5347a4015509 | 71 | //printf("avance\n\r"); |
Monzername | 0:5347a4015509 | 72 | break; |
Monzername | 0:5347a4015509 | 73 | } |
Monzername | 0:5347a4015509 | 74 | break; |
Monzername | 0:5347a4015509 | 75 | case 2 : |
Monzername | 0:5347a4015509 | 76 | moteur1.pulsewidth_us(0); |
Monzername | 0:5347a4015509 | 77 | moteur2.pulsewidth_us(0); // moteurs à l'arrêt |
Monzername | 0:5347a4015509 | 78 | // printf("etat 2\n\r"); |
Monzername | 0:5347a4015509 | 79 | break; |
Monzername | 0:5347a4015509 | 80 | } |
Monzername | 0:5347a4015509 | 81 | |
Monzername | 0:5347a4015509 | 82 | |
Monzername | 0:5347a4015509 | 83 | } |
Monzername | 0:5347a4015509 | 84 | } |