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 :

[nano] Programmer une action momentanée sur un contact fermé longtemps


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 67
    Par défaut [nano] Programmer une action momentanée sur un contact fermé longtemps
    Bonjour tout le monde connait l'exemple du bouton poussoir sur Arduino. (ci-dessous) le problème est que c'est un contact au lieu d'un bouton poussoir et qu'il reste fermé longtemps (10 minutes) or j'aimerai que la led ne s'allume que 3 ou 4 seconde même si le contact reste fermé et puis s'éteigne. Mais si le contact s'ouvre et se ferme 15 minute après j'ai à nouveau la led qui s'allume 3 à 4 seconde et puis s’éteint. Quelqu'un pourrait m'aider pour solutionner ce problème? Merci

    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
    const int buttonPin = 2;  // the number of the pushbutton pin
    const int ledPin = 13;    // the number of the LED pin
     
    // variables will change:
    int buttonState = 0;  // variable for reading the pushbutton status
     
    void setup() {
      // initialize the LED pin as an output:
      pinMode(ledPin, OUTPUT);
      // initialize the pushbutton pin as an input:
      pinMode(buttonPin, INPUT);
    }
     
    void loop() {
      // read the state of the pushbutton value:
      buttonState = digitalRead(buttonPin);
     
      // check if the pushbutton is pressed. If it is, the buttonState is HIGH:
      if (buttonState == HIGH) {
        // turn LED on:
        digitalWrite(ledPin, HIGH);
      } else {
        // turn LED off:
        digitalWrite(ledPin, LOW);
      }
    }

  2. #2
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 921
    Par défaut
    Vous devez traquer le changement d’état du bouton, pas l’état en lui même.

    Dans les exemples de l’IDE il y en a un qui s’appelle "state change detection" regardez cela

    (Un code avec machine à état peut faire cela assez simplement même si ici il s’agit juste d’états très simples: repos -> allume -> en attente de retour -> repos)

    Avez vous mis un pulldown externe?

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 67
    Par défaut Merci j'ai suivi votre conseil et c'est résolu merci
    Merci j'ai suivi votre conseil et c'est résolu merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/08/2008, 11h17
  2. Script qui effectue une action automatiquement sur serveur
    Par poitierjohan dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/04/2008, 00h09
  3. Programmer une action à une heure définie
    Par BakaOnigiri dans le forum API standards et tierces
    Réponses: 12
    Dernier message: 26/10/2007, 14h21
  4. Réponses: 3
    Dernier message: 10/07/2007, 13h53
  5. Une action retardée sur un div
    Par krfa1 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 21/06/2006, 16h58

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