bonjour , j'ai un petit projet pour mon école mais je n'arrive pas à le finaliser,
je dois mettre un maintien sur mes bouton poussoir pour que le moteur tourne en auto maintien quand j'appuis une fois sur le bouton mais je n'arrive pas à le faire
voici mon code :
#define LED_ROUGE_STOP 13 //indique que le moteur et a l'arret
#define LED_VERTE_SENS_1 12 //indique que le le moteur tourne dans le sens horlogique
#define LED_BLEU_SENS_2 11 //indique que le le moteur tourne dans le sens anti horlogique
#include <AccelStepper.h>
AccelStepper Mon_moteur(9, 8, 7, 6);
int monMotVitesse = 0;
const int BP1=4; // bouton qui vas faire tourner mon moteur dans sens horlogique
const int BP2=3;// bouton qui vas faire tourner mon moteur dans sens anti horlogique
const int BP3=2;// bouton qui vas stoper mon moteur
const int POUSSOIR = 2;
int out = 0;
boolean verrouillage = 0;
unsigned long int t1;
void setup()
{
pinMode(LED_ROUGE_STOP,OUTPUT);
pinMode(LED_VERTE_SENS_1,OUTPUT);
pinMode(LED_BLEU_SENS_2,OUTPUT);
pinMode(BP1,INPUT_PULLUP);
pinMode(BP2,INPUT_PULLUP);
pinMode(BP3,INPUT_PULLUP);
etatLed = false;
Mon_moteur.setMaxSpeed(600);
}
void loop()
{
if (digitalRead(BP3) == HIGH)
{
monMotVitesse = 0;
digitalWrite(LED_ROUGE_STOP,HIGH);
digitalWrite(LED_VERTE_SENS_1,LOW);
digitalWrite(LED_BLEU_SENS_2,LOW);
}
else if (digitalRead(BP1) == HIGH)
{
monMotVitesse = 600; // Marche CW (sens des aiguilles d'une montre)
digitalWrite(LED_VERTE_SENS_1,HIGH);
digitalWrite(LED_ROUGE_STOP,LOW);
digitalWrite(LED_BLEU_SENS_2,LOW);
}
else if (digitalRead(BP2) == HIGH)
{
monMotVitesse = -600; // Marche CCW (sens contraire des aiguilles d'une montre)
digitalWrite(LED_BLEU_SENS_2,HIGH);
digitalWrite(LED_VERTE_SENS_1,LOW);
digitalWrite(LED_ROUGE_STOP,LOW);
}
else
{
monMotVitesse = 0; // Arrêt
}
if (monMotVitesse != 0) // Si un bouton est pressé
{
Mon_moteur.setSpeed(monMotVitesse);
Mon_moteur.runSpeed();
}
}
si quelqun peut m'aider sa serai super