Arduino

De EduTech Wiki
Aller à : navigation, rechercher

Cet article est une ébauche à compléter. Une ébauche est une entrée ayant un contenu (très) maigre et qui a donc besoin d'un auteur.

1 C'est quoi ?

Arduino Logo

Les cartes Arduino (du nom de l'entreprise qui les a créées) sont des cartes électroniques qui permettent de créer des dispositifs interactifs, pouvant générer des sorties variées (production d'un son, allumage de LED et même publication sur Internet) sur la base d'inputs détectés par des capteurs, tels que senseurs de température, bruit, luminosité, mouvement, etc. Arduino est donc une plateforme programmable pour des applications variées (robotique, jeux, contrôle de l'environnement, etc.)

Arduino doit sa popularité a sa simplicité d'apprentissage et d'utilisation, le rendant l'outil de choix pour l'apprentissage de l'électronique, chez les jeunes (et les moins jeunes!). Le matériel rend possible la production de dispositifs avancés sans grande connaissance en électronique ou en programmation, ni avoir à souder ou effectuer des manipulations techniques complexes. Bien que pensé initialement à destination d'étudiants, la puissance de création d'Arduino a permis le développement d'applications pour l'Internet des objets et les technologies portables.

Autant le hardware que le software Arduino est open-source, promouvant ainsi la créativité et le développement commun de nouvelles fonctionalités. Il bénéficie d'une communauté de makers très riche, facilitant l'échange, le partage de réalisations et le soutien d'experts sur des projets en cours.

2 Démarrer avec Arduino

Commencer un projet Arduino, sans connaissance en électronique ou en informatique, peut sembler hors de portée, alors qu'il suffit de 2-3 composants électroniques et de quelques lignes de code pour réaliser rapidement des dispositifs interactifs utiles ou drôles (ou les deux!). Un des moyens les plus simples pour démarrer est d'utiliser le Starter Kit qui contient une ensemble de composants, ainsi qu'un livre de projets qui accompagne l'apprentissage en mode pédagogie par projet : une vingtaine de projets permettent de progressivement intégrer l'utilisation des différents composants, des notions d'électronique et de langage de programmation (basé sur C et C++).

2.1 Installation et prérequis

Aucun prérequis n'est nécessaire ni en électronique, ni en programmation, justement car créer des projets avec Arduino permet d'apprendre ces notions dans un contexte engageant et concret.

Au niveau matériel, il est important de faire attention à la manipulation des cartes et éléments annexes, car l'électricité statique peut endommager les composants. La bonne pratique consiste à tenir les cartes par les côtés, en ne touchant aucun composant électronique. En général, il faut toujours manipuler les composants sur les parties non métalliques.

Au niveau logiciel, Arduino propose un environnement de programmation - IDE (Integrated Development Environment), qui servira à écrire le programme du dispositif et de le traduire (compiler) pour le transférer sur la carte et lui livrer les instructions pour fonctionner comme prévu (quand tout va bien!).

Deux options d'installation existent :

Les fichiers d'installation existent pour Windows, MacOS et Linux. La procédure d'installation est classique : depuis le site, en cliquant sur le lien lié à son système d'exploitation, un fichier d'installation est sauvegardé sur l'appareil. Une fois le téléchargement fini, simplement cliquer et suivre les instructions pour finaliser l'installation.

2.2 Premiers pas

2.2.1 Le matériel

Avant de mettre les mains à la pâte et connecter des éléments entre eux, il faut se familiariser avec les composants de la carte :

Le microcontrôleur est la partie programmable de la carte, qui va gérer les entrées et les sorties et rendre les objets interactifs.

les connecteurs permettent de relier la carte à son environnement. Ils comprennent :

  • les entrées et sorties digitales
  • les entrées analogiques
  • les alimentations : soit par le connecteur avec une pile externe, soit par le port USB. Le témoin d'alimentation indique si la carte est bien alimentée ou non.
  • le port USB sert à transférer les programmes depuis un ordinateur ou pour alimenter la carte
  • les LEDs TX et RX sont utilisées pour afficher l'état de communication entre l'Arduino et l'ordinateur

2.2.2 L'environnement de développement (IDE)

Fenêtre de l'IDE de l'Arduino

L'environnement de programmation se présente en 3 parties :

  • 1 - le panneau de commande avec les actions nécessaires pour réaliser le projet, soit : compiler (avec vérification), transférer (sur la carte), créer un nouveau projet, ouvrir un projet et sauvegarder le projet. La sauvegarde se fait avec le même nom de projet, et par conséquent, écrase la version précédente. Il est donc conseillé de faire des sauvegardes avec des noms différents afin de pouvoir revenir à une version antérieure au besoin.
  • 2 - la fenêtre d'édition, pour la rédaction du programme. Le programme, ou code source, est appelé sketch dans la terminologie Arduino.
  • 3 - la fenêtre résultats, où l'IDE validera le code ou listera les bugs (en rouge, comme dans l'exemple).

Point important : au démarrage d'un nouveau projet, il faut spécifier à l'IDE quelle carte est utilisée pour le projet, en allant dans Tools > Board > nom de la carte.

2.2.3 Tester la communication avec l'Arduino

