Partage
  • Partager sur Facebook
  • Partager sur Twitter

MOOC Arduino

Programmez vos premiers montages avec Arduino

    21 décembre 2017 à 17:13:43

    Bonjour,

    J'en suis à cette partie du cours : https://openclassrooms.com/courses/programmez-vos-premiers-montages-avec-arduino/le-moteur-a-courant-continu-partie-2-le-pont-en-h-et-les-circuits-integres#/id/r-3285353

    J'ai réalisé le montage et le programme permettant de faire tourner 2 moteurs. Le problème est que mes deux moteurs sont différents : J'ai un moteur 3V 5V et un autre 3V 6V. Le premier tourne mais pas le second. De plus, quand je branche le second moteur directement entre le 5V et le gnd de l'arduino, il tourne bien mais quand je le branche à la pile, il tourne quand il a envie. Je pense donc que le problème vient de la pile. J'utilise une pile 9V de chez SAMSIENG. J'ai acheté le starter kit UNO R3 mais il n'y avait pas de fil permettant de brancher la pile sur la breadboard. J'ai donc coupé le fil permettant de brancher la pile sur l'arduino et j'ai dénudé les deux fils.

    Pouvez-vous me confirmer que le problème vient de la pile ?

    • Partager sur Facebook
    • Partager sur Twitter
      1 janvier 2018 à 19:10:08

      Bonjour,

      J'aimerai qu'on m'aide car je suis asser bon en code ...

      Mais cependant le logiciel a un problème que je rencontre souvent :

      Arduino : 1.8.5 (Windows 8.1), Carte : "Arduino/Genuino Uno"


      c:\program files (x86)\arduino\hardware\tools\avr\bin\../lib/gcc/avr/4.9.2/../../../../avr/bin/ar.exe: unable to rename 'core\core.a'; reason: Permission denied


      exit status 1

      Erreur de compilation pour la carte Arduino/Genuino Uno


      Ce rapport pourrait être plus détaillé avec

      l'option "Afficher les résultats détaillés de la compilation"

      activée dans Fichier -> Préférence




      Même en faisant ce qui est écrit dans le paragraphe d'avant sa ne m'avance pas,

      Si vous pourier m'aider,

      Merci d'avance.

      • Partager sur Facebook
      • Partager sur Twitter
        3 janvier 2018 à 18:14:57

        Bonjour, j'utilise un arduino uno (modèle chinois) je l'ai branché et j'ai installé l'IDE sur un windows 10, tout fonctionnait parfaitement et mon pc arrivait à reconnaître l'arduino, seulement voilà maintenant je suis sur un windows 7 et la carte n'est pas reconnue, elle s'affiche sous le nom de "USB2.0-Serial", j'ai testé différentes façons d'installer les drivers mais à chaque fois une erreur nommé "erreur 10" apparaît et ma carte est détecté mais le point d'exclamation reste et mon IDE ne la reconnait pas, si quelqu’un pourrait m'aider s'il-vous-plait.

        -
        Edité par Len-KunYami 3 janvier 2018 à 18:15:32

        • Partager sur Facebook
        • Partager sur Twitter
          8 janvier 2018 à 14:51:08

          ça serait bien un bouton qui nous amène à une version imprimable du cours...

          -
          Edité par NicoPecastaings 8 janvier 2018 à 14:52:15

          • Partager sur Facebook
          • Partager sur Twitter
            15 janvier 2018 à 13:51:33

            Bonjour

            Dans le cours "utilisez-les-fonctions-et-les-nombres-aleatoires" , exercice sur le dé numérique à 5 LEDS:

            Est ce possible (et peut-être plus judicieux) de placer la fonction randomSeed dans le bloc loop au lieu du bloc setup, le setup n'étant exécuté qu'une fois contrairement au loop ?

            • Partager sur Facebook
            • Partager sur Twitter
              15 janvier 2018 à 17:22:11

              un randomSeed, c'est fait pour reinitialiser le générateur de nombres aléatoires.  Il n'y a pas d'interet à le faire plusieurs fois, encore moins dans la fonction loop(), où ce dont on a besoin c'est de tirer des nombres.

              -
              Edité par michelbillaud 15 janvier 2018 à 17:22:30

              • Partager sur Facebook
              • Partager sur Twitter
                16 janvier 2018 à 10:50:18

                Ok merci, il faudrait que je creuse ce que fait exactement cette fonction en "interne"...
                • Partager sur Facebook
                • Partager sur Twitter
                  16 janvier 2018 à 11:02:20

                  Il y a un moment où il faut penser à chercher les documentations, plutot que de poster pour dire qu'on va peut être le faire :-)

                  https://www.arduino.cc/reference/en/language/functions/random-numbers/randomseed/

                  • Partager sur Facebook
                  • Partager sur Twitter
                    21 janvier 2018 à 18:55:09

                    Bonjour,

                    Je sèche un brin sur le deuxième quizz.

                    J'ai envoyé un mail à l'enseignant, resté sans réponse (pas l'enseignant, le mail :-) ! )

                    Voici un copié/collé.

                    Où est-ce que je me plante ? Je ne veux pas spécialement la "bonne" réponse,mais de quoi y voir plus clair.

                    Merci d'avance.

                    "Bonjour,

                    1/ Je réfléchis à la question 7 du deuxième quizz et je m'aperçois que dans toutes les déclarations, il manque le point-virgule après chaque déclaration de variable.

                    Du coup, aucun proposition ne me semble déclarée correctement. Fais-je erreur ?

                    Si oui, où donc ?

                    Si non, comment répondre ?

                    2/ si je rajoute à chaque déclaration le point-virgule, la dernière proposition est correctement déclarée, certaines autres souffrant d'un manque de définition de "a" et de "b" ce qui pourrait être fait avant le void. Ce qui voudrait dire que la fonction est bien déclarée mais incomplète :il lui manque des informations pour fonctionner.

                    DERNIERE PROPOSITION :

                    « void setup() {

                      // put your setup code here, to run once:

                    int digitalRead(int n);

                    {

                       return 5;

                    }

                    }

                    void loop() {

                      // put your main code here, to run repeatedly:

                    } » fonctionne

                    « void setup() {

                      // put your setup code here, to run once:

                    }

                    void loop() {

                      // put your main code here, to run repeatedly:

                    int digitalRead(int n);

                    {

                       return 5;

                    }

                    } » fonctionne aussi
                     

                    PROPOSITIONS 2 et 4

                    En rajoutant la définition des variables a et b avant le void, les propositions 2 et 4 fonctionnent également

                    « int a;

                    int b;

                    void setup() {

                      // put your setup code here, to run once:

                    int maxi(a,b);

                    {

                       if (a>=b)

                          return a;

                       else

                       return b;

                    }

                    }

                    void loop() {

                      // put your main code here, to run repeatedly:

                    } » fonctionne (proposition 2)
                     

                    « int a;

                    int b;

                    void setup() {

                      // put your setup code here, to run once:

                    int maxi(int a, int b);

                    {

                       if(a>=b)

                          return a;

                       return b;

                    }

                    }

                    void loop() {

                      // put your main code here, to run repeatedly:

                    } » fonctionne (proposition 4)
                     

                    EN CONCLUSION, j’y perds un peu mon latin et peut-être que je me pose trop de questions …

                    In fine, la dernière proposition me semble la bonne.

                    ET j’aimerais avoir votre avis sur mon « cheminement réflexif » !

                    Bien à vous"

                    • Partager sur Facebook
                    • Partager sur Twitter
                      27 janvier 2018 à 22:54:20

                      Bonjour,

                      j'ai commencé à suivre les cours de programmation et je viens de faire l'acquisition de la carte Ethernet Shield +

                      Ethernet Shield + Emplacement de Mémoire MicroSD Slot, W5100 Contrôleur pour Arduino UNO/Mega ,


                      J'ai une carte Arduio UNO et je veux suivre le cours de niveau 2 sur le montage de cette carte;

                      J'ai une carte micro SDHC + SD adapter PNY 16 GB avec laquelle je ne dépasse pas l'étape 1 puisque le moniteur inscrit "communication impossible "

                      et pourtant j'ai formaté (non sans mal) la carte SD et celle ci  est reconnu dans le programme "card info " des exemple Arduino ;

                      jInitializing SD card...Wiring is correct and a card is present.

                      Card type: SDHC

                      Volume type is FAT32

                      Volume size (bytes): 3011510272
                      Volume size (Kbytes): 2940928
                      Volume size (Mbytes): 2872

                      Files found on the card (name, date and size in bytes):

                      Cependant les deux fichiers .txt  que j'ai chargés sur cette carte SD par l'ordinateur) n'apparaissent pas ;

                      Je n'arrive pas à cerner le problème ;

                      D'autre part est ce indispensable de connecter le câble RJ45 en droit , le mien est noté crossed et je me connecte sans peine sur ma box , CPL e ordinateur ...

                      Un grand merci pour votre aide ... c'est passionnant mais c'est dur!!

                      Vh29



                      • Partager sur Facebook
                      • Partager sur Twitter
                        6 février 2018 à 9:26:58

                        Bonjour à tous,

                        Je viens de finir l'activité 2, et j’attends toujours ma correction à l'activité 1. J'ai l'impression qu'il n'y a pas grand monde qui en ce moment qui suivent ce cours :-/ C'est précisé 1 jours d'attente environ... Est ce que je peux connaitre le nombre approximatif des personnes qui suivent le cours pour avoir une idée à peu près?

                        Merci!

                        • Partager sur Facebook
                        • Partager sur Twitter
                          27 février 2018 à 12:46:09

                          Bonjour,

                          J'aimerais savoir les différents kit Arduino pour monter sa voiture. Mais pas avec les composants. J'aimerais juste avoir les supports et les 2 moteurs.

                          Merci

                          • Partager sur Facebook
                          • Partager sur Twitter

                            18 mars 2018 à 4:05:18

                            Bonjour,

                            Je viens d'acheter une carte Arduino MEGA 2560.

                            Cependant cette carte n'est pas reconnue par Windows 10, elle n'apparait même pas dans les " autres cartes" du Gestionnaire de Périphériques.

                            J'ai le même souci avec un autre câble, quelqu'un aurait-il une solution?

                            Un grand merci pour l' aide, cordialement,

                            Laurent

                            • Partager sur Facebook
                            • Partager sur Twitter
                              29 mars 2018 à 18:56:35

                              Bonjour à tous,

                              voila je suis ce superbe Mooc qui me fait decouvrir et l'electronique et la programmation sur Arduino ! What Else ?!

                              Etant en attente de ma correction pour la 2eme partie je me suis avané un peu vers les servo !

                              et la j'ai un soucis, la premiere partie du mooc se passe bien, j'ai copier collé le code fait mumuse avec les valeurs en microsecodne et tout est ok.

                              Mon soucis c'est des que je passe a la version en utilisant la librairie !

                              J copie colle le code simplement

                              #include <Servo.h> //on importe la bibliothèque Servo
                              int pinServo=8; // variable pour stocker le pin pour la commande
                              Servo leServo; // on définit un objet Servo nommé leServo
                              void setup() {
                                leServo.attach(pinServo); // on relie l'objet au pin de commande
                              }
                              
                              void loop() {
                                leServo.write(0); // on dit à l'objet de mettre le servo à 0°
                                delay(1000); // ce délai est nécessaire pour que le servo atteigne sa position
                                leServo.write(179); // position à 179, 180 est à éviter car cela forcerait le servo à dépasser ses limites
                                delay(1000); // attente à nouveau
                              }

                              mais la rien ne se passe. Je precise que les connections sont OK et que je suis bien sur le Pin 8.

                              je recolle l'autre code (celui ci)

                              /*
                              Commande de servo-moteur par impulsion
                              Nanomaître 2015
                              Le servo est connecté au pin 8 de l'arduino
                              */
                              int periode=20000;// période entre chaque début d'impulsion en microsecondes
                              int pinServo=8; // variable pour le pin connecté à la commande du servo
                              
                              void setup() {
                                pinMode(pinServo,OUTPUT);// on prépare le pin en mode OUTPUT
                                digitalWrite(pinServo,LOW); // on l'initialise à l'état bas
                              }
                              
                              //boucle principale
                              void loop() {
                                for (int angle=0;angle<=180;angle+=20){//on fait varier l'angle de 0 à 180° par tranche de 20°
                                  setAngle(angle);// on appelle la fonction setAngle définie plus bas
                                }
                              }
                              
                              //fonction setAngle pour envoyer les impulsions
                              void setAngle(int a){
                                int duree=map(a,0,179,1000,2000);// on transforme l'angle en microsecondes et on stocke dans la variable duree
                                digitalWrite(pinServo,LOW);//on met le pin à l'état bas
                                
                                // la boucle qui suit est nécessaire 
                                // pour laisser le temps au servo d'aller à sa position
                                for (int t=0;t<300;t++){ 
                                  digitalWrite(pinServo,HIGH);// on envoie l'impulsion
                                  delayMicroseconds(duree); // pendant la bonne durée
                                  digitalWrite(pinServo,LOW); // on stoppe l'impulsion
                                  delayMicroseconds(periode-duree); // on attend le temps restant pour atteindre la période
                                }
                              }

                              Et la ca remarche.

                              Donc je me dis que je dois avoir un probleme avec la librairie mais etant novice la je suis un peu bloqué. Je souligne que j'ai mis a jour mes bibliotheque, au cas ou mais pas de mieux.

                              Merci pour votre aide !

                              ***EDIT***

                              Ca viendrait du servo que j'utilise qui ne va qu'a 60° et la librairie tel quel ne le gere pas correctement.

                              ***EDIT 2***

                              apres avoir cherché ailleur et fait des essais, il s'avere que mon servo quand je fais ceci :

                              for (int angle=0; angle<179; angle=angle+20)
                              {
                              leServo.write (angle);
                              delay(1000)
                              }

                              et bien la le servo revient bien a zero et parcours la plage (que jusqu'a 149°) et execute bien la boucle.

                              En revanche juste donner la valeur 0 a angle ne met jamais le servo a sa position initiale :(

                              -
                              Edité par Ankart 30 mars 2018 à 17:24:04

                              • Partager sur Facebook
                              • Partager sur Twitter
                                4 avril 2018 à 21:20:26

                                ok

                                -
                                Edité par jpmacveigh 4 avril 2018 à 21:58:35

                                • Partager sur Facebook
                                • Partager sur Twitter
                                jpmv
                                  5 avril 2018 à 9:39:23

                                  Le servo en question a peut être une référence marquée dessus, en fonction de quoi tu pourrais trouver sa "datasheet" qui te donnera les informations utiles.

                                  RTFM, qu'ils disaient.

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    3 mai 2018 à 15:55:45

                                    Bonjour,

                                    je n'arrive pas a faire exécuter un programme une seule fois.

                                    quand ma carte est alimenté, mon programme doit allumer une carte son et un moteur, puis après 5 secondes activer une ventouse et au bout de 3 secondes tout éteindre, cela marche mais la boucle ne se termine jamais j'ai essayé plein de trucs mais le programme recommence systématiquement au début.

                                    pouvez-vous m'aider?

                                    int pinMoteur;
                                    int pinSon;
                                    int pinVentouse;
                                    boolean ouverturePorte;

                                    void setup() {
                                      //initialisation des ports
                                      pinMoteur = 4;
                                      pinSon = 6;
                                      pinVentouse = 8;


                                      // état des ports
                                      pinMode(pinMoteur, OUTPUT);
                                      pinMode(pinSon, OUTPUT);
                                      pinMode(pinVentouse, OUTPUT);
                                      //mise à zéro
                                      digitalWrite(pinSon, LOW);
                                      digitalWrite(pinMoteur, LOW);
                                      digitalWrite(pinVentouse, LOW);

                                      ouverturePorte=true;
                                    }

                                    void loop()
                                    {
                                      if(ouverturePorte);
                                      {
                                        digitalWrite(pinSon, HIGH);
                                        digitalWrite(pinMoteur, HIGH);
                                        delay (4000);
                                        digitalWrite(pinVentouse, HIGH);
                                        delay (4000);

                                        digitalWrite(pinSon, LOW);
                                        digitalWrite(pinMoteur, LOW);
                                        digitalWrite(pinVentouse, LOW);
                                        delay (5000);
                                        {
                                          ouverturePorte=false;

                                    }

                                    }

                                    }

                                    -
                                    Edité par AlainCarral 3 mai 2018 à 16:00:10

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      29 mai 2018 à 12:10:51

                                      Bonjour,

                                      Je souhaite que mon arduino compte les secondes et les affiche dans le moniteur série (pour par la suite lui demander de stocker et d'afficher des données régulièrement).

                                      J'arrive à la faire compter, mais le compte commence que lorsque le moniteur est démarré. Je souhaiterais qu'elle compte dès que le programme est téléchargé. Du coup j'ai essayé d'utiliser le pointers et de faire ce code:

                                      int tableau[120]; //pour l'instant je cherche "simplement" à le faire compter jusqu'à 120
                                      
                                      int * p=&tableau[0];
                                      
                                      int i=0; //position du tableau qu'il faut remplacer par la valeur du temps écoulé
                                      
                                      
                                      
                                      void setup()
                                      
                                      {
                                      
                                        Serial.begin(9600); // initialisation du moniteur série
                                      
                                      }
                                      
                                      
                                      
                                      
                                      
                                      void compte (int *b) //la position du tableau n°x prend la valeur x
                                      
                                      {
                                      
                                        *b=i; 
                                      
                                      }
                                      
                                      
                                      
                                      
                                      
                                      void imprime (int a) //
                                      
                                      {
                                      
                                        Serial.println(a);
                                      
                                      }
                                      
                                      
                                      
                                      
                                      
                                      void loop ()
                                      
                                      {
                                      
                                        for(;i<120;)
                                      
                                        {
                                      
                                          *p=tableau[i]; //le pointer avant d'être envoyé dans la fonction compte prend la position de la case suivante
                                      
                                          compte(int *p);
                                      
                                          for(int j=0; j<=i;j++) //imprime les valeurs sur le moniteur de toutes les valeurs jusqu'au temps actuel
                                      
                                          {
                                      
                                            imprime(tableau[j]);
                                      
                                          }
                                      
                                         delay(1000);
                                      
                                         i++;
                                      
                                        }
                                      
                                      }
                                      
                                      

                                      Malheureusement, ce message s'affiche:

                                      "compte_essaisencore.ino: In function 'void loop()':

                                      compte_essaisencore:28: error: expected primary-expression before 'int'"

                                      Est ce que qqn saurait: - si ce que je souhaite faire est possible ?   - qu'est ce qui ne va pas dans le code actuel ?

                                      Merci d'avance

                                      Alexandre

                                      -
                                      Edité par saugyalexandre 29 mai 2018 à 12:11:12

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        29 mai 2018 à 13:36:58

                                        Ce qui ne va pas dans le code actuel : la syntaxe de l'appel de fonction.

                                        //  compte(int *p);    // what ?
                                            compte(p);         // appel de fonction


                                        Ce que tu veux faire est-il possible ?

                                        là on est dans le cas de figure d'un problème dit "XY", tu penses que Y est une solution à un problème Y, tu n'arrives pas à te débrouiller avec Y, et tu nous demandes comment il faut bidouiller Y.

                                        Le problème X est d'afficher le nombre de secondes après le démarrage, plutot que depuis le démarrage de l'interface série.

                                        Par quelle magie un tableau et un pointeur (ta "solution" Y) auraient-ils quelque chose à voir avec ce problème ?

                                        Dans les éléments techniques, on peut par contre faire appel à la fonction millis(), qui retourne le nombre de milli-secondes écoulées depuis le démarrage.  En divisant par 1000 on obtient le nombre de secondes, et quand on a changé de seconde, on affiche quelque chose.

                                        setup : 
                                           derniere seconde affichee = 0
                                           demarrer le port série
                                        
                                        
                                        loop :
                                           seconde =  millis() /1000
                                           si seconde different de dernièere seconde affichée
                                              |  afficher seconde
                                              |  dernière seconde affichee = seconde
                                        

                                        on peut même ajouter un petit délai dans loop, puisqu'on n'est pas à quelques centiemes de secondes près.



                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          14 juin 2018 à 21:41:13

                                          Bonjour

                                          J'ai commencé le cours "Programmez vos premiers montages avec Arduino", je suis arrivé au 1er exercice.

                                          J'ai une petite question sur les consignes :

                                          Vous stockerez les variables des pins des LED dans un tableau --> j'utilise la commande int pinled[5]={2,3,4,5,6};

                                          Pour indiquer l'ordre d'affichage des LED, ne stockez pas la séquence d'affichage dans un tableau : utilisez des conditions et/ou des boucles. --> cela signifie-t-il que je ne peux pas utiliser un code du style for (i=0,i<5,i++) {digitalWrite(pinled[i], HIGH) ?

                                          Merci pour votre retour

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            15 juin 2018 à 23:59:43

                                            nlbmoi a écrit:

                                            Bonjour

                                            J'ai commencé le cours "Programmez vos premiers montages avec Arduino", je suis arrivé au 1er exercice.

                                            J'ai une petite question sur les consignes :

                                            Vous stockerez les variables des pins des LED dans un tableau --> j'utilise la commande int pinled[5]={2,3,4,5,6};

                                            Pour indiquer l'ordre d'affichage des LED, ne stockez pas la séquence d'affichage dans un tableau : utilisez des conditions et/ou des boucles. --> cela signifie-t-il que je ne peux pas utiliser un code du style for (i=0,i<5,i++) {digitalWrite(pinled[i], HIGH) ?

                                            Merci pour votre retour

                                            Si tu peux utiliser les "FOR" car c'est un type de boucle :)
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              2 août 2018 à 19:22:05

                                              Bonjour,

                                              je suis nouveau certes...

                                              J'ai commencé un peu l'initiation a l'arduino mega 2560, ca fait normalement l'affaire.

                                              Pour les kits je viens de trouver ça sur ebay :

                                              https://www.ebay.fr/itm/UNO-R3-Starter-Kit-for-Arduino-1602LCD-Servo-Ultrasonic-Motor-Relay-RTC-DIY-FR/322458748042?hash=item4b140a048a:g:BZUAAOSwWxNY0O3J

                                              C'est une arduino UNO, essayez ça.

                                              Bonne journée avec vos arduinos !

                                              Liam

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                3 août 2018 à 18:20:23

                                                void setup() {
                                                  Serial.begin(9600);
                                                }
                                                void loop() {
                                                  int valeur=analogRead(A0);//on lit la valeur au CAN 0
                                                  int t=map(valeur,0,1023,0,5000);//on transforme la valeur lue en valeur de tension entre 0 et 5000 mV (car pas de virgule)
                                                  int tmp=map(t,0,1750,-50,125); //on transformela tension (de 0 à 1750mV en température (de -50°C à 125°C);
                                                  Serial.println(tmp); //on affiche le résultat
                                                }
                                                Si la valeur de t est superieur a 1750 ?!! c'est possible n'est ce pas ?! 
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  26 septembre 2018 à 20:16:24

                                                  Bonjour,

                                                  Je suis votre cours.

                                                  J'avais une question dans le cas d'un branchement simple avec une résistance et une LED.

                                                  Vous avez dit que l'ordre n'a pas d'importante si on mets la LED en premier , ou la résistance en premier

                                                  Ce n'est vraiment pas quelque chose d'intuitif pour moi.

                                                  Puisque si la résistance est placé en premier , cela va "freiner" le courant ou diminuer "l'intensité" donc la LED aura moins de chance de griller avec le temps.

                                                  Mais si on fait l'inverse le phénomène n'est pas le même car la résistance n'aura plus son utilité. Car le courant aura traversé en premier la LED

                                                  J'arrive à une contradiction.

                                                  Si vous pouviez m'expliquer pourquoi ça n'a pas d'importance ?

                                                  Je vous en remercie d'avance.

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    27 septembre 2018 à 9:56:01

                                                    MaxamedNuur a écrit:

                                                    Bonjour,

                                                    Je suis votre cours.

                                                    J'avais une question dans le cas d'un branchement simple avec une résistance et une LED.

                                                    Vous avez dit que l'ordre n'a pas d'importante si on mets la LED en premier , ou la résistance en premier

                                                    Ce n'est vraiment pas quelque chose d'intuitif pour moi.

                                                    Puisque si la résistance est placé en premier , cela va "freiner" le courant ou diminuer "l'intensité" donc la LED aura moins de chance de griller avec le temps.

                                                    Mais si on fait l'inverse le phénomène n'est pas le même car la résistance n'aura plus son utilité. Car le courant aura traversé en premier la LED

                                                    J'arrive à une contradiction.

                                                    Si vous pouviez m'expliquer pourquoi ça n'a pas d'importance ?

                                                    Je vous en remercie d'avance.


                                                    Ce n'est pas intuitif pour toi parce que ton intuition est  basée sur un "modèle mental" de ce qui se passe qui est  trompeur.

                                                    Déjà, "en premier" ou "en dernier", ça n'a pas de sens quand tu sais que le courant, c'est une circulation d'electrons .... qui vont en sens inverse du sens conventionnel du courant.

                                                    Imaginons, tu veux arroser ton jardin avec un tuyau. Et tu peux mettre un robinet à un des bouts du tuyau.  Fermer plus ou moins le robinet, ça équivaut à une résistance (au déplacement de l'eau) plus ou moins forte. Que tu mettre le robinet à un bout où à l'autre, ça va pas changer le jet à la sortie, qui doit traverser à la fois le tuyau et le robinet, peu importe l'ordre.

                                                    Dans le cas du circuit, si les électrons circulent, c'est qu'ils traversent  la résistance et la led. Les deux s'opposent au passage du courant.

                                                    Et employer le mot "freiner" montre que tu raisonnes en terme de vitesse qu'aurait le courant, qui serait ralenti au point de s'arrêter _à un certain endroit_.

                                                    En fait il vaut mieux que tu voies ça comme de la plomberie, avec un fluide chaud qui tourne en boucle fermée. Si tu as des radiateurs en série, et qu'il y en a un qui est bouché, ça ne circule plus et aucun radiateur n'est chaud. Pas de courant, nulle part.

                                                    -
                                                    Edité par michelbillaud 27 septembre 2018 à 10:04:55

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      1 octobre 2018 à 18:39:42

                                                      Bonjour,

                                                      MA led 13 clignote quand je branche mon Arduino sur mon ordi mac

                                                      et les programmes du début ne change rien

                                                      voici le message:

                                                      Arduino : 1.8.7 (Mac OS X), Carte : "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

                                                      /Applications/Arduino.app/Contents/Java/arduino-builder -dump-prefs -logger=machine -hardware /Applications/Arduino.app/Contents/Java/hardware -tools /Applications/Arduino.app/Contents/Java/tools-builder -tools /Applications/Arduino.app/Contents/Java/hardware/tools/avr -built-in-libraries /Applications/Arduino.app/Contents/Java/libraries -libraries /Users/megemac/Documents/Arduino/libraries -fqbn=arduino:avr:mega:cpu=atmega2560 -vid-pid=0X2341_0X0043 -ide-version=10807 -build-path /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740 -warnings=none -build-cache /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_cache_484916 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avrdude.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.avrdude-6.3.0-arduino14.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.arduinoOTA.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.arduinoOTA-1.2.1.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.avr-gcc.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.avr-gcc-5.4.0-atmel3.6.1-arduino2.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -verbose /Users/megemac/Documents/Arduino/BlinkBlink/BlinkBlink.ino
                                                      /Applications/Arduino.app/Contents/Java/arduino-builder -compile -logger=machine -hardware /Applications/Arduino.app/Contents/Java/hardware -tools /Applications/Arduino.app/Contents/Java/tools-builder -tools /Applications/Arduino.app/Contents/Java/hardware/tools/avr -built-in-libraries /Applications/Arduino.app/Contents/Java/libraries -libraries /Users/megemac/Documents/Arduino/libraries -fqbn=arduino:avr:mega:cpu=atmega2560 -vid-pid=0X2341_0X0043 -ide-version=10807 -build-path /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740 -warnings=none -build-cache /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_cache_484916 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avrdude.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.avrdude-6.3.0-arduino14.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.arduinoOTA.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.arduinoOTA-1.2.1.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.avr-gcc.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.avr-gcc-5.4.0-atmel3.6.1-arduino2.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -verbose /Users/megemac/Documents/Arduino/BlinkBlink/BlinkBlink.ino
                                                      Using board 'mega' from platform in folder: /Applications/Arduino.app/Contents/Java/hardware/arduino/avr
                                                      Using core 'arduino' from platform in folder: /Applications/Arduino.app/Contents/Java/hardware/arduino/avr
                                                      Detecting libraries used...
                                                      /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10807 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -I/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino -I/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/variants/mega /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/sketch/BlinkBlink.ino.cpp -o /dev/null
                                                      Generating function prototypes...
                                                      /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10807 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -I/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino -I/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/variants/mega /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/sketch/BlinkBlink.ino.cpp -o /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/preproc/ctags_target_for_gcc_minus_e.cpp
                                                      /Applications/Arduino.app/Contents/Java/tools-builder/ctags/5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/preproc/ctags_target_for_gcc_minus_e.cpp
                                                      Compilation du croquis...
                                                      /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10807 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -I/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino -I/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/variants/mega /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/sketch/BlinkBlink.ino.cpp -o /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/sketch/BlinkBlink.ino.cpp.o
                                                      Compiling libraries...
                                                      Compiling core...
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/wiring_pulse.S.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/wiring_digital.c.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/hooks.c.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/wiring_shift.c.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/wiring_analog.c.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/wiring.c.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/wiring_pulse.c.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/WInterrupts.c.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/Print.cpp.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/HardwareSerial1.cpp.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/new.cpp.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/HardwareSerial.cpp.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/IPAddress.cpp.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/CDC.cpp.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/WString.cpp.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/abi.cpp.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/Stream.cpp.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/Tone.cpp.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/PluggableUSB.cpp.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/HardwareSerial2.cpp.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/WMath.cpp.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/USBCore.cpp.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/HardwareSerial0.cpp.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/main.cpp.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/HardwareSerial3.cpp.o
                                                      Utilisation du fichier déjà compilé : /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/core.a
                                                      Archivage du noyau construit (mise en cache) dans :  /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_cache_484916/core/core_arduino_avr_mega_cpu_atmega2560_51f02b7210b938436b779d1c032618e1.a
                                                      Linking everything together...
                                                      /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-gcc -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections,--relax -mmcu=atmega2560 -o /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/BlinkBlink.ino.elf /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/sketch/BlinkBlink.ino.cpp.o /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/core/core.a -L/var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740 -lm
                                                      /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/BlinkBlink.ino.elf /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/BlinkBlink.ino.eep
                                                      /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-objcopy -O ihex -R .eeprom /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/BlinkBlink.ino.elf /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/BlinkBlink.ino.hex
                                                      /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-size -A /var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/BlinkBlink.ino.elf
                                                      Le croquis utilise 1468 octets (0%) de l'espace de stockage de programmes. Le maximum est de 253952 octets.
                                                      Les variables globales utilisent 9 octets (0%) de mémoire dynamique, ce qui laisse 8183 octets pour les variables locales. Le maximum est de 8192 octets.
                                                      /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega2560 -cwiring -P/dev/cu.usbmodem1421 -b115200 -D -Uflash:w:/var/folders/2q/hk1xygfn1zv4s84n59q77f3w0000gn/T/arduino_build_597740/BlinkBlink.ino.hex:i

                                                      avrdude: Version 6.3-20171130
                                                               Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
                                                               Copyright (c) 2007-2014 Joerg Wunsch

                                                               System wide configuration file is "/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
                                                               User configuration file is "/Users/megemac/.avrduderc"
                                                               User configuration file does not exist or is not a regular file, skipping

                                                               Using Port                    : /dev/cu.usbmodem1421
                                                               Using Programmer              : wiring
                                                               Overriding Baud Rate          : 115200
                                                      avrdude: stk500v2_ReceiveMessage(): timeout
                                                      avrdude: stk500v2_ReceiveMessage(): timeout
                                                      avrdude: stk500v2_ReceiveMessage(): timeout
                                                      avrdude: stk500v2_ReceiveMessage(): timeout
                                                      avrdude: stk500v2_ReceiveMessage(): timeout
                                                      avrdude: stk500v2_ReceiveMessage(): timeout
                                                      avrdude: stk500v2_getsync(): timeout communicating with programmer

                                                      avrdude done.  Thank you.

                                                      Une erreur est survenue lors du transfert du croquis

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                      la chouette
                                                        12 octobre 2018 à 11:04:21

                                                        gundertaker a écrit:

                                                        Bonjour,

                                                        J'en suis à cette partie du cours : https://openclassrooms.com/courses/programmez-vos-premiers-montages-avec-arduino/le-moteur-a-courant-continu-partie-2-le-pont-en-h-et-les-circuits-integres#/id/r-3285353

                                                        J'ai réalisé le montage et le programme permettant de faire tourner 2 moteurs. Le problème est que mes deux moteurs sont différents : J'ai un moteur 3V 5V et un autre 3V 6V. Le premier tourne mais pas le second. De plus, quand je branche le second moteur directement entre le 5V et le gnd de l'arduino, il tourne bien mais quand je le branche à la pile, il tourne quand il a envie. Je pense donc que le problème vient de la pile. J'utilise une pile 9V de chez SAMSIENG. J'ai acheté le starter kit UNO R3 mais il n'y avait pas de fil permettant de brancher la pile sur la breadboard. J'ai donc coupé le fil permettant de brancher la pile sur l'arduino et j'ai dénudé les deux fils.

                                                        Pouvez-vous me confirmer que le problème vient de la pile ?


                                                        Bonjour,

                                                        J'en suis également à cette partie et je rencontre un problème similaire. Le montage parait correct, mais lorsque je lance le programme, seul un des moteurs tourne et encore, il est faiblard. J'ai bien une pile 9v, neuve a priori et branchée correctement, et lorsque je ne branche qu'un moteur, sur l'un ou l'autre des doubles demi ponts, il tourne et se comporte conformément au programme. Je n'ai pas testé la "puissance" de la pile (qui était fournie dans le kit arduino que j'ai acheté). Est ce de ce côté là que je dois chercher ?

                                                        EDIT : vive les voltmetres, c'est la pile... 

                                                        -
                                                        Edité par BrunoLemaire5 12 octobre 2018 à 20:37:30

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          23 octobre 2018 à 14:31:14

                                                          Bonjour ,quand envoie un programme sur ma carte arduino uno ,arduino IDE me met "erreur de compilation pour la carte arduino uno",svp aider moi.

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            23 octobre 2018 à 21:05:19

                                                            lepetitwarrior a écrit:

                                                            Bonjour ,quand envoie un programme sur ma carte arduino uno ,arduino IDE me met "erreur de compilation pour la carte arduino uno",svp aider moi.


                                                            Peut-être une erreur dans ton code ? Est-ce que ça fait pareil avec un exemple simple genre un "blink" avec juste une led et une résistance ?
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              24 octobre 2018 à 9:26:41

                                                              lepetitwarrior a écrit:

                                                              Bonjour ,quand envoie un programme sur ma carte arduino uno ,arduino IDE me met "erreur de compilation pour la carte arduino uno",svp aider moi.


                                                              C'est la ligne 12, surement.
                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              MOOC Arduino

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                              • Editeur
                                                              • Markdown