[Programmation] Trappe de poulailler à ouverture automatique
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

Trappe de poulailler à ouverture automatique



  1. #1
    invite911e5d30

    Red face Trappe de poulailler à ouverture automatique


    ------

    Bonjour à tout le monde,
    Je me permets de venir sur ce forum car j'ai un problème avec mon programme arduino de ma porte de poulailler, en effet rien ne se passe comme je veux .
    Voila ce que je veux que le programme fasse:
    Quand lumière est superieure a un certain seuil la porte s'ouvre jusqu'a ce que le fdc haut passe à LOW. JOUR
    Quand lumière est inferieure a un certain seuil la porte s'ouvre jusqu'a ce que le fdc bas passe à LOW. NUIT
    J'ai aussi la possibilité de commander la porte manuellement avec 2 BP.
    Au secours , qui peut m"aider ?!!!!!!

    Code:
    //Ports de commande du moteur A du l298N
     int IN1 = 8;
     int IN2 = 9;
    
    
    //Bouton poussoir pour commande manuelle
    int BPouverture = 2;
    int BPfermeture = 3;
    int capteurBas = 4;
    int capteurHaut = 5;
    
    int valeurLDR ;
    int valeurBPouverture ;
    int valeurBPfermeture ;
    int valeurcapteurBas ;
    int valeurcapteurHaut ;
    
    
    void setup() {
       // Initialisation du port série
        Serial.begin(9600);
      
       // Configuration des ports en mode "sortie"
        pinMode(IN1, OUTPUT);
        pinMode(IN2, OUTPUT);
      //  pinMode(enablePin, OUTPUT);
        pinMode(2,INPUT_PULLUP);
        pinMode(3,INPUT_PULLUP);
        pinMode(4,INPUT_PULLUP);
        pinMode(5,INPUT_PULLUP);
       
    }
    
    void loop() {
      
       int valeurLDR = analogRead(A1);
       int valeurBPouverture = digitalRead(2);
       int valeurBPfermeture = digitalRead(3);
       int valeurcapteurBas = digitalRead(4);
       int valeurcapteurHaut = digitalRead(5);
       Serial.println(valeurLDR);
       delay(500);
       Serial.println(valeurcapteurBas);
       delay(500);
       Serial.println(valeurcapteurHaut);
       delay(500);
       Serial.println(valeurBPouverture);
       delay(500);
       Serial.println(valeurBPfermeture);
       
       if(valeurBPouverture==LOW && valeurBPfermeture==HIGH)  { // Si BPouverture appuyé et si BPfermeture pas appuyé
        
       digitalWrite(IN1, 1);   // La trappe s'ouvre
       digitalWrite(IN2, 0);
       while(valeurcapteurHaut==HIGH);
     
       }
       
       if(valeurBPfermeture==LOW && valeurBPouverture==HIGH)  { // Si BPfermeture appuyé et si BPouverture pas appuyé
        
       digitalWrite(IN1, 0);   // La trappe se ferme
       digitalWrite(IN2, 1);
       while(valeurcapteurBas==HIGH);
      
       }
    
        if(valeurLDR > 600 && valeurcapteurBas==LOW)  
        { // Si jour et  si capteurBas appuyé 
       digitalWrite(IN1, 1);   // La trappe s'ouvre
       digitalWrite(IN2, 0);
        while(valeurcapteurHaut==HIGH);
        }
          
       
       
       if(valeurLDR < 600 && valeurcapteurHaut==LOW)  
       { // Si jour et  si capteurHaut appuyé 
       digitalWrite(IN1, 0);   // La trappe se ferme
       digitalWrite(IN2, 1);
       while(valeurcapteurBas==HIGH);
       }
         
    
    }

    -----
    Images attachées Images attachées  
    Dernière modification par Antoane ; 03/07/2019 à 23h43. Motif: Conversion docx -> png

  2. #2
    David71120

    Re : Trappe de poulailler à ouverture automatique

    Bonjour,

    Je suis loin d'être un pro de la prog arduino, mais plusieurs trucs me sautent aux yeux:

    - A l'initialisation, tu ne fixes pas de valeur à tes sorties 1 et 2, ce qui fait qu'elles peuvent démarrer dans n'importe quel état ( haut ou bas)
    - Tu utilises la même valeur de seuil haut et bas pour ta LDR, ce qui fait qu'au moment de la journée où ce seuil sera atteint, il est fort probable que pendant quelques minutes, la luminosité joue le yoyo autour de cette valeur, et donc ta porte va faire n'importe quoi, tu devrais plutôt mettre des valeurs de seuil différentes comme 500 et 800 par exemple, de manière à créer un hystérésis.
    Dernière chose, tu dis que ça ne va pas comme tu veux, mais tu n'expliques pas le problème
    Il y a surement d'autres choses, mais les pro répondront.
    David
    Il n'y a que 10 sortes de personnes, celles qui savent lire le binaire et les autres.

  3. #3
    David71120

    Re : Trappe de poulailler à ouverture automatique

    Encore une chose, je ne suis vraiment pas certain que la boucle While s'utilise de cette façon, mais ça, les pro de la prog te répondrons bien mieux que moi.
    Il n'y a que 10 sortes de personnes, celles qui savent lire le binaire et les autres.

  4. #4
    Seb.26

    Re : Trappe de poulailler à ouverture automatique

    Fais un automate d’état, c'est fait pour ça.

    A vue de pif :

    > 5 états : init / monter / ouvert / descendre / fermé
    > quelques entrées : (jour / nuit) / FdC-haut / FdC-bas / BP-monter / BP-descendre
    > quelques sortie : porte-monter / porte-descendre

    tu te fais un joli dessin et tu code tout ça ... et ça marche ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  5. A voir en vidéo sur Futura
  6. #5
    invite911e5d30

    Re : Trappe de poulailler à ouverture automatique

    Merci tout le monde pour vos réponses , j'ai réussi à faire ce que je voulais , en fait il me manquait une valeur de référence , à savoir jour=0 dans la partie initialisation.
    Je mettrai mon code dès que je rentre

  7. #6
    nornand

    Re : Trappe de poulailler à ouverture automatique

    Bjr les fin de courses peuvent êtres du type boolean

Discussions similaires

  1. Trappe de poulailler à ouverture automatique
    Par inviteab2df5a2 dans le forum Électronique
    Réponses: 58
    Dernier message: 28/04/2024, 14h59
  2. Ouverture automatique trappe poulailler
    Par invitea6944434 dans le forum Technologies
    Réponses: 43
    Dernier message: 14/12/2015, 13h38
  3. TPE Ouverture automatique trappe poulailler
    Par inviteb61adc48 dans le forum TPE / TIPE et autres travaux
    Réponses: 18
    Dernier message: 12/12/2013, 09h28
  4. Ouverture automatique d'une trappe de poulailler
    Par inviteb61adc48 dans le forum Bricolage et décoration
    Réponses: 3
    Dernier message: 12/12/2013, 08h24
  5. Trappe automatique de poulailler
    Par invite613ba7ad dans le forum Électronique
    Réponses: 7
    Dernier message: 05/07/2009, 18h18
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...