Une fois l'IDE installée, il faut tester la communication entre la carte et l'ordinateur. Comme premier test, en branchant la carte à l'ordinateur avec le cable USB, la LED ON s'allume en vert. Si ce n'est pas le cas, vérifier si cela marche en branchant l'alimentation par pile. Si cela ne marche pas, mauvais signe... êtes-vous sûr.e de ne pas avoir touché des composants électroniques après avoir frotté énergétiquement votre chat persan sur un tapis ? La procédure facile et proposée dans le starter kit pour tester la communication est d'installer le programme d'exemple appelé Blink :

  1. lancer l'application Arduino (IDE) sur votre ordinateur
  2. ouvrir le programme Blink via File > Examples > 01.Basics
  3. optionnel : lire le code pour se familiariser avec le langage et essayer de comprendre ce qu'il fait
  4. cliquer sur le bouton avec la flèche vers la droite download, qui va transférer le programme sur la carte. A ce moment, les LED TX et RX devraient clignoter pour indiquer que les deux appareils communiquent
  5. regarder votre carte : la LED L devrait être en train de clignoter en orange. C'est le but du programme !

Bravo, vous avez lancé votre premier programme sur une carte Arduino. A partir de là, il suffit de connecter quelques composants supplémentaires et coder quelques lignes de plus, et le tour est joué! :)

2.3 Projet de découverte

Le Starter Kit d'Arduino est un kit de démarrage comprenant de nombreux projets permettant de découvrir pas à pas les composants et fonctionnalités de la carte Uno. Les projets sont très bien pensés pour favoriser une intégration progressive et de complexité croissante des connaissances à savoir pour devenir autonome. Il n'y a pas besoin de lire des textes sur les principes d'électricité et les résistances pendant des heures avant de commencer, chaque projet fait découvrir un aspect en le faisant réaliser. C'est une approche ludique en learning by doing qui est proposée, et donc recommandée pour les novices.

Hors du Starter Kit, l'IDE d'Arduino est également fournie avec pleins de programmes d'exemples permettant de découvrir le fonctionnement de la carte (File > Examples > Types). C'est une source très intéressante pour des bases de code, lorsque l'on veut utiliser une fonctionnalité particulière comme des senseurs ou contrôler un moteur.

2.3.1 Procédure de base pour programmer son Arduino

  • Rédiger du code ou copier un code existant
  • Le compiler (verify) : l'IDE le traduit en langage compréhensible par la carte. Cette phase permet de détecter les erreurs de code, qui sont affichées dans la partie Résultats en base de l'éditeur.
  • Le charger (updload) sur la carte : une fois le projet validé/compilé, cette étape l'envoie sur la carte. Il est nécessaire d'avoir défini au préalable sur quel port la carte est branchée (Tools > Port > sélectionner le port série USB avec la carte). Durant cette étape, les LED Tx et Rx de la carte clignotent.
  • Ne pas oublier de sauvegarder !

En cas d'erreur, l'utilisation du menu Aide peut s'avérer très utile. On peut y trouver de nombreuses définitions sur les éléments habituels du code.

3 Types d'équipement Arduino

Il existe de nombreux types de cartes, à choisir selon les besoins du projet.

Cette liste n'est pas exhaustive et sujette à vieillir très vite. Elle vise à donner un aperçu des types de carte existants pour vos projets. Il est également possible de trouver des circuits compatibles Arduino chez d'autres fournisseurs, comme Adafruit, parmi les plus populaires avec Arduino.

Arduino-uno.jpg La carte Uno, le premier contact !

Elle possède :

  • 14 entrées/sorties digitales
  • 6 entrées analogiques
  • 32 Kb de mémoire flash
  • 2 Kb de RAM

Elle permet de réaliser des projets simples et les phases de prototypage. C'est la carte fournie dans le Starter Kit, parfaite pour débuter et explorer les fonctionnalités d'une carte électronique programmable.

Arduino nano.jpg La carte Nano, la petite!

Elle possède :

  • 22 entrées/sorties digitales
  • 8 entrées analogiques
  • 32 Kb de mémoire flash
  • 2 Kb de RAM

L'Arduino Nano fait partie des petites cartes (comme la Mini ou la Micro) dont l'objectif est de pouvoir créer des dispositifs plus réduits. Cela se fait en supprimant certaines composants, par exemple le port USB. Il faut donc s'équiper de composants additionnels pour configurer et télécharger les programmes sur ces cartes avant leur utilisation. Une fois programmée, la Nano se fait discrète dans votre projet.

LilyPad Arduino.jpg La Lilypad, la petite fleur pour les technologies portables !

Elle possède :

  • 14 entrées/sorties digitales
  • 6 entrées analogiques
  • 16 Kb de mémoire flash
  • 1 Kb de RAM

L'Arduino LilyPad a été conçue pour les technologies portables et les e-textiles. Elle est parfaite pour être cousue sur des textiles avec du fil électroconducteur et contrôler des composants sur le vêtement. Il existe de nombreuses alternatives, comme la populaire Flora d'Adafruit ou la TinyLily

SainSmart Mega2560.JPG La carte Mega 2560, le niveau avancé !

Elle possède :

  • 54 entrées/sorties digitales
  • 16 entrées analogiques
  • 4 ports série
  • 256 Kb de mémoire flash
  • 8 Kb de RAM

Elle permet de réaliser des projets plus complexes que la carte Uno. C'est probablement la bonne carte à choisir, une fois que vous avez épuisez tout ce qui était faisable avec votre Uno et que vous vous sentez limité.e par ses fonctionnalités.

4 Liens

Les liens dans la section suivante offre un aperçu de dizaines de milliers de projets partagés par la communauté.