![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Projet vierge pour lancer les programmes
Dependencies: Encoder_Nucleo_32_bits PwmIn mbed
Fork of v2bis by
Revision 6:035ba44c12de, committed 2017-06-09
- Comitter:
- Cachan1
- Date:
- Fri Jun 09 11:02:09 2017 +0000
- Parent:
- 5:46c1400c2ac4
- Commit message:
- Projet vierge
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 46c1400c2ac4 -r 035ba44c12de main.cpp --- a/main.cpp Fri Jun 09 01:44:37 2017 +0000 +++ b/main.cpp Fri Jun 09 11:02:09 2017 +0000 @@ -456,333 +456,51 @@ do { Led1 = 0; Pc.printf ("\n\n\n\n\rProgramme de test\n\n\rEntrez le code du test a effectuer :\n\n"); - Pc.printf ("\r1- Capteurs Ultra Son (les 3)\n"); - Pc.printf ("\r2- Boussole et I2C\n"); - Pc.printf ("\r3- Capteurs GP2 (les 4)\n"); - Pc.printf ("\r4- Capteurs CNY70 (les 3)\n"); - Pc.printf ("\r5- VBAT\n"); - Pc.printf ("\r6- Moteur Gauche -- NON CODE --\n"); - Pc.printf ("\r7- Moteur Droit -- NON CODE --\n"); - Pc.printf ("\r8- Servomoteur\n"); - Pc.printf ("\r9- PIXY (CMUCAM5)\n\r"); + Pc.printf ("\r1- Automate de Kenzo\n"); + Pc.printf ("\r2- Automate de Jonas\n"); + Pc.printf ("\r3- Test 1\n"); + Pc.printf ("\r4- Test 2\n"); MENU_choix = Pc.getc (); - } while (((MENU_choix-'0')<1) || ((MENU_choix-'0')>9)); + } while (((MENU_choix-'0')<1) || ((MENU_choix-'0')>4)); switch (MENU_choix-'0') { case 1 : - Pc.printf ("\n\n\rTest des captreurs Ultrason\n"); + Pc.printf ("\n\n\rAutomate de Kenzo\n"); Pc.printf ("\rAppuyez sur Entree pour quitter\n"); do { - if (FlagTickLed) { - Led1 = !Led1; - FlagTickLed = 0; - } - - // Gestion des US - if (((Tick%150)==0) && FlagTick) { - Trig1 = 1; - wait_us(20); - Trig1 = 0; - FlagTick = 0; - } - - if (((Tick%150)==50) && FlagTick) { - Trig2 = 1; - wait_us(20); - Trig2 = 0; - FlagTick = 0; - } - - if (((Tick%150)==100) && FlagTick) { - Trig3 = 1; - wait_us(20); - Trig3 = 0; - FlagTick = 0; - } - - if (FlagUS1==1) { - Pc.printf ("\rUS 1 = %04d mm", (int)DistUS1); - FlagUS1 = 0; - } - - if (FlagUS2==1) { - Pc.printf ("\r\t\t\tUS 2 = %04d mm", (int)DistUS2); - FlagUS2 = 0; - } - - if (FlagUS3==1) { - Pc.printf ("\r\t\t\t\t\t\tUS 3 = %04d mm", (int)DistUS3); - FlagUS3 = 0; - } - } while(!Pc.readable()); - MENU_choix = Pc.getc(); - break; - - case 2 : - Pc.printf ("\n\n\rBoussole\n"); - Pc.printf ("\rAppuyez sur Entree pour quitter\n"); - - Pc.printf ("\n\rVerif du bus I2C :"); - I2C_check = Bus_I2C.write (BOUSSOLE_adress,BOUSSOLE_status,1,false); - if (I2C_check==0) { - Pc.printf (" OK\n"); - Bus_I2C.write(BOUSSOLE_adress,BOUSSOLE_status, 1, true); - Bus_I2C.read (BOUSSOLE_adress,I2C_registerValue,4); - Pc.printf ("\rVersion Firmware boussole : %03d\n", I2C_registerValue[0]); - } else { - Pc.printf (" FAIL\n"); - } - - BOUSSOLE_periode = PWMB.period(); - Pc.printf ("\rVerif de la PWM :"); - if ((BOUSSOLE_periode > 0.11) || (BOUSSOLE_periode < 0.06)) { - Pc.printf (" FAIL\n\n"); - } else { - Pc.printf (" OK\n\n"); - BOUSSOLE_check = 0; - } - - do { - if (FlagTickLed) { - Led1 = !Led1; - FlagTickLed = 0; - } - - if (((Tick%150)==0) && FlagTick) { - FlagTick = 0; - if (BOUSSOLE_check==0) { - CAP_PWM = ((PWMB.pulsewidth()*1000)-1)*10; - Pc.printf ("\r PWM = %4.1lf", CAP_PWM); - } - if (I2C_check==0) { - Bus_I2C.write(BOUSSOLE_adress,BOUSSOLE_status, 1, true); - Bus_I2C.read (BOUSSOLE_adress,I2C_registerValue,4); - CAP_I2C = (double)(((unsigned short)I2C_registerValue[2]<<8)+(unsigned short)I2C_registerValue[3])/10.0; - Pc.printf ("\r\t\t I2C = %4.1lf", CAP_I2C); - } - } - } while(!Pc.readable()); - MENU_choix = Pc.getc(); - break; - - case 3 : - Pc.printf ("\n\n\rGP2xx\n"); - Pc.printf ("\rAppuyez sur Entree pour quitter\n"); - do { - if (FlagTickLed) { - Led1 = !Led1; - FlagTickLed = 0; - - SD1_val = SD1; - SD2_val = SD2; - LD1_val = LD1; - LD2_val = LD2; - - if (SD1_val < 0.06) { - SD1_val = 0; - SD1_dist = 40; - } else { - SD1_dist = 11.611/(SD1_val*3.3-0.0237); - if (SD1_dist > 40) SD1_dist = 40; - } - - if (SD2_val < 0.06) { - SD2_val = 0; - SD2_dist = 40; - } else { - SD2_dist = 11.611/(SD2_val*3.3-0.0237); - if (SD2_dist > 40) SD2_dist = 40; - } - - if (LD1_val < 0.1) { - LD1_val = 0; - LD1_dist = 150; - } else { - LD1_dist = 59.175/(LD1_val*3.3-0.0275); - if (LD1_dist > 150) LD1_dist = 150; - } - - if (LD2_val < 0.1) { - LD2_val = 0; - LD2_dist = 150; - } else { - LD2_dist = 59.175/(LD2_val*3.3-0.0275); - if (LD2_dist > 150) LD2_dist = 150; - } - - Pc.printf ("\r SD1 = %3.1lf cm - SD2 = %3.1lf cm - LD1 = %4.1lf cm - LD2 = %4.1lf cm", SD1_dist, SD2_dist, LD1_dist, LD2_dist); } } while(!Pc.readable()); MENU_choix = Pc.getc(); break; - - case 4 : - Pc.printf ("\n\n\rCNY70\n"); - Pc.printf ("\rAppuyez sur Entree pour quitter\n"); - do { - if (FlagTickLed) { - Led1 = !Led1; - FlagTickLed = 0; - - CNY1_val = CNY1; - CNY2_val = CNY2; - CNY3_val = CNY3; - - Pc.printf ("\r CNY1 = %3.2lf V\t CNY2 = %3.2lf V\t CNY3 = %3.2lf V", CNY1_val*3.3, CNY2_val*3.3, CNY3_val*3.3); - } - } while(!Pc.readable()); - MENU_choix = Pc.getc(); - break; - - case 5 : - Pc.printf ("\n\n\rVbat\n"); + + case 2 : + Pc.printf ("\n\n\rAutomate de Jonas\n"); Pc.printf ("\rAppuyez sur Entree pour quitter\n"); do { - if (FlagTickLed) { - Led1 = !Led1; - FlagTickLed = 0; - Vbat_val = Vbat; - Pc.printf ("\rVbat = %5.3lf V", Vbat_val*3.3*4.3); - } - } while(!Pc.readable()); - MENU_choix = Pc.getc(); - break; - - case 6 : - Pc.printf ("\n\n\rMoteur Gauche\n"); - Pc.printf ("\rAppuyez sur Entree pour quitter\n"); - do { - if (FlagTickLed) { - Led1 = !Led1; - FlagTickLed = 0; - } - } while(!Pc.readable()); - MENU_choix = Pc.getc(); - break; - - case 7 : - Pc.printf ("\n\n\rMoteur Droit\n"); - Pc.printf ("\rAppuyez sur Entree pour quitter\n"); - do { - if (FlagTickLed) { - Led1 = !Led1; - FlagTickLed = 0; - wait (0.1); } } while(!Pc.readable()); MENU_choix = Pc.getc(); break; - - case 8 : - Pc.printf ("\n\n\rServo Moteur\n"); + case 3 : + Pc.printf ("\n\n\rTest 1\n"); Pc.printf ("\rAppuyez sur Entree pour quitter\n"); do { - if (FlagTickLed) { - Led1 = !Led1; - FlagTickLed = 0; - } - if (((Tick%250)==0) && FlagTick) { - if (SERVO_dir == S_monte) { - if (SERVO_angle >= SERVO_angleMAX) { - SERVO_dir = S_descente; - SERVO_angle = SERVO_angleMAX; - } else { - SERVO_angle += 5; - } - } else { - if (SERVO_angle <= SERVO_angleMIN) { - SERVO_dir = S_monte; - SERVO_angle = SERVO_angleMIN; - } else { - SERVO_angle -= 5; - } - } - SERVO_pos = (lWord)(SERVO_angle*50/9) + 1000; - Servo.pulsewidth_us(SERVO_pos); - Pc.printf ("\rAngle = %4.1lf", SERVO_angle); } } while(!Pc.readable()); MENU_choix = Pc.getc(); break; - - case 9 : - Pc.printf ("\n\n\rPixy\n"); + + case 4 : + Pc.printf ("\n\n\rTest 2\n"); Pc.printf ("\rAppuyez sur Entree pour quitter\n"); - - if (Pixy_check == 0) Pc.printf ("\n\rPIXY is ALIVE\n"); - else Pc.printf ("\n\rPIXY don't talk\n"); - do { - if (FlagPixy) { - - if (FlagPixyOverflow) { - Pc.printf ("\rSome Data were lost\n"); - FlagPixyOverflow = 0; - } - for (PIXY_objet = 0; PIXY_objet < Pixy_NMObjet; PIXY_objet++) { - Pc.printf ("\rNMobj #%hd/%hd : sig = %hd : X=%5hd, Y=%5hd (W=%5hd, H=%5hd)\n", PIXY_objet+1, Pixy_NMObjet, Pixy_NMFIFO[PIXY_rNMObjet].NMbloc.signature, Pixy_NMFIFO[PIXY_rNMObjet].NMbloc.x, Pixy_NMFIFO[PIXY_rNMObjet].NMbloc.y, Pixy_NMFIFO[PIXY_rNMObjet].NMbloc.width, Pixy_NMFIFO[PIXY_rNMObjet].NMbloc.height); - - if (PIXY_rNMObjet<19) PIXY_rNMObjet++; - else PIXY_rNMObjet = 0; - } - Pixy_NMObjet = 0; - - for (PIXY_objet = 0; PIXY_objet < Pixy_CCObjet; PIXY_objet++) { - Pc.printf ("\rCCobj #%hd/%hd : sig = %hd : X=%5hd, Y=%5hd (W=%5hd, H=%5hd)\n", PIXY_objet+1, Pixy_CCObjet, Pixy_CCFIFO[PIXY_rCCObjet].CCbloc.signature, Pixy_CCFIFO[PIXY_rCCObjet].CCbloc.x, Pixy_CCFIFO[PIXY_rCCObjet].CCbloc.y, Pixy_CCFIFO[PIXY_rCCObjet].CCbloc.width, Pixy_CCFIFO[PIXY_rCCObjet].CCbloc.height); - if (PIXY_rCCObjet<19) PIXY_rCCObjet++; - else PIXY_rCCObjet = 0; - } - val_W_balle = 0; - val_H_balle = 0; - val_carre_balle = 0; - max_val_W_balle = 0; - indice_balle = 0; - for(i=0;i<14;i++){ - val_W_balle=Pixy_NMFIFO[i].NMbloc.width; - val_H_balle=Pixy_NMFIFO[i].NMbloc.height; - - val_carre_balle = val_H_balle/val_W_balle; - - val_x_balle =Pixy_NMFIFO[i].NMbloc.x; - - - if(val_W_balle>max_val_W_balle){ - max_val_W_balle=val_W_balle; - indice_balle=i; - if(val_x_balle>130 && val_x_balle<170){ - En = 1; - SensG=0; - SensD=1; - Pwm_MG=0.5; - Pwm_MD=0.5; - } - else{ - En = 0; - } - - } - } -Pc.printf("\rNMobj sig = %hd : X=%5hd,Y=%5hd (W=%5hd, H=%5hd)\n",Pixy_NMFIFO[indice_balle].NMbloc.signature,Pixy_NMFIFO[indice_balle].NMbloc.x,Pixy_NMFIFO[indice_balle].NMbloc.y,Pixy_NMFIFO[indice_balle].NMbloc.width,Pixy_NMFIFO[indice_balle].NMbloc.height); - - Pixy_CCObjet = 0; - Pc.printf("\n\r"); - FlagPixy = 0; - wait_ms(500); - } - - if (FlagTickLed) { - Led1 = !Led1; - FlagTickLed = 0; } } while(!Pc.readable()); MENU_choix = Pc.getc(); break; - - } - } -} \ No newline at end of file + \ No newline at end of file