
oui
main.cpp
- Committer:
- Monzername
- Date:
- 2018-12-20
- Revision:
- 0:5347a4015509
File content as of revision 0:5347a4015509:
#include "mbed.h" DigitalIn fdc(D2); DigitalIn jack(D3); PwmOut moteur1(D6); PwmOut moteur2(D8); AnalogIn capteur1(A1); AnalogIn capteur2(A2); int main() { moteur1.period_us(100); moteur2.period_us(100); int etat=0, varJack, varFDC; while(1) { varJack=jack.read(); varFDC=fdc.read(); switch(etat) { case 0 : if ( varJack == 1 ) /* Il n'y a plus le jack */ { etat = 1 ; break; } case 1 : if ( varFDC == 0 ) { etat = 2 ; break; } case 2 : if ( varJack == 0 ) { etat = 0 ; break; } } switch(etat) { case 0 : moteur1.pulsewidth_us(0); moteur2.pulsewidth_us(0); // moteurs à l'arrêt //printf("Jack dehors"); //printf("etat 0\n\r"); break; case 1 :if ( capteur1.read() > 0.6 && capteur2.read() > 0.6 ) { moteur1.pulsewidth_us(25); moteur2.pulsewidth_us(25); // le robot roule //printf("avance\n\r"); } if ( capteur1.read() < 0.6 && capteur2.read() > 0.6 ) { moteur1.pulsewidth_us(25); moteur2.pulsewidth_us(10); // moteur 1 ralenti //printf("tourne gauche\n\r"); break; } if ( capteur1.read() > 0.6 && capteur2.read() < 0.6 ) { moteur1.pulsewidth_us(10); moteur2.pulsewidth_us(25); // moteur 2 ralenti // printf("tourne droite\n\r"); break; } if ( capteur1.read() < 0.6 && capteur2.read() < 0.6 ) { moteur1.pulsewidth_us(25); moteur2.pulsewidth_us(25); // le robot roule //printf("avance\n\r"); break; } break; case 2 : moteur1.pulsewidth_us(0); moteur2.pulsewidth_us(0); // moteurs à l'arrêt // printf("etat 2\n\r"); break; } } }