Probleme d'alimentation

Bonjour papoo01

Ton voltmètre peut causer de petits "parasites" qui déclenchent le processus. Ca fait, aussi avec une PULLUP externe?

Essaies le programme ci-dessous, l'entrée ent5V (pin 2) est gérée par la bibliothèque JC_Button.h, qui elle s'occupe des rebonds et autres parasites, c'est le 40 de cette ligne:

Button btnEnt5v(ent5v, 40, true, true); // definition du bouton pin, anti-rebonds, avec PULLUP, actif à LOW

De toute façon, dans ta configuration finale, avec ton long câble, tu devra passer par la case bibliothèque pour gérer le bouton poussoir, ça simplifie grandement les choses.

Il y a des indications quand au fonctionnement du programme, dans la console à 115200.
Le programme:

//***********************************************
//*************** PULDOWN ou PULLUP *************
//***********************************************

#include <JC_Button.h>

const int pin1moteur = 9;
const int pin2moteur = 10;
const int ent5v = 2;
const int led1 = 11;
int a;

// https://github.com/JChristensen/JC_Button#buttonpin-dbtime-puenable-invert
Button btnEnt5v(ent5v, 40, true, true);       // definition du bouton pin, anti-rebonds, avec PULLUP, actif à LOW

void setup()
{
	Serial.begin(115200);
	btnEnt5v.begin();     // Démarrage du bouton

	pinMode(pin1moteur, OUTPUT);
	pinMode(pin2moteur, OUTPUT);

	// Arrêter le moteur
	digitalWrite(pin1moteur,LOW);
	digitalWrite(pin2moteur,LOW);
	Serial.println("H-bridge L L");

	pinMode(led1, OUTPUT);

	Serial.println("\nFin setup()");
}

void loop()
{
	if (btnEnt5v.read())
	{
		Serial.println("ent5v ON");
		delay(2000);//attend 2 s apres la detection de la bille par le capteur
		digitalWrite(pin1moteur,HIGH);//fait tourner le moteur 1 dans un sens
		digitalWrite(pin2moteur,LOW);
		Serial.println("\tH-bridge H L");

		cligno();// fait clignoter la led pendant la descente uniquement
		digitalWrite(pin1moteur,LOW);
		digitalWrite(pin2moteur,LOW);
		Serial.println("\tH-bridge L L");

		delay(2000);// le moteur s'arrête 2 s avant de toruner dans l'autre sens
		digitalWrite(pin1moteur,LOW);
		digitalWrite(pin2moteur,HIGH);
		Serial.println("\tH-bridge LH");

		delay(7000);//ajout de 500ms a la montee pour compenser le poids et fatigue moteur
		digitalWrite(pin1moteur,LOW);
		digitalWrite(pin2moteur,LOW);
		Serial.println("\tH-bridge L L");
		a=0;
		Serial.println("\tEND");
	}
}



void cligno()
{
	Serial.println("\tClignote");
	while (a < 14) {
		digitalWrite(led1,HIGH);
		delay(250);
		digitalWrite(led1,LOW);
		delay(250);
		a=a+1;
	}
}

A+
jpbbricole