oui

Dependencies:   mbed

Committer:
Monzername
Date:
Thu Dec 20 18:57:07 2018 +0000
Revision:
0:5347a4015509
rtyh

Who changed what in which revision?

UserRevisionLine numberNew 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 }