Robot fou

Dependencies:   SRF05 mbed

Committer:
Mattei
Date:
Fri Jun 01 08:27:06 2018 +0000
Revision:
0:8b7645cd8a39
v2;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Mattei 0:8b7645cd8a39 1 #include "mbed.h"
Mattei 0:8b7645cd8a39 2 #include "func.h"
Mattei 0:8b7645cd8a39 3 #include "time.h"
Mattei 0:8b7645cd8a39 4
Mattei 0:8b7645cd8a39 5 int etat=0;
Mattei 0:8b7645cd8a39 6
Mattei 0:8b7645cd8a39 7 float distance=32;
Mattei 0:8b7645cd8a39 8 int vitrand1=(rand()%60)+20;
Mattei 0:8b7645cd8a39 9 int vitrand2=(rand()%60)+20;
Mattei 0:8b7645cd8a39 10 int cligne=rand()%15;
Mattei 0:8b7645cd8a39 11 int td12=0;
Mattei 0:8b7645cd8a39 12
Mattei 0:8b7645cd8a39 13
Mattei 0:8b7645cd8a39 14 void vite(void){
Mattei 0:8b7645cd8a39 15 MotD.pulsewidth_us(vitrand1);
Mattei 0:8b7645cd8a39 16 MotG.pulsewidth_us(vitrand2);
Mattei 0:8b7645cd8a39 17 vitrand1=(rand()%50)+30;
Mattei 0:8b7645cd8a39 18 vitrand2=(rand()%50)+30;
Mattei 0:8b7645cd8a39 19 }
Mattei 0:8b7645cd8a39 20
Mattei 0:8b7645cd8a39 21 void attend(void){
Mattei 0:8b7645cd8a39 22 if(vitrand1>vitrand2){
Mattei 0:8b7645cd8a39 23 wait(40*1/vitrand1);
Mattei 0:8b7645cd8a39 24 }
Mattei 0:8b7645cd8a39 25 else wait(40*1/vitrand2);
Mattei 0:8b7645cd8a39 26 }
Mattei 0:8b7645cd8a39 27
Mattei 0:8b7645cd8a39 28 void clignote(void){
Mattei 0:8b7645cd8a39 29 cligne=rand()%15;
Mattei 0:8b7645cd8a39 30 leds.write(cligne);
Mattei 0:8b7645cd8a39 31 }
Mattei 0:8b7645cd8a39 32
Mattei 0:8b7645cd8a39 33 void fou(void){
Mattei 0:8b7645cd8a39 34 distance=srf.read();
Mattei 0:8b7645cd8a39 35 switch(etat){
Mattei 0:8b7645cd8a39 36 case 0 : if(distance > 45){ etat = 1; }; break;
Mattei 0:8b7645cd8a39 37 case 1 : if(distance < 45){ etat = 0; }; break;
Mattei 0:8b7645cd8a39 38 }
Mattei 0:8b7645cd8a39 39
Mattei 0:8b7645cd8a39 40 switch(etat){
Mattei 0:8b7645cd8a39 41 case 0 : t2.detach();
Mattei 0:8b7645cd8a39 42 td12=0;
Mattei 0:8b7645cd8a39 43 SensG.write(1);
Mattei 0:8b7645cd8a39 44 SensD.write(0);
Mattei 0:8b7645cd8a39 45 MotD.pulsewidth_us(50);
Mattei 0:8b7645cd8a39 46 MotG.pulsewidth_us(50);
Mattei 0:8b7645cd8a39 47 attend();
Mattei 0:8b7645cd8a39 48 break;
Mattei 0:8b7645cd8a39 49 case 1 : if(td12==0){SensD.write(0); SensG.write(0); t2.attach(&vite,0.5); td12=1;} break;
Mattei 0:8b7645cd8a39 50 }
Mattei 0:8b7645cd8a39 51 /* printf("sensrand = %d\n\r",sensrand);
Mattei 0:8b7645cd8a39 52 printf("vitrand = %d\n\r",vitrand);
Mattei 0:8b7645cd8a39 53 */
Mattei 0:8b7645cd8a39 54
Mattei 0:8b7645cd8a39 55 printf("Tension Batterie:%g\n\r",(Vbat.read()*13300*3.3)/3300);
Mattei 0:8b7645cd8a39 56 //wait(1);
Mattei 0:8b7645cd8a39 57 wait_ms(30);
Mattei 0:8b7645cd8a39 58 }