![]() |
![]() |
![]() |
|
Arduino et Processing Page très ancienne n'ayant pas été remise à jour |
|
Maj : 11/11/16
|
J'ai pratiqué sans discontinuer le langage machine depuis l'Apple 2 (1977), les premières calculatrices scientifiques Hewlett Packard (HP 28 en 1987), puis tous les microcontrôleurs du marché. Je me suis retrouvé avec des boîtes pleines de prototypes utilisant tous les types de microcontrôleurs du marché (mais principalement sur famille 8051 et un peu de Pic). Tout avait été développé avec de nombreux langages assembleurs et compilateurs variés, ce qui rend impossible de ressortir une ancienne carte et l'associer à son bon environnement de l'époque pour reprendre le développement.
Je suis arrivé à des situations bloquantes pour lesquelles l'assembleur montrait ses limites. Il devenait extrêmement pénible de gérer les cartes SD, les disques durs, l'Ethernet, l'Internet, le Wi-Fi, le Bluetooth, le Xbee...
Pour sortir de cette impasse et changer de stratégie, il n'y avait d'autre solution que de tout jeter et de repartir sur de nouvelles bases.
Après de longues réflexions, j'ai définitivement basculé sur Arduino, pour diverses raisons :
° L'environnement Arduino est totalement ouvert, toutes les sources et hardwares sont parfaitement bien documentés.
° Il existe une multitude de bibliothèques qui facilitent le développement d'innombrables périphériques.
° La communauté Arduino est très active, la diffusion est très grande.
°
Il est possible de développer son code source capable de tourner à la fois sur une carte très puissante (DUE, AT Mega 2560, Pic32,...) et sur un très petit circuit 8 pattes (ATtiny85). Il suffit de déclarer sa cible au compilateur et évidemment de n'utiliser que ce dont dispose le contrôleur choisi.
° Le langage principal est le très classique C (et C++), universel et rigoureusement indémodable, ce qui assurera la pérennité des développements.
Vous trouverez ici plus de détails : Choisir entre le C et l'assembleur
Partie hardware
Une carte Arduino est tout simplement constituée d'un microcontrôleur monté sur un circuit imprimé qui comporte des dizaines de petites prises directement reliées à tous les ports disponibles du circuit. La célèbre famille AVR a été choisie pour implanter le hardware. Un Microchip PIC 32 bits a été rajouté à la liste car il n'existe pas chez AVR un très puissant 32 bits équivalent. L'environnement minimal est implanté :
° Alimentation par un régulateur acceptant de 6 à 20 V, découplage et quartz.
° Interface USB permettant le dialogue avec le PC, avec un terminal natif et le chargement du logiciel.
Vous trouverez tous les autres détails sur le site officiel Arduino.
Firmware implanté
Tous les outils sont fournis pour permettre de démarrer très vite en s'inspirant des exemples.
Le circuit est simplement programmé définitivement avec un "loader", petit morceau de logiciel résident permettant de charger son programme.
Quelle carte Arduino choisir ?
Il existe (Ebay.com) de multiples clones des cartes Arduino/Genuino officielles à des prix plusieurs fois inférieurs aux originaux. J’en ai testé beaucoup et eu de nombreux problèmes de compatibilité en particulier avec l’interface USB. Les faussaires ne payent pas la licence au fondeur FTDI et montent n’importe quoi à la place. La carte est vue de manière aléatoire et si l’on n’a pas d’original sous la main pour identifier la cause du plantage on ne comprend plus rien.
Si vous avez déjà plusieurs vraies cartes, il est tentant de pendre des faux en complément, mais en ayant conscience du risque. J’ai un petit tas de cartes chinoises pas chères abandonnées …
Après avoir programmé plusieurs années sur Mega Uno, Mini et Tiny, puis DUE, j'ai basculé vers le ESP32
Le problème de cette page est que depuis que le l’ai commencée, j’ai développé une centaine d’applications Arduino mais que je n’ai pas le courage de présenter sous forme d’une page Web exploitable, ce qui prend beaucoup de temps que je préfère consacrer au développement.
Je n’ai mis pour le moment ici que me premiers exercices de débutant qui me font sourire aujourd’hui, car on peut faire beaucoup mieux. J’espère trouver la motivation de lâcher de temps en temps mon addiction au C pout compléter ce chapitre par des sujets plus pointus.
Tout ce qui est décrit est dans le fichier zip. Je n'introduirai de futures pages qu'à doses homéopathiques...
En première approximation Processing est indépendant d'Arduino. Il s'agit d'un langage de programmation ouvert pour les plate-formes Windows, Linux et Mac OSX.
Il est d'une puissance considérable et dispose d'une très grande collection de bibliothèques orientées en particulier graphismes et sons.
Il s'interface parfaitement avec l'Arduino au travers de la liaison série USB.
Découvrez le site Processing, il contient de nombreux exemples pour débuter simplement, vous serez vite conquis et épatés !
J'utilisais auparavant Visual Studio pour interfacer mes automates au PC, mais mon premier projet "radar" m'a fait découvrir la puissance de Processing et l'adopter définitivement.
Il utilise aussi le langage C. Dans mon application, je me suis efforcé d'utiliser variables et portions de code identiques sur Processing et Arduino.
Essayer Processing, c'est l'adopter !
Choisir entre le C et l'assembleur
En fouinant vous trouverez une infinité de liens Arduino, mais il faut commencer par les incontournables !
Le point d'entrée en français :: arduino.cc
Le forum : Vous y trouverez réponses à vos questions, pourvu qu'elles ne soient ni débiles ni formulées en charabia SMS bourré de fautes d'orthographe
Il vous sera facile ensuite de trouver les vendeurs de cartes en France est pour les moins pressés et les plus économes sur eBay (mais attention, il y a de très mauvaises imitations !) : ebay.com/...arduino
C'est moins cher mais les délais de livraison depuis la Chine sont de quelques semaines.
Mon analyseur logique, parfaitement bien adapté à l'Arduino : Salae Logic 8 channels
Du côté ordinateur, l'indispensable site qui vous fera découvrir un nouvel univers : processing.org
Réaliser simplement des shields de qualité : fritzing.org
Un des nombreux sites à explorer dans l'immense univers Arduino : dangerousprototypes...arduino
Page Arduino 2/2 : "radar" à ultrasons Centrale d'acquisition Arduino / Bluetooth< Toutes mes sources sont disponibles dans ce fichier zippé d'archives : |
![]() |