Prog Thib Ju
Dependencies: mbed
main.cpp
- Committer:
- JulienB1
- Date:
- 2019-05-02
- Revision:
- 2:8817ad0d0a78
- Parent:
- 1:7d94c1b86ad6
- Child:
- 3:f56ec086a122
File content as of revision 2:8817ad0d0a78:
#include "mbed.h" // Definition des variables : moteur PwmOut moteur1(D10); PwmOut moteur2(D9); DigitalOut Trig(D12); InterruptIn reception(D8); Serial pc(USBTX, USBRX); Timer t2; double rc; // Definition des variables : codeur InterruptIn ComptIncr(D7); Timer t1; float tps1; float tps2; float tps3; float dt; int a; double v; float dist; float dist_securite; // Definition des fonctions : moteur void front_montant() { t2.start(); } void front_descendant() { t2.stop(); tps3=t2.read(); dist=174.9*tps3; // pc.printf("dist = %lf \r\n", dist); t2.reset(); // if (dist == 0.0000){ rc = 1;} /* if (dist<=v*2){ rc = 0;} if (dist<= v*3 && dist>v*2){ rc = 0.2;} if (dist<= v*4 && dist>v*3){ rc = 0.4;} if (dist<= v*5 && dist>v*4){ rc = 0.6;} if (dist<= v*6 && dist>v*5){ rc = 0.8;} if (dist >= v*6) { rc = 1; }*/ //if (dist<= dist_securite){rc = rc-rc/200;} //if (dist> dist_securite){rc = rc+(rc+1)/200;} //if (dist<=0.1) {rc = 0;} rc= 1; moteur2.write(rc); // pc.printf("RC = %lf \r\n", rc); } // Definition des fonctions : codeur void vitesse(); void vitesse(){ if (a == 0){ tps1 = t1.read(); } a++; if (a == 8) { tps2 = t1.read(); dt = tps2 - tps1; v = 0.0201056/dt; // (8/25)*2*pi*4.5 cm de rayon // pc.printf("v = %lf\n", v); // pc.printf("dt = %f\n", 1/dt); a = 0; dist_securite = 6*v; //printf("Vitesse = %f tours/s\n", 10/t.read()); } } // Debut du main int main() { // Initialisation Moteur t2.reset(); reception.rise(&front_montant); reception.fall(&front_descendant); moteur1.period_ms(10); moteur2.period_ms(10); moteur1.write(0); moteur2.write(0); pc.baud(9600); // Initialisation Codeur a = 0; dt = 0; t1.start(); ComptIncr.rise(&vitesse); // Debut du while while(1) { // Partie moteur Trig = 1; pc.printf("dist = %f \r\n", dist); pc.printf("RC = %lf \r\n", rc); pc.printf("v = %lf\n", v); wait(0.001); Trig =0 ; wait(0.001); // Partie codeur //printf("Compteur = %d\n", a); //printf("Temps 1 = %f\n", tps1); //printf("Temps 2 = %f\n", tps2); //printf("Test temps 1 = %f\n", b); } }