Bonjour à tous,
Après avoir pas mal parcouru le site, j'en viens à poser mon 1er message.
En gros, je vous explique, ma mère se fait vieille et je souhaite lui faire un système d'alimentation de poêle à pellet de façon automatique.
La 1ère galère a été d'arriver à faire fonctionner mon capteur 12v ... Mais à force de chercher j'ai réussis
Du coup, j'ai acheté un monster motorshield mono pour piloter un moteur d'essuie glace qui entraine une vis sans fin. ( https://fr.aliexpress.com/item/1pcs-30A-Mini-VNH2SP30-Stepper-Motor-Driver-Monster-Moto-Shield-module-For-Arduino/32731836967.html )
Quand j'utilise un code tout fait sur le net (fonctionnement en entrant des valeurs dans l'explorateur), ça marche bien, mais je ne souhaite pas ce fonctionnement.
En gros, je veux que quand le capteur détecte qu'il n'y a plus rien devant son nez, on lance le moteur d'essai glace pour remplir le réservoir. Sauf que .... rien ne se passe, enfin si, le capteur détecte bien une présence mais ne lance pas le moteur. J'ai fait un serial print, je vois que mon capteur vit bien, car j'ai bien son état qui change quand je passe quelque chose devant (1,0).
Quelqu'un aurait t'il une idée ?
Merci d'avance à tous,
Baptiste
Voici mon code :
int val=0;
//MOTOR 1
#define MOTOR_A1_PIN 7 //Driver Board IN1
#define MOTOR_B1_PIN 8 //Driver Board IN2
#define PWM_MOTOR_1 5 //Driver Board PWM
#define EN_PIN_1 A0 //Driver Board EN
#define PRESENCE_PELLET 2 // Etat capteur
void setup()
{
pinMode(MOTOR_A1_PIN, OUTPUT);
pinMode(MOTOR_B1_PIN, OUTPUT);
pinMode(PWM_MOTOR_1, OUTPUT);
pinMode(EN_PIN_1, OUTPUT);
pinMode(PRESENCE_PELLET, INPUT);
};
void loop()
{
if (PRESENCE_PELLET, LOW)
{
val = digitalRead(PRESENCE_PELLET); // lire valeur du capteur
Serial.print(val);
digitalWrite(MOTOR_A1_PIN, HIGH);
digitalWrite(MOTOR_B1_PIN, HIGH);
analogWrite(PWM_MOTOR_1, 100);
}
else
{
digitalWrite(MOTOR_A1_PIN, LOW);
digitalWrite(MOTOR_B1_PIN, LOW);
}
}