PROGRAMME URGENT

Ton compteur va fonctionner qu'un fois

Le reste devrait fonctionner.

Coment ca, il devrait fonctionner le nombre de fois que j'aurais mis dans while?

Pour l'arrêt du moteur:

const byte PIN_VITESSE = 3; // Broche de contrôle du moteur par PWM
int compteur = 0;

// Fonction d'initialisation hardware
void setup() {
    pinMode(PIN_VITESSE, OUTPUT); // Mise en sortie de la broche connecté au moteur
}
void loop() {
while(compteur < 1) {
analogWrite(PIN_VITESSE, 12); // Génération d'un signal PWM contrôlant la vitesse du moteur a 300t/mins
delay(300000); // le moteur reste allumé 5mins
compteur++; 
if (compteur == 1)
{
analogWrite(PIN_VITESSE, 0)
}
}
}

ou sinon:

const byte PIN_VITESSE = 3; // Broche de contrôle du moteur par PWM
int compteur = 0;

// Fonction d'initialisation hardware
void setup() {
    pinMode(PIN_VITESSE, OUTPUT); // Mise en sortie de la broche connecté au moteur
}
void loop() {
while(compteur < 1) {
analogWrite(PIN_VITESSE, 12); // Génération d'un signal PWM contrôlant la vitesse du moteur a 300t/mins
delay(300000); // le moteur reste allumé 5mins
compteur++; 
if (compteur == 1)
{
analogWrite(PIN_VITESSE, 0)
}
else 
{
while(compteur < 1) {
analogWrite(PIN_VITESSE, 12); // Génération d'un signal PWM contrôlant la vitesse du moteur a 300t/mins
delay(300000); // le moteur reste allumé 5mins
compteur++; 
}
}
}

Mais je pencherais plutôt pour le second code, qui est plus général et qui marchera beaucoup mieux.