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 :

Problème programme arduino


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2016
    Messages : 6
    Par défaut Problème programme arduino
    Bonjour, j'ai un problème dans un de mes programmes que je n'arrive pas à faire fonctionner correctement à cause d'un petit détail que je n'arrive pas à corriger. Si qqun pouvais m'aider ce serait vraiment cool, merci...

    Tout simplement, il y a 2 interrupteurs (IP et BR), et une led,

    IP est toujours enfoncé (NL 0), dès qu'il est relaché (NL1), la led doit s'allumer, et rester allumée peut importe si il est enfoncé / relaché par la suite

    BR est toujours sur 1, dès qu'il passe sur 0, la led doit s’éteindre (donc revenir au début de la boucle).

    C'est une sorte de capteur de présence, si qqun entre dans une pièce et ouvre la porte, l’interrupteur sera relâché donc allumera une led, le seul moyen d'éteindre la led, est que ce soit le propriétaire lui même qui éteigne la led et donc savoir si oui ou non, qqun est entré avant lui.

    Le pb dans mon programme, est que soit BR n'est même pas reconnu, et que peut importe l'action, il n'influe pas sur le programme, ou sinon, il y a une boucle infinie, et la Led clignote sans arrêts...

    (Pour la moindre question, j'ai skype, ainsi qu'une adresse mail)

    Je vous laisse 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
    const int IP=12;
    const int led=8;
    const int BR = 11;
     
    int etatIP;
    int saveIP = 0;
    int etatBR;
     
    void setup() 
    {
     
      pinMode(IP, INPUT);   // IP est une entrée
      pinMode(led,OUTPUT);  // led est une sortie
      pinMode(BR, INPUT);   // BR est une entrée
      Serial.begin(9600);   // initialisation du port de communication entre la carte arduino et le pc
    }
     
    void loop() 
    {
     
      etatIP = digitalRead(IP);
        if(etatIP == 0)
          {  
            ++saveIP;
            Serial.println(saveIP);
            delay(5);
          }
     
        if(saveIP > 1)
          {
            digitalWrite(led, HIGH);
          }
     
     
     etatBR = digitalRead(BR);   // "etatBR" prend la valeur "digitalRead(BR)
      if(etatBR == 1)      // Si on appuis sur le bouton 
        {
     
         saveIP = 0;    
         delay(500);
         digitalWrite(led, LOW);  // On éteint la led
        }
    }

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Bonjour,

    comme l'a suggéré f-leb dans cette discussion tu dois utiliser les interruptions : la détection du front te permettra de basculer l'état de ta led.
    Exemple : https://www.arduino.cc/en/Reference/AttachInterrupt

    Ensuite, peut-être que tu as un problème de câblage de tes interrupteurs. As-tu pensé de mettre une résistance en pull-down ou pull-up pour fixer un état sur tes entrées lorsque tes interrupteurs sont ouverts ?

Discussions similaires

  1. Problème Programmation MFC
    Par xyz dans le forum MFC
    Réponses: 17
    Dernier message: 13/05/2006, 20h00
  2. Problème Programmation MFC
    Par xyz dans le forum Réseau
    Réponses: 3
    Dernier message: 13/05/2006, 14h36
  3. [Problème] Programme huit reines
    Par thegreatbato dans le forum C
    Réponses: 20
    Dernier message: 04/05/2006, 22h04
  4. Problème programmation : log
    Par rootsl dans le forum C
    Réponses: 4
    Dernier message: 29/03/2006, 11h26
  5. Problème programmation objet
    Par Contrec dans le forum MFC
    Réponses: 54
    Dernier message: 30/03/2005, 11h30

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