{"id":3166,"date":"2017-01-02T15:46:40","date_gmt":"2017-01-02T14:46:40","guid":{"rendered":"http:\/\/www.blue-bears.com\/blog\/?p=3166"},"modified":"2024-02-04T16:20:44","modified_gmt":"2024-02-04T15:20:44","slug":"arduino-programmation","status":"publish","type":"post","link":"http:\/\/www.blue-bears.com\/blog\/?p=3166","title":{"rendered":"Arduino :Programmation"},"content":{"rendered":"<p>Petit point sur mon exp\u00e9rience de programmation \/ Pense-b\u00eate :<\/p>\n<p><a href=\"https:\/\/www.arduino.cc\/\">https:\/\/www.arduino.cc\/<\/a><\/p>\n<p><a href=\"https:\/\/fr.wikipedia.org\/wiki\/Arduino\">https:\/\/fr.wikipedia.org\/wiki\/Arduino<\/a><\/p>\n<p>Arduino est une s\u00e9rie de cartes \u00e9lectroniques peu couteuses qui permettent d&rsquo;exploiter par programmation en C++ un microcontroleur.<br \/>\nCes cartes ont des entr\u00e9e (collecte de donn\u00e9es) et sorties (\u00e9mission de courant) en Num\u00e9rique (On\/Off = 0\/1 = binaire) et en analogique (courant modulable\/variable entre 0 et 5V). Elles peuvent \u00eatre enrichies de Wifi, Bluetooth, Ethernet, capteurs de pression, de temp\u00e9rature, de lumi\u00e8re&#8230;.. d&rsquo;horloges. Elles peuvent commander des moteurs pas \u00e0 pas : Robotique, impression 3D &#8230;.<\/p>\n<h3><!--more-->Mat\u00e9riel :<\/h3>\n<p>Arduino Due (37\u20ac sur Amazon) je l&rsquo;avais pris pour le nombre importants d&rsquo; Entr\u00e9es\/ sorties Analogiques et digitales.<\/p>\n<p>Premi\u00e8re connexion nickel &#8230;. mais j&rsquo;ai d\u00e9branch\u00e9 le c\u00e2ble USB en \u00ab\u00a0sauvage\u00a0\u00bb en cours de route. Par la suite le port USB n&rsquo;\u00e9tait plus reconnu. Nombreuses tentatives de connexion, reconnexion, mise \u00e0 jour des drivers, recherches sur Internet, etc &#8230; ce qui semble avoir d\u00e9bloqu\u00e9 la situation :<br \/>\nL&rsquo;ajout d&rsquo;une Alim 9V et les boutons RESET + ERASE.<\/p>\n<p>A cette occasion j&rsquo;ai eu l&rsquo;impression que l&rsquo;info et les forum\u00a0 sur cette carte \u00e9tait limit\u00e9e. La prochaine sera un mod\u00e8le \u00ab\u00a0Certifi\u00e9\u00a0\u00bb\u00a0 Arduino (plus ch\u00e8re 100\u20ac) ou une autre carte \u00ab\u00a0standard\u00a0\u00bb tr\u00e8s commercialis\u00e9e.<\/p>\n<h3>Installation de l\u2019environnement de d\u00e9veloppement (IDE) :<\/h3>\n<p>J&rsquo;ai pris (par erreur) la premi\u00e8re option : l&rsquo;installation via le Windows Store : bonne installation mais comme rien n&rsquo;est dans les r\u00e9pertoires \u00ab\u00a0programmes\u00a0\u00bb mais dans l\u2019environnement inaccessible de WinStore, l&rsquo;ajout de certains composants logiciels n&rsquo;a pas \u00e9t\u00e9 possible par la suite.<\/p>\n<p>J&rsquo;ai d\u00e9sinstall\u00e9 cette version et r\u00e9install\u00e9e la version .exe &#8230; mais la version WinStore pollue la seconde !<\/p>\n<p>J&rsquo;ai aussi test\u00e9 l&rsquo;IDE en ligne (Java\u00a0 + une inscription est requise), cela semble bien fonctionner et permet de programmer n&rsquo;importe o\u00f9 sans installation de l&rsquo;IDE.<\/p>\n<h3>Programmation :<\/h3>\n<p>Environnement C++ et appel \u00e0 des librairies (.c &amp; .h) existantes dans celles livr\u00e9es avec l&rsquo;installation de l&rsquo;IDE ou bien ajout\u00e9es. Ils en existe beaucoup sur le Web mais des probl\u00e8mes de compatibilit\u00e9s apparaissent avec les librairies anciennes (elles font parfois appellent \u00e0 des fonctions de librairies \u00ab\u00a0standard\u00a0\u00bb qui ont disparues dans les versions r\u00e9centes)<\/p>\n<p>Apr\u00e8s composition du code, il est obligatoirement v\u00e9rifier avant compilation et transfert du binaire g\u00e9n\u00e9r\u00e9 vers la carte. Un port micro-usb pour la programmation + un port micro-usb pour le reste (communication avec le PC une fois la carte programm\u00e9e)<\/p>\n<p>La carte peut envoyer des messages \u00e0 destination d&rsquo;un \u00e9cran d\u2019interface s\u00e9rie qui permet de v\u00e9rifier les calculs produits ou les actions produits par la carte.<\/p>\n<h3>Communication<\/h3>\n<ul>\n<li>Biblioth\u00e8que int\u00e9gr\u00e9e \u00ab\u00a0serial\u00a0\u00bb mais d&rsquo;autres plus compl\u00e8tes existent<\/li>\n<li>Attention !! En cas de communication via un c\u00e2ble USB : utiliser les commandes \u00ab\u00a0serialUSB\u00a0\u00bb vs \u00ab\u00a0serial\u00a0\u00bb.<\/li>\n<li>Un port COM utilis\u00e9 en programmation pour t\u00e9l\u00e9verser ne peut \u00eatre utilis\u00e9 pour communiquer via \u00ab\u00a0serial\u00a0\u00bb.\n<ul>\n<li>La DUE \u00e0 2 ports USB : Programmation \u00ab\u00a0Programming\u00a0\u00bb\u00a0 et un classique \u00ab\u00a0Native USB\u00a0\u00bb<\/li>\n<li>Soit utiliser 2 c\u00e2bles : 1 sur Programming pour t\u00e9l\u00e9verser le code et 1 sur UDB Native pour communiquer.\n<ul>\n<li>Chaque port USB re\u00e7oit une adresse COM sp\u00e9cifique (ex:COM5, COM6&#8230;) =&gt; identifier celle du port USB Native pour communiquer .<\/li>\n<\/ul>\n<\/li>\n<li>Soit n&rsquo;utiliser qu&rsquo;un seul c\u00e2ble : basculer le port actif dans l&rsquo;IDE sur le port de l&rsquo;entr\u00e9e USB non connect\u00e9e. Cela lib\u00e8re le port de la prise USB c\u00e2bl\u00e9e qui devient disponible pour une communication serial externe.<\/li>\n<\/ul>\n<\/li>\n<li>D\u00e9bit test\u00e9 avec succ\u00e8s 30Kbs =&gt; pas oblig\u00e9 de rester du 9600 !! Le d\u00e9bit doit \u00eatre le m\u00eame des 2 cot\u00e9s de la communication.<\/li>\n<li><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3>Carte des ports Arduino DUE<\/h3>\n<p><a href=\"http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2017\/01\/Due-pinout.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5169\" src=\"http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2017\/01\/Due-pinout.jpg\" alt=\"\" width=\"2980\" height=\"2105\" srcset=\"http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2017\/01\/Due-pinout.jpg 2980w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2017\/01\/Due-pinout-300x212.jpg 300w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2017\/01\/Due-pinout-768x542.jpg 768w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2017\/01\/Due-pinout-1024x723.jpg 1024w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2017\/01\/Due-pinout-830x586.jpg 830w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2017\/01\/Due-pinout-230x162.jpg 230w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2017\/01\/Due-pinout-350x247.jpg 350w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2017\/01\/Due-pinout-480x339.jpg 480w\" sizes=\"auto, (max-width: 2980px) 100vw, 2980px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3>P\u00e9riph\u00e9riques :<\/h3>\n<h4 style=\"padding-left: 30px;\">Mont\u00e9e en puissance :<\/h4>\n<ul>\n<li>La puissance maximum est de 3.3V * 130mA : pas beaucoup<\/li>\n<li>Pour monter en puissance =&gt; Transistors MOSFET<\/li>\n<li><a href=\"https:\/\/infouelec.wordpress.com\/2013\/06\/25\/controler-moteur-arduino-mosfet\/\">https:\/\/infouelec.wordpress.com\/2013\/06\/25\/controler-moteur-arduino-mosfet\/<\/a><\/li>\n<li>De quoi alimenter des moteurs pas \u00e0 pas puissants \/ des lampes puissantes \/ des actionneurs diverses \/ des pompes \/<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Petit point sur mon exp\u00e9rience de programmation \/ Pense-b\u00eate : https:\/\/www.arduino.cc\/ https:\/\/fr.wikipedia.org\/wiki\/Arduino Arduino est une s\u00e9rie de cartes \u00e9lectroniques peu couteuses qui [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[],"class_list":["post-3166","post","type-post","status-publish","format-standard","hentry","category-informatique"],"_links":{"self":[{"href":"http:\/\/www.blue-bears.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3166","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.blue-bears.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.blue-bears.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.blue-bears.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.blue-bears.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3166"}],"version-history":[{"count":4,"href":"http:\/\/www.blue-bears.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3166\/revisions"}],"predecessor-version":[{"id":5171,"href":"http:\/\/www.blue-bears.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3166\/revisions\/5171"}],"wp:attachment":[{"href":"http:\/\/www.blue-bears.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3166"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.blue-bears.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3166"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.blue-bears.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3166"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}