Diminution de la vitesse de communication 100kHz -> 10kHz + taille du message 255 -> 25.
Lecture des consignes de vitesse pour commander les moteurs
This commit is contained in:
		
							parent
							
								
									30326baef7
								
							
						
					
					
						commit
						b5b6914f2a
					
				| @ -102,6 +102,6 @@ void communication_send_message(unsigned char * message, unsigned int message_le | ||||
| } | ||||
| 
 | ||||
| int communication_read_message(unsigned char * message){ | ||||
|     i2c_lire_registre(I2C_SLAVE_ADDRESS, 0, message, 255); | ||||
|     i2c_lire_registre(I2C_SLAVE_ADDRESS, 0, message, 25); | ||||
| 
 | ||||
| } | ||||
|  | ||||
| @ -31,7 +31,7 @@ enum i2c_resultat_t i2c_transmission(uint8_t _adresse_7bits, uint8_t* emission, | ||||
| 
 | ||||
| void i2c_maitre_init(void){ | ||||
|     //stdio_init_all();
 | ||||
|     i2c_init(i2c1, 100 * 1000); | ||||
|     i2c_init(i2c1, 10 * 1000); | ||||
| 
 | ||||
|     printf("Initialisation des broches\n"); | ||||
|     for(int i=0; i++; i<=28){ | ||||
|  | ||||
							
								
								
									
										68
									
								
								main.c
									
									
									
									
									
								
							
							
						
						
									
										68
									
								
								main.c
									
									
									
									
									
								
							| @ -12,8 +12,8 @@ | ||||
| #define I2C1_SDA_PIN 18 | ||||
| #define I2C1_SCL_PIN 19 | ||||
| 
 | ||||
| // Convert te joystick value to an char value
 | ||||
| uint8_t Conversions_joystick2uint8(uint16_t joystick_value); | ||||
| // Allumage de la led verte
 | ||||
| #define PIN_LED_VERTE 25 | ||||
| 
 | ||||
| void main(void) | ||||
| { | ||||
| @ -24,35 +24,59 @@ void main(void) | ||||
| 	Init_motion_motor(); | ||||
| 	communication_init(); | ||||
| 	 | ||||
| 	uint vitesse_x = 0; | ||||
| 	uint vitesse_y = 0; | ||||
| 	gpio_init(PIN_LED_VERTE); | ||||
| 	gpio_set_function(PIN_LED_VERTE, GPIO_FUNC_PWM); | ||||
| 	pwm_set_clkdiv(4, 10000); | ||||
| 	pwm_set_wrap(4, 100); | ||||
| 	pwm_set_enabled(4, true); | ||||
| 	pwm_set_chan_level(4, PWM_CHAN_B, 100); | ||||
| 
 | ||||
| 	uint vitesse_angle = 0; | ||||
| 	uint vitesse_m1 = 0; | ||||
| 	uint vitesse_m2 = 0; | ||||
| 	uint vitesse_m3 = 0; | ||||
| 	uint vitesse_m4 = 0; | ||||
| 
 | ||||
| 	while(1){ | ||||
| 
 | ||||
| 		if (!(communication_read_message(reception) == I2C_ECHEC)) | ||||
| 		{ | ||||
| 			vitesse_x = reception[0]-128; | ||||
| 			vitesse_y = reception[1]-128; | ||||
| 			vitesse_m1 = reception[0] - 128; | ||||
| 			vitesse_m2 = reception[0] - 128; | ||||
| 			vitesse_m3 = reception[1] - 128; | ||||
| 			vitesse_m4 = reception[1] - 128; | ||||
| 
 | ||||
| 			vitesse_angle = reception[2] - 128; | ||||
| 
 | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| 			vitesse_x = 0; | ||||
| 			vitesse_y = 0; | ||||
| 			vitesse_angle = 0; | ||||
| 			vitesse_m1 = 0; | ||||
| 			vitesse_m2 = 0; | ||||
| 			vitesse_m3 = 0; | ||||
| 			vitesse_m4 = 0; | ||||
| 
 | ||||
| 			pwm_set_chan_level(4, PWM_CHAN_B, 10); | ||||
| 		 | ||||
| 		} | ||||
| 
 | ||||
| 		Motor1_speed(vitesse_x); | ||||
| 		Motor2_speed(vitesse_x); | ||||
| 		Motor3_speed(vitesse_y); | ||||
| 		Motor4_speed(vitesse_y); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| /// @brief Prend un nombre entre 0 et 4096, et sort un nombre entre 0 et 255
 | ||||
| /// @return un nombre entre 0 et 255
 | ||||
| uint8_t Conversions_joystick2uint8(uint16_t joystick_value) | ||||
| 		if(vitesse_angle != 0) | ||||
| 		{ | ||||
| 	uint8_t valeur = joystick_value / 4; | ||||
| 	return valeur; | ||||
| 			vitesse_m1 = vitesse_angle; | ||||
| 			vitesse_m2 = vitesse_angle; | ||||
| 			vitesse_m3 = vitesse_angle; | ||||
| 			vitesse_m4 = vitesse_angle; | ||||
| 		} | ||||
| 
 | ||||
| 		printf(">vitesseM1:%d\n", vitesse_m1); | ||||
| 		printf(">vitesseM2:%d\n", vitesse_m2); | ||||
| 		printf(">vitesseM3:%d\n", vitesse_m3); | ||||
| 		printf(">vitesseM4:%d\n", vitesse_m4); | ||||
| 
 | ||||
| 		Motor1_speed(vitesse_m1); | ||||
| 		Motor2_speed(vitesse_m2); | ||||
| 		Motor3_speed(vitesse_m3); | ||||
| 		Motor4_speed(vitesse_m4); | ||||
| 	} | ||||
| } | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user