Aller au contenu


Hervé

Inscrit(e) (le) 19 nov. 2021
Déconnecté Dernière activité déc. 04 2021 09:55
-----

#114687 Souci de codage pour un débutant

Posté par Hervé - 21 novembre 2021 - 12:26

Bravo Mike118, ça fonctionne :yahoo: :yahoo: :yahoo:

Il manquait juste le ; derrière le 30000

 

Un grand merci !!!




#114668 Souci de codage pour un débutant

Posté par Hervé - 19 novembre 2021 - 02:13

Le contexte : je suis menuisier, donc complètement débutant. Je souhaite faire une alimentation automatique pour mes animaux qui doivent être nourris deux fois par jour (vers 9h et vers 18h). Je part d'un programmateur classique à insérer dans une prise 220 volts. Ce programmateur va émettre un signal à 9h qui va durer 15 mn et idem pour le soir. Ce signal sera transformé en 5 volts CC par l'intermédiaire d'un relais.

 

La partie opérative : Je gère sans soucis cette partie au moyen d'une trémie, une vis pour le déplacement des granulés associée à un moteur 12 volts courant continu.

 

La difficulté rencontrée : Le signal en entrée sur l'arduino Uno dure 15 mn et je ne peux modifier cette donnée. Le temps de fonctionnement de l'alimenteur est d'environ 30 secondes. Pour le codage j'ai bien tenté plusieurs solutions mais sans succès.

Le delay(500) n'est pas pris en compte vu que le signal de l'horloge est toujours haut.

Comment écrire le code pour que le delay 500 soit appliqué malgré que le signal d'origine est haut pendant 15 mn ?

 

Merci de votre aide

 

const int entree_signal_horlog = 5;  
const int sortie_signal_moteur =  13;  

int variable_position_signal_horloge = 0;   

void setup() {  
  
  pinMode(entree_signal_horlog, INPUT);
  pinMode(sortie_signal_moteur, OUTPUT);
}

void loop() {    
    variable_position_signal_horloge = digitalRead(entree_signal_horlog);

    if (variable_position_signal_horloge == HIGH) {
    
    digitalWrite(sortie_signal_moteur, HIGH);
    delay(500); 
    digitalWrite(sortie_signal_moteur, LOW);    
  } 
}