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 :

Besoin d'une correction


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club Avatar de GlouGlouLaGirafe
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Avril 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2021
    Messages : 6
    Par défaut Besoin d'une correction
    Bonjours à tous,

    Voila je viens de passer mais 43 Lune et j'ai eu envie d'apprendre la programmation arduino du coup je suis sur un exercice très simple faire clignoter un feu tricolore.

    Enoncer:
    je vous propose un classique du genre : simuler un feu tricolore.
    Le feu doit suivre la séquence suivante : feu vert allumé pendant 3 secondes, feu orange allumé pendant 1 seconde, feu rouge allumé pendant 3 secondes.

    se que je n'arrive pas à comprendre c'est que l'on me dit que mon code est faux ! alors que quand je téléverse le programme cela fait exactement se que demande l'énoncer ! par contre quand je vais un copier coller du code de correction j'ai pas du tout le bon résultat.

    donc si un professionnel pourrait m'expliquer car je n'arrive pas à comprendre pourquoi il est faut ?

    En vous remerciant.

    j'ai donc coder le code suivant:

    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
     
    void setup() {
      pinMode(10, OUTPUT);
      pinMode(11, OUTPUT);
      pinMode(12, OUTPUT);
    }
     
    void loop() {
     
      digitalWrite(10, HIGH);
      delay(3000);
      digitalWrite(10,LOW);
     
      digitalWrite(11, HIGH);
      delay(1000);
      digitalWrite(11,LOW);
     
      digitalWrite(12, HIGH);
      delay(3000);
      digitalWrite(12,LOW);
     
      delay(1000);
    }
    Corriger du 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
     
    void setup()
    {
     
      //initialisation des modes
      pinMode(10, OUTPUT);
      pinMode(11, OUTPUT);
      pinMode(12, OUTPUT);
     
    }
    void loop()
    {
      digitalWrite(10, HIGH);
      digitalWrite(11, LOW);
      digitalWrite(12, LOW);
      delay(3000);
     
      digitalWrite(10, LOW);
      digitalWrite(11, HIGH);
      digitalWrite(12, LOW);
      delay(1000);
     
      digitalWrite(10, LOW);
      digitalWrite(11, LOW);
      digitalWrite(12, HIGH);
      delay(1000);
     
    }

  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,

    franchement ton code est correct.
    Par contre, dans le corrigé, il y a des redondances. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      digitalWrite(10, HIGH);
      digitalWrite(11, LOW);
      digitalWrite(12, LOW);
      delay(3000);
     
      digitalWrite(10, LOW);
      digitalWrite(11, HIGH);
      digitalWrite(12, LOW);
      delay(1000);
    explique moi l'intérêt de deux digitalWrite(12, LOW); alors que le pin 12 n'est jamais passé à HIGH ?

    Je considère que ton code est meilleur que la correction. Tu peux ajouter un point : dans la fonction setup() après la déclaration de tes sorties, initialise les :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    void setup() {
      pinMode(10, OUTPUT);
      pinMode(11, OUTPUT);
      pinMode(12, OUTPUT);
     
      digitalWrite(10, LOW);
      digitalWrite(11, LOW);
      digitalWrite(12, LOW);
     
    }

  3. #3
    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
    Tu peux ajouter un point : dans la fonction setup() après la déclaration de tes sorties, initialise les :
    et encore, les pin sont en INPUT par défaut et à LOW. Lorsque l'on passe une pin en sortie par pinMode(), elle reste à LOW. Donc ce n'est pas nécessaire

    je suis d'accord donc que votre code est meilleur que la correction.

    c'est que l'on me dit que mon code est faux
    qui vous dit cela ? est-ce que c'est un site où il faut soumettre le code exactement comme ils l'attendent ?

  4. #4
    Nouveau membre du Club Avatar de GlouGlouLaGirafe
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Avril 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2021
    Messages : 6
    Par défaut
    Merci bien pour t'a réponse d'où l'intérêt de venir poser les questions au bonne personne et sur le bon support les groupes fb c'est pratique mais pas forcément fiable.

    Merci bien pour ta remarque en fin de message j'en prend note.😁👍

  5. #5
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 282
    Par défaut
    Bonsoir à tous

    Ton code a néanmoins une petite erreur
    Ta dernière instruction (ligne 22) ne devrait pas être, elle introduit un affichage éteint d'une seconde, alors que pour un feu on s'attend qu'il y ai toujours l'une des couleurs allumée (encore que dans mon pays, on devrait avoir un moment avec deux couleurs allumées.)

    Le code du corrigé c'est ceinture et bretelle. Après chaque délai, il configure le feu au complet, alors que ton code ne met à jour que ce qui est nécessaire. En fonction de la philosophie et des évolutions à prévoir une ou l'autre solution sera préférée.

    Bonne suite sur developpez.net

    Delias

  6. #6
    Nouveau membre du Club Avatar de GlouGlouLaGirafe
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Avril 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2021
    Messages : 6
    Par défaut
    Merci pour ces précisions 😁.

    En se qui concerne le corrigé c'est un cours qui se trouve sur le site même DEVELOPPEZ.COM

    apres cela reste un simple exercice mais j'ai posé la question car en 1er lieux j'avais demandé un correction sur un groupe fb, mais la réponse étant incomplète et surtout je ne comprenait pas pourquoi on me disait que c'était faux s'en autres explication.

    Quoi qu'il en soit merci pour cette réponse je vais essayer de pousser l'exercice un peu plus loin en mettant en application vos remarques et observations en fessant un feu tricolore fonctionnel et programmables.

    Merci d'avoir pris le temps de m'expliquer tous cela.😁👍

    Citation Envoyé par Delias Voir le message
    Bonsoir à tous

    Ton code a néanmoins une petite erreur
    Ta dernière instruction (ligne 22) ne devrait pas être, elle introduit un affichage éteint d'une seconde, alors que pour un feu on s'attend qu'il y ai toujours l'une des couleurs allumée (encore que dans mon pays, on devrait avoir un moment avec deux couleurs allumées.)

    Le code du corrigé c'est ceinture et bretelle. Après chaque délai, il configure le feu au complet, alors que ton code ne met à jour que ce qui est nécessaire. En fonction de la philosophie et des évolutions à prévoir une ou l'autre solution sera préférée.

    Bonne suite sur developpez.net

    Delias

  7. #7
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 282
    Par défaut
    Mais tu ne dis pas tout:
    Le code proposé est volontairement non optimisé et pourrait être raccourci, mais il est encore trop tôt pour s’aventurer dans cette voie-là à ce stade.
    Delias

  8. #8
    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
    Bien vu

  9. #9
    Nouveau membre du Club Avatar de GlouGlouLaGirafe
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Avril 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2021
    Messages : 6
    Par défaut
    Dsl ce n'était pas volontaire ke me suis concentré sur le code et pas sur la suite néanmoins je ne remettait pas le corrigé en question 😁 juste le fait que l'on me disait que mon code n'était pas juste et que je ne comprenait pas pourquoi au vue que cela fonctionné correctement.😅

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/03/2015, 17h43
  2. [Android] ALGOID - App d'apprentissage de la programmation et des algorithmes
    Par CyaNnOrangehead dans le forum Mon application mobile
    Réponses: 50
    Dernier message: 23/03/2014, 15h58
  3. comment commencer l'apprentissage de la programmation web
    Par Developpeur87 dans le forum Débuter
    Réponses: 1
    Dernier message: 01/12/2008, 08h38

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