IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Amélioration de code : temporisation à ajouter


Sujet :

Arduino

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Décembre 2020
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Décembre 2020
    Messages : 13
    Par défaut Amélioration de code : temporisation à ajouter
    Bonjour,

    je souhaiterais améliorer mon code avec une temporisation qui arrête le moteur même si le fin de course n'est pas atteint au bout d'un certain temps et sans qu'il puisse se réenclencher tant que la valeur de la photorésistance n'a pas changer d'état inverse.

    Description :
    1 fin de course haut
    1 fin de course bas
    1 moteur CC
    une photorésistance qui mesure la luminosité extérieur
    un seuil sous 100 fermeture
    un seuil au dessus 150 ouverture

    Le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    // Déclaration des variables et des constantes
    int PhotoR = A0;// entrée analogique de la photorésistance
    int FinCHaut = 5;// entrée du fin de course HAUT. Une broche sur la masse l'autre sur l'arduino
    int FinCBas = 6;// entrée du fin de course BAS. Une broche sur la masse l'autre sur l'arduino
    int D2 = 2;//monté
    int D3 = 3;//descente
     
    //variable pour stocker la valeur lue après conversion
    int PhotoRLue;
     
    void setup()
    {
    Serial.begin(9600); // démarrage la liaison série entre entrée analogique et ordi
    pinMode(FinCHaut, INPUT_PULLUP); //Déclaration des contacts fin de course en entrée avec utilisation de la fonction PULLUP interne
    pinMode(FinCBas, INPUT_PULLUP); //Les Pull Up sont des résistances internes à l'arduino. //Donc de base lorsque le boutton n'est pas appuyé on lit un état haut (5V = niveau logique 1)
    }
     
    void loop()
    {
        PhotoRLue = analogRead(PhotoR); //Valeur comprise entre 0 et 1024
        Serial.print("PhotoRLue = "); //on affiche la valeur lue sur la liaison série
        Serial.print(PhotoRLue);
        Serial.println(); //on saute une ligne entre deux affichages
     
        if (PhotoRLue <100 & digitalRead(FinCBas) == 1)         //Condition : Detection de la nuit et la porte est ouverte
        //Alors on ferme la porte
        {
          while(digitalRead(FinCBas) == 1){  //Tant que la porte n'est pas fermé, le moteur tourne   
              //Fermeture
            digitalWrite(D2, LOW);
            digitalWrite(D3, HIGH);
          }
            digitalWrite(D3, LOW);    //On arrete le moteur car le contact fin de course est activé
        }   
        if (PhotoRLue > 150 && digitalRead(FinCHaut) == 0)         //Condition : Detection du jour et la porte est fermée FinCHaut = 1 signifie le boutton fin de course haut n'est pas appuyé
        {
                while(digitalRead(FinCHaut) == 0){  //Tant que la porte n'est pas ouverte, le moteur tourne   
              //Fermeture
            digitalWrite(D2, HIGH);
            digitalWrite(D3, LOW);
          }
        digitalWrite(D2, LOW);
        }
    }
    Images attachées Images attachées  

Discussions similaires

  1. [XL-2007] Comment améliorer mon code pour ajout et modification de user code
    Par capi81 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/08/2014, 14h16
  2. Code blocks ajouter un .lib
    Par gl0be dans le forum Code::Blocks
    Réponses: 7
    Dernier message: 09/09/2006, 15h04
  3. Acceder par code a Ajout/Suppression de programme
    Par Ben_Le_Cool dans le forum Delphi
    Réponses: 1
    Dernier message: 13/07/2006, 08h49
  4. [Sécurité] Comment amélioré mon code ?
    Par Nadd dans le forum Langage
    Réponses: 14
    Dernier message: 03/03/2006, 20h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo