Initiation à l’Arduino
Historique L’histoire de l’Arduino a commencé en 2005 dans une université italienne. Le but initial était de permettre un enseignement les microcontrôleurs à des non-technologues, artistes et designers. L’objectif de l’équipe est de permettre à des non-spécialistes en informatique et en électronique qui ne veulent pas forcément être des programmeurs, d’utiliser la programmation pour faire de l’acquisition et traitements de données à l’aide de capteurs et de commander des systèmes de manière simple. L'expérience utilisateur est conçue pour minimiser le temps entre l'idée et la conception sur la platine d’expérimentation.
Arduino = Matériel + EDI (ou IDE) + Fonctions/Bibliothèques Programmation Langage "Arduino" Structure Variables Fonctions Bibliothèques Standards, intégrés à installer, à créer
Arduino, c’est quoi ? Une carte électronique Une communauté qui échange http://arduino.cc/ Un environnement de développement intégré
Arduino, une philosophie Le matériel est « open source » : On peut le copier, le fabriquer et le modifier librement. Le logiciel est libre : On peut l’utiliser et le modifier librement. Sur l’internet, on trouve : Une communauté d’utilisateurs. Des guides d’utilisation. Des exemples. Des forums d’entraide.
Arduino, la carte électronique Bouton de remise à zéro LED de test de la broche 13 Entrées/sorties numériques LED témoin de mise sous tension Port USB : Transport des données et alimentation LED de transmission/ réception Microcontrôleur Permet de connecter une alimentation Broches d’alimentation Entrées Analogiques
La platine Arduino = un micro-ordinateur dans un circuit intégré : le microcontrôleur
Arduino : les entrées - sorties La carte "ARDUINO Uno" dispose de 14 broches ("pin" en anglais, numérotées de 0 à 13) qui peuvent être configurées en "entrées digitales" ou en "sorties digitales" susceptibles de délivrer une intensité maximale de 40 mA sous une tension égale à 0V ou 5V. Certaines de ces broches (~) peuvent être configurées en "sorties PWM" (Pulse Width Modulation ou modulation de largeur d'impulsion). Elle possède également 6 entrées-sorties analogiques (notées A0 à A5) permettant de mesurer ou de délivrer des tensions comprises entre 0V et 5V grâce à un convertisseur A/N à 10 bits. Les broches pin0 et pin1 ne sont pas disponibles pour l'utilisateur de la carte car elles sont utilisées pour communiquer avec l'ordinateur via le port USB, et sont notées RX (réception) et TX (transmission) sur la carte.
Arduino, l‘EDI ou Environnement de Développement Intégré
Arduino, le language Dans le menu Aide, on trouve le lien Référence pour le langage Arduino qui dérive du C++ et qui en respecte les règles et la syntaxe.
Arduino, le langage Une ligne qui commence par "//" est considérée comme un commentaire Un paragraphe qui commence par "/*" et qui se termine par "*/" est considéré comme un commentaire Toute ligne d'instruction de code doit se terminer par un point virgule ";" Un bloc d'instructions (définition d'une fonction, boucle "while" ou "if"/"else"...) doit être délimité par des accolades ouvrantes "{" puis fermantes "}". Toutes les variables doivent être déclarées, ainsi que leur type (int,float,...) avant d'être utilisées. Un programme (ou "sketch") Arduino est constitué de 2 fonctions distinctes: La fonction de configuration "void setup" exécutée une seule fois au lancement du programme. La fonction "void loop" qui est ensuite exécutée indéfiniment en boucle. Remarque: On peut relancer le programme en actionnant le bouton poussoir "reset" sur la carte.
Arduino, structure d’un programme
Arduino, le fonctionnement On conçoit ou on ouvre un programme existant dans les exemples (menu Fichier/ Exemples) avec le logiciel Arduino. Remarque: les exemples livrés avec l’Environnement de Développement Intégré sont nombreux et riches. Ces exemples sont simples et permettent de construire des projets avancés sans pour autant avoir la maitrise totale des (puissantes) fonctions employées. On charge le programme sur la carte. Si des erreurs sont signalées à la compilation, on modifie le programme. L’exécution du programme chargé dans la carte est automatique après quelques secondes. Le programme reste écrit en mémoire même après coupure de l’alimentation.
Exemple de programme livré avec l’EDI: « Blink » faire clignoter une DEL Etape 1 : relier la carte Arduino à l’ordinateur par le port USB Etape 2 : lancer le logiciel Arduino Etape 3 : sélectionner le type de carte (Arduino uno) et le port série COM ‘XX’ disponible pour la communication entre l’ordinateur et la carte. Etape 4 : ouvrir le programme « Blink» dans Exemples/01.Basic Etape 5 : charger le programme dans la carte Arduino
Entrée/Sortie numérique La carte Arduino possède 14 entrées / sorties numériques (digital en anglais) D0 à D13. Dans « void setup », il faut déclarer une broche comme une entrée ou comme une sortie par une des deux instructions suivantes : pinMode (4, INPUT) ; // broche 4 en entrée pinMode (7, OUTPUT) ; // broche 7 en sortie En sortie, on applique soit 5V sur la broche, soit 0V. Cela correspond à un « 1 » ou à un « 0 », à un niveau « haut » ou à un niveau « bas » de tension. Dans le programme cela correspond aux fonctions suivantes : digitalWrite(7, HIGH) ; // la tension de sortie de la broche 7 est portée à 5V digitalWrite(7, LOW) ; // la tension de sortie de la broche 7 est portée à 5V High ou « 1 » ou 5V LED LED LED éteinte allumée éteinte LED allumée LED éteinte Low ou « 0 » ou 0V En entrée, la carte peut lire soit un niveau haut (« 1 » ou HIGH), soit un niveau bas (« 0 » ou LOW). Dans le programme cela correspond aux instructions suivantes : temps int Etat = digitalRead(4) ; // lit l’état de la broche 4 : // si 5V sur la broche alors Etat prend la valeur 1 // si 0V sur la broche alors Etat prend la valeur 0 Signal numérique : signal qui ne prend que deux états distinct comme 0V et 5V soit « 0 » et « 1 ».
Rendre Arduino autonome Lorsque la carte Arduino est connectée au port USB de l’ordinateur, celui-ci lui fournit l’énergie électrique nécessaire à son fonctionnement. Une fois le programme chargé, on peut débrancher le cordon USB et connecter la carte soit à une pile, soit à un transformateur. Un transformateur qui convertie la tension du secteur en une tension continue(DC) 9 volts et un connecteur de 2,1 mm avec le « + » au centre. Une pile 9 volst et un connecteur de 2,1 mm Avec le « + » au centre.
Platine d’expérimentation La plaque d’essai sans soudure nous permet de réaliser rapidement un montage électronique en insérant les pattes des composants et les fils dans les trous. Les lettres repèrent les colonnes et les nombres repèrent les lignes Chaque ligne numérotée relie 5 trous Les trous de la colonne « + » sont reliés et les trous de la colonne « - » sont reliés. Ces colonnes sont dédiées à l’alimentation du circuit. Les trous ne sont pas reliés entre eux sur une colonne.