Robot fou

Dependencies:   SRF05 mbed

Revision:
0:8b7645cd8a39
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/func.cpp	Fri Jun 01 08:27:06 2018 +0000
@@ -0,0 +1,58 @@
+#include "mbed.h"
+#include "func.h"
+#include "time.h"
+
+int etat=0;
+
+float distance=32;
+int vitrand1=(rand()%60)+20;
+int vitrand2=(rand()%60)+20;
+int cligne=rand()%15;
+int td12=0;
+
+
+void vite(void){
+    MotD.pulsewidth_us(vitrand1);
+    MotG.pulsewidth_us(vitrand2);
+    vitrand1=(rand()%50)+30;
+    vitrand2=(rand()%50)+30;
+}
+
+void attend(void){
+    if(vitrand1>vitrand2){
+        wait(40*1/vitrand1);
+    }
+    else wait(40*1/vitrand2);
+}
+
+void clignote(void){
+    cligne=rand()%15;
+    leds.write(cligne);
+}
+
+void fou(void){
+    distance=srf.read();
+    switch(etat){
+            case 0 : if(distance > 45){ etat = 1; }; break;
+            case 1 : if(distance < 45){ etat = 0; }; break;
+        }
+        
+    switch(etat){
+            case 0 : t2.detach();
+                     td12=0;
+                     SensG.write(1);
+                     SensD.write(0);
+                     MotD.pulsewidth_us(50);
+                     MotG.pulsewidth_us(50);
+                     attend();
+                     break;
+            case 1 : if(td12==0){SensD.write(0); SensG.write(0); t2.attach(&vite,0.5); td12=1;} break;
+        }
+       /* printf("sensrand = %d\n\r",sensrand);
+        printf("vitrand = %d\n\r",vitrand);
+        */
+        
+        printf("Tension Batterie:%g\n\r",(Vbat.read()*13300*3.3)/3300);
+        //wait(1);
+        wait_ms(30);
+}
\ No newline at end of file