Moteur qui tourne dans les deux sens

This commit is contained in:
Club robotique de Riom 2023-12-15 18:33:44 +01:00
parent 4f8ba36580
commit 20481afb70
2 changed files with 69 additions and 7 deletions

View File

@ -19,6 +19,7 @@ target_include_directories(Mon_Projet PRIVATE Mon_Projet_ULD_API/inc/)
target_link_libraries(Mon_Projet target_link_libraries(Mon_Projet
hardware_i2c hardware_i2c
hardware_uart hardware_uart
hardware_pwm
pico_stdlib pico_stdlib
pico_multicore pico_multicore
) )

69
main.c
View File

@ -4,13 +4,74 @@
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
#include "pico/stdlib.h" #include "pico/stdlib.h"
#include "hardware/pwm.h"
#include <stdio.h> #include <stdio.h>
void main(void) #define LED_VERTE 25
#define PIN_VITESSE_M1 2
#define PIN_SENS_A_M1 0
#define PIN_SENS_B_M1 1
int M1_INITIALISE()
{
gpio_init(PIN_VITESSE_M1);
gpio_init(PIN_SENS_A_M1);
gpio_init(PIN_SENS_B_M1);
gpio_set_dir(PIN_VITESSE_M1, GPIO_OUT);
gpio_set_dir(PIN_SENS_A_M1, GPIO_OUT);
gpio_set_dir(PIN_SENS_B_M1, GPIO_OUT);
}
int M1_AVANCE()
{
gpio_put(PIN_VITESSE_M1, 1);
gpio_put(PIN_SENS_A_M1, 1);
gpio_put(PIN_SENS_B_M1, 0);
}
int M1_RECULE()
{
gpio_put(PIN_VITESSE_M1, 1);
gpio_put(PIN_SENS_A_M1, 0);
gpio_put(PIN_SENS_B_M1, 1);
}
void main()
{ {
stdio_init_all(); stdio_init_all();
while(1){
printf("Exemple\n"); // CLignottement LED
sleep_ms(1000); gpio_set_function(LED_VERTE, GPIO_FUNC_PWM);
pwm_set_wrap(4, 100);
pwm_set_chan_level(4, PWM_CHAN_B, 25);
pwm_set_enabled(4, true);
//Moteur 1
M1_INITIALISE();
while(1)
{
M1_AVANCE();
sleep_ms(3000);
M1_RECULE();
sleep_ms(3000);
} }
} }