Fonction pour savoir si le robot est dans une zone de dépose
This commit is contained in:
		
							parent
							
								
									aea5d9814d
								
							
						
					
					
						commit
						6e9e77dd5d
					
				| @ -21,6 +21,7 @@ | ||||
| #include "Moteurs.h" | ||||
| #include "QEI.h" | ||||
| #include "Robot_config.h" | ||||
| #include "Score.h" | ||||
| #include "Servomoteur.h" | ||||
| #include "spi_nb.h" | ||||
| #include "Strategie.h" | ||||
| @ -162,6 +163,11 @@ int main() { | ||||
|                 case MATCH_ARRET_EN_COURS: | ||||
|                     commande_vitesse_stop(); | ||||
|                     i2c_annexe_active_deguisement(); | ||||
|                     Score_set_funny_action(); | ||||
|                     if(Robot_est_dans_zone_depose()){ | ||||
|                         Score_set_pieds_dans_plat(); | ||||
|                     } | ||||
| 
 | ||||
|                     if (timer_match_ms > 100000){ | ||||
|                         statu_match = MATCH_TERMINEE; | ||||
|                     } | ||||
|  | ||||
							
								
								
									
										56
									
								
								Strategie.c
									
									
									
									
									
								
							
							
						
						
									
										56
									
								
								Strategie.c
									
									
									
									
									
								
							| @ -369,6 +369,62 @@ int Robot_est_dans_zone_cerise_haut(enum couleur_t couleur){ | ||||
|     return 0; | ||||
| } | ||||
| 
 | ||||
| /// @brief Renvoi 1 si le robot intersect une zone de dépose
 | ||||
| /// @param  couleur du robot
 | ||||
| /// @return 1 si oui, 0 si non.
 | ||||
| int Robot_est_dans_zone_depose(enum couleur_t couleur){ | ||||
|     float x_mm, y_mm; | ||||
|     x_mm = Localisation_get().x_mm; | ||||
|     y_mm = Localisation_get().y_mm; | ||||
|     if(couleur == COULEUR_BLEU){ | ||||
|         // Zone 1
 | ||||
|         if(x_mm < 550 && y_mm > 2450){ | ||||
|             return 1; | ||||
|         } | ||||
|         // Zone 2
 | ||||
|         if(x_mm < 550 && y_mm > 800 && y_mm < 1450){ | ||||
|             return 1; | ||||
|         } | ||||
|         // Zone 3
 | ||||
|         if(x_mm > 400 && x_mm < 1050 && y_mm < 550){ | ||||
|             return 1; | ||||
|         } | ||||
|         // Zone 4
 | ||||
|         if(x_mm > 1450 && y_mm < 550){ | ||||
|             return 1; | ||||
|         } | ||||
|         // Zone 5
 | ||||
|         if(x_mm > 1450 && y_mm > 1550 && y_mm < 2200){ | ||||
|             return 1; | ||||
|         } | ||||
|         return 0; | ||||
| 
 | ||||
|     }else{ | ||||
|         // VERT
 | ||||
|         // Zone 1
 | ||||
|         if(x_mm > (2000 - 550) && y_mm > 2450){ | ||||
|             return 1; | ||||
|         } | ||||
|         // Zone 2
 | ||||
|         if(x_mm > (2000 - 550) && y_mm > 800 && y_mm < 1450){ | ||||
|             return 1; | ||||
|         } | ||||
|         // Zone 3
 | ||||
|         if(x_mm < (2000 - 400) && x_mm > 2000 - 1050 && y_mm < 550){ | ||||
|             return 1; | ||||
|         } | ||||
|         // Zone 4
 | ||||
|         if(x_mm < (2000 - 1450) && y_mm < 550){ | ||||
|             return 1; | ||||
|         } | ||||
|         // Zone 5
 | ||||
|         if(x_mm < (2000 - 1450) && y_mm > 1550 && y_mm < 2200){ | ||||
|             return 1; | ||||
|         } | ||||
|         return 0; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| enum etat_action_t lance_balles_dans_panier(enum couleur_t couleur, uint32_t step_ms, uint32_t nb_cerises){ | ||||
|     static enum { | ||||
|         CALAGE_PANIER_1, | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user