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 :

Faire clignoter une LED


Sujet :

Arduino

  1. #1
    Membre averti Avatar de akybienvenu
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2015
    Messages : 18
    Par défaut Faire clignoter une LED
    bonsoir
    Ecrire un programme servant à faire clignoter L1 si on appuis sur
    BP1 et à arrêter le clignotement si on appuis une deuxième fois sur BP1.


    VOICI comment j'ai procéder ,est ce que quelqu'un peut m'aider a améliorer mon programme :
    Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     #define L1 P1_0   
     #define Led1On  digitalWrite (L1,1);    // Allume
     #define Led1Off digitalWrite (L1,0);    // Eteint
     #define Led1bar digitalWrite (L1,!digitalRead(L1));
     #define BP1 P1_3
     #define BP1On  (digitalRead (BP1)==0) // actif à 0V
     #define BP1Off (digitalRead (BP1)==1) // actif à 5V
     void setup() {
        pinMode (BP1,INPUT_PULLUP );
        pinMode (L1,OUTPUT);
     }
       void loop ()  {
          if (BP1On) { Led1bar; delay (1000);} 
    }

  2. #2
    Expert confirmé
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 226
    Par défaut
    C'est du C pas de l'assembleur.
    Bon j'imagine que la plupart des personnes qui font de l'assembleur connaisse le C mais bon ça reste pas dans la bonne section...

    Je trouve que t'a un drôle de façon de coder en C (et n'oublie pas la balise code).

    Je ne sait pas vraiment ce que fait exactement pinmode.
    Par contre ça je trouve cela assez 'moche' pour du C :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (BP1On) { Led1bar; delay (1000);
    Mettre tout en define ça enlevé tout 'lisibilité'.
    Autant en assembleur les macro sont un vrai plus autant en C je trouve les macro inutile.
    Après oui on comprend facilement que si BP1On est activé alors ça allume Led1bar et en attend de 1seconde.
    C'est un choix de conception si tu 'cache' le code ne t'attend pas que les autres le lise aisément pour l'amélioré.


    Pour finir si le code marche tu attends quel retour , l'améliorer sur quel point ?

  3. #3
    Membre averti Avatar de akybienvenu
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2015
    Messages : 18
    Par défaut
    bonsoir kannagi
    je ne cache rien dans mon programme , normale si tu le trouve moche c'est par ce que je suis débutant dans cette programmation et je suis a la lettre
    le cours que j’utilise . c'est pour cette raison j'ai demander que quelqu'un m'aide a améliorer ce programme en me donnant d’éventuelle suggestion

    merci

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 210
    Billets dans le blog
    48
    Par défaut
    C'est de l'Arduino, non ?

  5. #5
    Membre averti Avatar de akybienvenu
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2015
    Messages : 18
    Par défaut
    oui oui

  6. #6
    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,

    enlève tes define. Tu y verras plus clair. Regarde l'exemple du blink().
    Code c : 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
     
    int const LED=13; // sortie led
    int const BTN = 12; // entrée bouton
    setup()
    {
       pinMode(LED, OUTPUT);
       pinMode(BTN , INPUT_PULLUP);  // résistance interne pullup
     
      digitalWrite(LED, LOW);
    }
     
    loop()
    {
         if (digitalRead(BTN) == HIGH)
         {
              // suite du code
         }
        else
        {
             // suite du code
        }
    }

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

Discussions similaires

  1. [ATmega169] Faire clignoter une LED
    Par Mazzetho dans le forum Autres architectures
    Réponses: 2
    Dernier message: 30/12/2010, 17h04
  2. Réponses: 3
    Dernier message: 26/11/2010, 16h27
  3. Ajout de fonction : faire clignoter une led
    Par Nono69690 dans le forum C
    Réponses: 16
    Dernier message: 06/06/2009, 13h37
  4. Réponses: 8
    Dernier message: 07/02/2006, 18h31
  5. Réponses: 2
    Dernier message: 13/12/2004, 15h16

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