init

Dependencies:   mbed pixy

Files at this revision

API Documentation at this revision

Comitter:
qj604184
Date:
Fri Jun 09 23:20:19 2017 +0000
Commit message:
cachanNRC

Changed in this revision

fct.cpp Show annotated file Show diff for this revision Revisions of this file
fct.h Show annotated file Show diff for this revision Revisions of this file
globals.cpp Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
pixy.lib Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 98d2bcd7ae29 fct.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fct.cpp	Fri Jun 09 23:20:19 2017 +0000
@@ -0,0 +1,37 @@
+#include "mbed.h"
+#include "fct.h"
+
+void Vitmoteur(float VitG, float VitD)
+{
+    if(VitG<0) {
+        VitG=-1*VitG;
+        cmdI2C=cmdI2C&0xfe; //passe le moteur gauche en marche arriere 00000001
+    } else {
+        cmdI2C=cmdI2C|0x01; // marche avant 11110111 mot gauche
+    }
+    if(VitD<0) {
+        VitD=-1*VitD;
+        cmdI2C=cmdI2C&0xfd; //passe le moteur gauche en marche arriere 00000100
+    } else {
+        cmdI2C=cmdI2C|0x02;//marche avant 11111011 mot droit
+    }
+    monI2C.write(ADR_PCF,&cmdI2C,1);
+    MotG.pulsewidth(((100-VitG)/100.0)*PERIOD);
+    MotD.pulsewidth(((100-VitD)/100.0)*PERIOD);
+}
+void init(void)
+{
+    if(C1.read()>0.5) {
+        captL1=0;
+    } else {
+        captL1=1;
+    }
+    if(C3.read()>0.5) {
+        captL3=0;
+    } else {
+        captL3=1;
+    }
+    
+    
+
+}
diff -r 000000000000 -r 98d2bcd7ae29 fct.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fct.h	Fri Jun 09 23:20:19 2017 +0000
@@ -0,0 +1,48 @@
+#ifndef FCT_H
+#define FCT_H
+extern char cmdI2C ;// CS vbat x x x SensG SensD CS_G CD_D, sens moteur positif CS à 0.
+extern PwmOut MotD;
+extern PwmOut MotG;
+extern int captL1;
+extern int captL3;
+//GLOBALES
+extern BusOut leds;
+
+extern Serial CamPixy;
+
+extern DigitalOut trig1;//US1
+extern InterruptIn echo1;
+extern DigitalOut trig2;//US2
+extern InterruptIn echo2;
+extern DigitalOut trig3;//US3
+extern InterruptIn echo3;
+
+extern I2C monI2C;
+extern PwmOut Servo;
+
+extern AnalogIn SD_1; // capteur de distance courte droite
+extern AnalogIn SD_2; // capteur de distance courte gauche
+extern AnalogIn LD_1; // capteur de distance longue droite
+extern AnalogIn LD_2; // capteur de distance longue gauche
+
+extern InterruptIn I_D;
+extern InterruptIn I_G;
+
+extern SPI spi;
+
+extern AnalogIn C1;// capteur de ligne blanche 1
+extern AnalogIn C3;// capteur de ligne blanche 3 
+//-- le capteur de ligne 2 est sur un MCP3201(spi) dont le CS est sur p13
+extern DigitalOut CS_C2;
+
+
+
+//CONSTANTES
+#define ADR_PCF 0x70
+#define PERIOD 0.0001
+
+
+//PROTOTYPES
+void init(void);
+void Vitmoteur(float,float);
+#endif
diff -r 000000000000 -r 98d2bcd7ae29 globals.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/globals.cpp	Fri Jun 09 23:20:19 2017 +0000
@@ -0,0 +1,37 @@
+#include "mbed.h"
+char cmdI2C=0xF3 ;// CS vbat x x x SensG SensD CS_G CD_D, sens moteur positif CS à 0.
+PwmOut MotD(p25);
+PwmOut MotG(p22);
+
+BusOut leds(LED1,LED2,LED3,LED4);
+
+Serial CamPixy(p28,p27);
+
+DigitalOut trig1(p11);//US1
+InterruptIn echo1(p12);
+DigitalOut trig2(p8);//US2
+InterruptIn echo2(p24);
+DigitalOut trig3(p26);//US3
+InterruptIn echo3(p23);
+
+I2C monI2C(p9,p10);
+PwmOut Servo(p21);
+
+AnalogIn SD_1(p19); // capteur de distance courte droite
+AnalogIn SD_2(p20); // capteur de distance courte gauche
+AnalogIn LD_1(p17); // capteur de distance longue droite
+AnalogIn LD_2(p18); // capteur de distance longue gauche
+
+InterruptIn I_D(p30);
+InterruptIn I_G(p29);
+
+SPI spi(p5,p6,p7);
+
+AnalogIn C1(p15);// capteur de ligne blanche 1
+AnalogIn C3(p16);// capteur de ligne blanche 3 
+//-- le capteur de ligne 2 est sur un MCP3201(spi) dont le CS est sur p13
+DigitalOut CS_C2(p13);
+
+
+int captL1;
+int captL3;
\ No newline at end of file
diff -r 000000000000 -r 98d2bcd7ae29 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Jun 09 23:20:19 2017 +0000
@@ -0,0 +1,73 @@
+#include "mbed.h"
+#include "fct.h"
+#include "Pixy.h"
+#include "PixyLink.h"
+
+#define V_max 25
+#define V_recherche 25
+#define K 0.1
+DigitalOut cs(p13);
+DigitalIn bp(p14);
+Serial pc (USBTX,USBRX);
+
+
+
+int main()
+{
+    bp.mode(PullUp);
+    MotG.period(PERIOD);
+    MotD.period(PERIOD);
+    Vitmoteur(0.0,0.0);
+    Pixy pixy= Pixy(p28,p27);
+    pixy.setSerialOutput(&pc);
+    int j=0;
+    uint16_t blocks;
+    float taille,errorX;
+    pc.printf("alive");
+    
+
+    while(1) {
+        init();// recupere valeurs capteurs ligne blanche
+        pc.printf("capt1= %d capt2= %d\n\r",captL1,captL3);
+        wait(0.5);
+        if(captL1==0 && captL3==0)
+        {
+            Vitmoteur(20,20);
+            }
+        else{
+            Vitmoteur(-20,-20);
+            wait(5);
+            }
+            
+}
+}
+//printf("ok");
+
+//MotD.pulsewidth(0.5*PERIOD);
+//MotG.pulsewidth(0.5*PERIOD);
+//MotD.pulsewidth(0.00005);
+
+    /* blocks=pixy.getBlocks();
+     if(blocks) {
+         taille = pixy.blocks[j].width*pixy.blocks[j].height;
+         errorX=(160-pixy.blocks[j].x);
+         Vitmoteur(V_max-K*errorX,V_max+K*errorX);
+         //pc.printf("ok");
+         //Vitmoteur(1,-1);
+     } else {
+         //pc.printf("beug");
+         Vitmoteur(0.0,0.0);
+     }
+
+     if(errorX>V_max) {
+         errorX=V_max;
+     }
+     if(errorX<-V_max) {
+         errorX=-V_max;
+     }
+     Vitmoteur(V_max-K*errorX,V_max+K*errorX);
+
+    }*/
+
+
+
diff -r 000000000000 -r 98d2bcd7ae29 mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Fri Jun 09 23:20:19 2017 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/0f02307a0877
\ No newline at end of file
diff -r 000000000000 -r 98d2bcd7ae29 pixy.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pixy.lib	Fri Jun 09 23:20:19 2017 +0000
@@ -0,0 +1,1 @@
+http://developer.mbed.org/users/pirottealex/code/pixy/#e7cb59aaf759