{"id":2842,"date":"2019-12-09T01:31:03","date_gmt":"2019-12-09T00:31:03","guid":{"rendered":"https:\/\/www.breizh56.fr\/crepp2024\/?page_id=2842"},"modified":"2019-12-10T12:18:12","modified_gmt":"2019-12-10T11:18:12","slug":"atelier-arduino-debutant-4-aide-quizz","status":"publish","type":"page","link":"https:\/\/www.breizh56.fr\/crepp2024\/atelier-arduino-debutant-4-aide-quizz\/","title":{"rendered":"Arduino 2019-4: aide quizz"},"content":{"rendered":"<h3>Mooc Semaine 1: outils<\/h3>\n<p><em>1. Quels sont les <strong>deux blocs<\/strong> qui doivent \u00eatre pr\u00e9sents <strong>obligatoirement<\/strong> dans un programme Arduino (deux choix possibles) ?<\/em><\/p>\n<p>Avec le logiciel IDE Arduino, en s\u00e9lectionnant Fichier\/Nouveau on obtient la trame d&rsquo;un programme contenant les 2 blocs obligatoires:<\/p>\n<pre>void <strong>setup<\/strong>() {\r\n \/\/ put your setup code here, to run once:\r\n\r\n}\r\n\r\nvoid <strong>loop<\/strong>() {\r\n \/\/ put your main code here, to run repeatedly:\r\n\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><em>2. Une LED est <strong>branch\u00e9e<\/strong> sur la<strong> broche 2<\/strong> (avec l&rsquo;autre patte sur GND). Parmi les fonctions ci-dessous, laquelle permet <strong>d&rsquo;allumer<\/strong> cette LED ?<\/em><\/p>\n<p><em>3. Je souhaite <strong>contr\u00f4ler<\/strong> une LED branch\u00e9e sur la <strong>broche 6<\/strong>, que devra obligatoirement contenir le <strong>bloc setup<\/strong> ?<\/em><\/p>\n<p><em>5. Si je souhaite d\u00e9finir une <strong>variable<\/strong> appel\u00e9e brocheLed qui a pour <strong>valeur 13<\/strong> et qui est de <strong>type entier<\/strong>. Quelle est la bonne syntaxe ?<\/em><\/p>\n<p>un langage de programmation est comme une langue \u00e9trang\u00e8re, avec ses mots mais aussi ses r\u00e9gles de syntaxe. Donc il faut \u00eatre pr\u00e9cis:<\/p>\n<p><strong>digitalWrite(2, HIGH);<\/strong><\/p>\n<p><a href=\"http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.DigitalWrite\">http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.DigitalWrite<\/a><\/p>\n<p><a href=\"https:\/\/www.arduino.cc\/reference\/en\/language\/functions\/digital-io\/digitalwrite\/\">https:\/\/www.arduino.cc\/reference\/en\/language\/functions\/digital-io\/digitalwrite\/<\/a><\/p>\n<p><strong>pinMode(6, OUTPUT);<\/strong><\/p>\n<p><a href=\"http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.PinMode\">http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.PinMode<\/a><\/p>\n<p><a href=\"https:\/\/www.arduino.cc\/en\/Reference.PinMode\">https:\/\/www.arduino.cc\/en\/Reference.PinMode<\/a><\/p>\n<p><strong>int brocheLed = 13;<\/strong><\/p>\n<p>sur Arduino UNO, la valeur int est compris de\u00a0-32,768 \u00e0 32,767<\/p>\n<p><a href=\"http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.Int\">http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.Int<\/a><\/p>\n<p><a href=\"https:\/\/www.arduino.cc\/reference\/en\/language\/variables\/data-types\/int\/\">https:\/\/www.arduino.cc\/reference\/en\/language\/variables\/data-types\/int\/<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><em>4. Si je tape <strong>delay<\/strong>(10000) et que je t\u00e9l\u00e9verse mon programme, celui-ci se mettra en pause pendant une dur\u00e9e de ? seconde(s)<\/em><\/p>\n<p>le param\u00e8tre de delay est en milliseconde; donc 10000 \/ 1000 &#8211;&gt; 10 secondes<\/p>\n<p><a href=\"http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.Delay\">http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.Delay<\/a><\/p>\n<p><a href=\"https:\/\/www.arduino.cc\/reference\/en\/language\/functions\/time\/delay\/\">https:\/\/www.arduino.cc\/reference\/en\/language\/functions\/time\/delay\/<\/a><\/p>\n<hr \/>\n<h3>Mooc Semaine 2: Capteurs num\u00e9riques<\/h3>\n<p>&nbsp;<\/p>\n<p><em>1. La fonction <strong>digitalRead<\/strong> permet de lire l&rsquo;\u00e9tat d&rsquo;une broche num\u00e9rique. Que peut renvoyer cette fonction (plusieurs choix possibles)<\/em> ?<\/p>\n<p><strong>HIGH<\/strong> et <strong>LOW<\/strong><\/p>\n<p><a href=\"http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.DigitalRead\">http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.DigitalRead<\/a><\/p>\n<p><a href=\"https:\/\/www.arduino.cc\/reference\/en\/language\/functions\/digital-io\/digitalread\/\">https:\/\/www.arduino.cc\/reference\/en\/language\/functions\/digital-io\/digitalread\/<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>2. <em>Avec une tension de 9V, quelle devra \u00eatre la valeur th\u00e9orique de la r\u00e9sistance (en \u03a9) si l&rsquo;on souhaite prot\u00e9ger la LED branch\u00e9e en s\u00e9rie ?<\/em><\/p>\n<p>on va se servir de la formule de loi d&rsquo;\u00e9lectricit\u00e9 dite loi d&rsquo;Ohm : <strong>R = <sup>U<\/sup>\u2044<sub>I<\/sub><\/strong><\/p>\n<blockquote><p>avec :<\/p>\n<ul>\n<li><strong>U<\/strong> : Tension<\/li>\n<li><strong>I<\/strong> : Intensit\u00e9<\/li>\n<li><strong>R<\/strong> : R\u00e9sistance<\/li>\n<\/ul>\n<\/blockquote>\n<p>il faut que la LED ait 2.2V (valeur raisonnable) \u00e0 ses bornes.<\/p>\n<p>on limite l&rsquo;intensit\u00e9 \u00e0 travers une LED \u00e0 20mA (= 0,02 A)<\/p>\n<p>Nous avons du 9V. La chute de tension au travers de la r\u00e9sistance est de 9V \u2013 2,2V = 6,8V. \u00c7a nous donne donc R = 6,8V\/0,02A = <strong>340\u03a9<\/strong>.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><em>3. Je souhaite lire un bouton branch\u00e9 sur la broche 6, que devra obligatoirement contenir le bloc setup ?<\/em><\/p>\n<p><strong> pinMode(6, INPUT);<\/strong><\/p>\n<p><a href=\"http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.PinMode\">http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.PinMode<\/a><\/p>\n<p><a href=\"https:\/\/www.arduino.cc\/en\/Reference.PinMode\">https:\/\/www.arduino.cc\/en\/Reference.PinMode<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><em>4. Je souhaite utiliser une LED branch\u00e9e sur la broche 12. Quelle sera la meilleure syntaxe pour d\u00e9clarer ma constante ?<\/em><\/p>\n<p><strong>const int ledPin = 12;<\/strong><\/p>\n<p><a href=\"http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.Const\">http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.Const<\/a><\/p>\n<p><a href=\"https:\/\/www.arduino.cc\/reference\/tr\/language\/variables\/variable-scope--qualifiers\/const\/\">https:\/\/www.arduino.cc\/reference\/tr\/language\/variables\/variable-scope&#8211;qualifiers\/const\/<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><em>5\u00a0Nous viendrons lire l&rsquo;\u00e9tat du bouton tous les X secondes. Quelle est la valeur de X ?<\/em><\/p>\n<pre>const int buttonPin = 2;\r\nconst int ledPin =  13;      \r\n\r\nint buttonState = 0;         \/\/ variable for reading the pushbutton status\r\n\r\nvoid <b>setup<\/b>() {\r\n  \/\/ initialize the LED pin as an output:\r\n  pinMode(ledPin, OUTPUT);      \r\n  \/\/ initialize the pushbutton pin as an input:\r\n  pinMode(buttonPin, INPUT);     \r\n}\r\n\r\nvoid <b>loop<\/b>(){\r\n  buttonState = digitalRead(buttonPin);\r\n  \r\n  if (buttonState == HIGH) {     \r\n    \/\/ turn LED on:    \r\n    digitalWrite(ledPin, HIGH);  \r\n  }\r\n  <strong>delay(5000);<\/strong>\r\n}\r\n\r\n<\/pre>\n<p>le param\u00e8tre de delay est en milliseconde; donc 5000\u00a0\/ 1000 &#8211;&gt; 5 secondes<\/p>\n<p><a href=\"http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.Delay\">http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.Delay<\/a><\/p>\n<p><a href=\"https:\/\/www.arduino.cc\/reference\/en\/language\/functions\/time\/delay\/\">https:\/\/www.arduino.cc\/reference\/en\/language\/functions\/time\/delay\/<\/a><\/p>\n<hr \/>\n<h3>Mooc Semaine 3: capteurs analogiques<\/h3>\n<p>&nbsp;<\/p>\n<p><em>1. Je stocke le r\u00e9sultat de la fonction analogRead dans une variable appel\u00e9e maVariable. Je souhaite utiliser la fonction map pour la passer dans l&rsquo;intervalle suivant : 0\u2192100. Le r\u00e9sultat sera stock\u00e9 dans la variable appel\u00e9e maNouvelleVariable. Quelle sera la bonne syntaxe ?<\/em><\/p>\n<p><strong>maNouvelleVariable = map(maVariable, 0, 1023, 0, 100);<\/strong><\/p>\n<p>R\u00e9-\u00e9talonne un nombre d&rsquo;une fourchette de valeur vers une autre fourchette.<\/p>\n<p><a href=\"http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.Map\">http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.Map<\/a><\/p>\n<p><a href=\"https:\/\/www.arduino.cc\/reference\/en\/language\/functions\/math\/map\/\">https:\/\/www.arduino.cc\/reference\/en\/language\/functions\/math\/map\/<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><em>2. La fonction analogRead permet de lire l&rsquo;\u00e9tat d&rsquo;une broche analogique. Que peut th\u00e9oriquement renvoyer cette fonction (plusieurs choix possibles) ?<\/em><\/p>\n<p><strong>0 \u00a0 \u00a0 \u00a0255 \u00a0 \u00a0 \u00a010<\/strong><\/p>\n<p>valeur renvoy\u00e9e: int (0 to 1023) correspondant au r\u00e9sultat de la mesure effectu\u00e9e<\/p>\n<p><a href=\"http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.AnalogRead\">http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.AnalogRead<\/a><\/p>\n<p><a href=\"https:\/\/www.arduino.cc\/reference\/en\/language\/functions\/analog-io\/analogread\/\">https:\/\/www.arduino.cc\/reference\/en\/language\/functions\/analog-io\/analogread\/<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><em>3. Je souhaite que mon programme Arduino puisse \u00e9changer du texte avec l&rsquo;ordinateur (\u00e0 une vitesse de 9600 bauds). Que devra contenir le bloc setup ?<\/em><\/p>\n<p><strong>Serial.begin(9600);<\/strong><\/p>\n<p>notons que la syntaxe est typique d&rsquo;un langage de programmation objet: objet.m\u00e9thode(valeur)<\/p>\n<p><a href=\"http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.Serialbegin\">http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.Serialbegin<\/a><\/p>\n<p><strong><a href=\"https:\/\/www.arduino.cc\/reference\/en\/language\/functions\/communication\/serial\/\">https:\/\/www.arduino.cc\/reference\/en\/language\/functions\/communication\/serial\/<\/a><\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><em>4. La LED a une polarit\u00e9, elle a un sens. D&rsquo;apr\u00e8s vos connaissances, le cours et le wiki. Que se passera-t-il si la LED appel\u00e9e LED1 est branch\u00e9e \u00e0 l&rsquo;envers (comme indiqu\u00e9 dans le circuit ci-dessous) ?<\/em><\/p>\n<p><strong> Aucune des LED ne vont s&rsquo;allumer <\/strong><\/p>\n<p>car quand une Led est branch\u00e9e \u00e0 l&rsquo;envers, le courant ne passe plus<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><em>5.quelle valeur sera envoy\u00e9e \u00e0 la LED branch\u00e9e sur la broche 13 si j&rsquo;appuie sur le bouton branch\u00e9 sur la broche 2 (attention, il y a un pi\u00e8ge) ?<\/em><\/p>\n<pre>int buttonState = LOW;\r\n\r\nvoid <b>setup<\/b>() {\r\n  pinMode(13, OUTPUT);\r\n  pinMode(2, INPUT);     \r\n}\r\n\r\nvoid <b>loop<\/b>(){  \r\n  digitalRead(2);\r\n  \r\n  if (buttonState == HIGH) {\r\n    digitalWrite(13, HIGH);  \r\n  } \r\n  else {\r\n    digitalWrite(13, LOW); \r\n  }\r\n}<\/pre>\n<p><strong>LOW<\/strong><\/p>\n<p>la variable buttonState n&rsquo;est pas modifi\u00e9e dans le bloc loop et garde donc LOW.<\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<h3>Mooc Semaine 4: Librairies et sorties<\/h3>\n<p>&nbsp;<\/p>\n<p><em>1. Si on regarde le code suivant :<\/em><\/p>\n<pre>for(int uneBroche = 2; uneBroche &lt; 8; uneBroche++) {\r\n  digitalWrite(uneBroche, HIGH);\r\n}<\/pre>\n<p>Les LED branch\u00e9es sur les broches de 2 \u00e0 7 vont s&rsquo;allumer<\/p>\n<p><span class=\"kw1\">for<\/span> <span class=\"br0\">(<\/span>initialization<span class=\"sy0\">;<\/span> condition<span class=\"sy0\">;<\/span> incrementation<span class=\"br0\">)<\/span><\/p>\n<p>A chaque ex\u00e9cution de la boucle, la condition est test\u00e9e; si elle est VRAIE, le bloc d&rsquo;instructions et l&rsquo;incrementation sont ex\u00e9cut\u00e9s. puis la condition est test\u00e9e de nouveau. Lorsque la condition devient FAUSSE, la boucle stoppe.<\/p>\n<p><a href=\"http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.For\">http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.For<\/a><\/p>\n<p><a href=\"https:\/\/www.arduino.cc\/reference\/en\/language\/structure\/control-structure\/for\/\">https:\/\/www.arduino.cc\/reference\/en\/language\/structure\/control-structure\/for\/<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><em>2. Je souhaite utiliser un servomoteur branch\u00e9 sur la broche 9 et que j&rsquo;appelle <code>monServo<\/code>. Que devra forc\u00e9ment contenir mon programme ?<\/em><\/p>\n<p>monServo.attach(9);<\/p>\n<p>notons que la syntaxe est typique d&rsquo;un langage de programmation objet: objet.m\u00e9thode(valeur).<\/p>\n<p>A l&rsquo;objet monServo on peut appliquer 2 m\u00e9thodes .attach(x) et .detach(y)<\/p>\n<p><a href=\"http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.Servoattach\">http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.Servoattach<\/a><\/p>\n<p><a href=\"https:\/\/www.arduino.cc\/en\/Reference\/ServoAttach\">https:\/\/www.arduino.cc\/en\/Reference\/ServoAttach<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><em>3. Dans un montage avec un condensateur plac\u00e9 en parall\u00e8le d&rsquo;un bouton poussoir. Si au lieu d&rsquo;un condensateur de 100nF je mets un 100uF \u00e0 la place, que se passe-t-il ?<\/em><\/p>\n<p>il n&rsquo;y a aucune influence sur les Leds !<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>4.<em> Soit le code suivant :<\/em><\/p>\n<pre>for(int i = 1; i &lt;= 8; i++) {\r\n<strong>  Serial<\/strong>.println(\"meuh\");\r\n}<\/pre>\n<p>i=1 \u00a0 \u00a0meuh<\/p>\n<p>i=2 \u00a0 \u00a0meuh<\/p>\n<p>i=3 \u00a0 \u00a0meuh<\/p>\n<p>i=4 \u00a0 \u00a0meuh<\/p>\n<p>i=5 \u00a0 \u00a0meuh<\/p>\n<p>i=6 \u00a0 \u00a0meuh<\/p>\n<p>i=7 \u00a0 \u00a0meuh<\/p>\n<p>i=8 \u00a0 \u00a0meuh<\/p>\n<p>i=9 or i&lt;=8 est faux &#8211;&gt; fin de la boucle for<\/p>\n<p>&nbsp;<\/p>\n<p><strong>8<\/strong> meuh !<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>5. <em>Si on regarde le code suivant :<\/em><\/p>\n<pre>for(int i = 2; i &lt; 4; i+=1) {\r\n<strong>  Serial<\/strong>.println(\"bip bip\");\r\n  for(int j = 2; j &lt; 3; j+=1) {\r\n<strong>    Serial<\/strong>.println(\"meuh\");\r\n  }\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<div>bip bip<\/div>\n<div>meuh<\/div>\n<div>bip bip<\/div>\n<div>meuh<\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mooc Semaine 1: outils 1. Quels sont les deux blocs qui doivent \u00eatre pr\u00e9sents obligatoirement dans un programme Arduino (deux choix possibles) ? Avec le logiciel IDE Arduino, en s\u00e9lectionnant Fichier\/Nouveau on obtient la trame d&rsquo;un programme contenant les 2 blocs obligatoires: void setup() { \/\/ put your setup code here, to run once: } void loop() { \/\/ put [&#8230;]<\/p>\n","protected":false},"author":7,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2842","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.breizh56.fr\/crepp2024\/wp-json\/wp\/v2\/pages\/2842"}],"collection":[{"href":"https:\/\/www.breizh56.fr\/crepp2024\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.breizh56.fr\/crepp2024\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.breizh56.fr\/crepp2024\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.breizh56.fr\/crepp2024\/wp-json\/wp\/v2\/comments?post=2842"}],"version-history":[{"count":25,"href":"https:\/\/www.breizh56.fr\/crepp2024\/wp-json\/wp\/v2\/pages\/2842\/revisions"}],"predecessor-version":[{"id":2958,"href":"https:\/\/www.breizh56.fr\/crepp2024\/wp-json\/wp\/v2\/pages\/2842\/revisions\/2958"}],"wp:attachment":[{"href":"https:\/\/www.breizh56.fr\/crepp2024\/wp-json\/wp\/v2\/media?parent=2842"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}