Les Arduino – Qu’est-ce donc?

Les Arduino – Qu’est-ce donc?

Née en Italie au milieu des années 2000, les créateurs ont voulu que l’Arduino soit une technologie à bas coût, ouverte et d’expérimentation facilitée. Le pari est réussi puisque qu’elle est devenue la carte qui permet de programmer des objets connectés pour l’art, la mode, la maison, etc ou des robots par tout le monde (écoles, designers, ingénieurs, entreprises, etc).

La famille de ce circuit électronique programmable s’est agrandie au fur et à mesure des années. Il en existe de différentes tailles et chacune dispose de fonctionnalités différentes. Parmi elles, si vous débutez, vous pouvez notamment choisir entre une carte Uno ou Nano.

Le logiciel multi-plateformes (Windows, Mac, Linux ou depuis votre navigateur web) de communication entre votre Arduino et votre ordinateur, vous permettra de téléverser vers votre carte des instructions en langage informatique (proche du langage C). Ce logiciel est dénommé l’IDE Arduino (Integrated Development Environment) ou plus communément votre environnement de développement. Les codes étant libres de droits, une communauté mondiale s’est développée partageant ainsi des projets laissant libre cours à l’imagination.

La composition d’une carte Arduino

La carte Arduino se compose de sept éléments principaux : le micro-contrôleur, le port d’alimentation de la carte et de téléversement, le port d’alimentation externe, les trois LED, les connectiques digitales, analogiques et “power”.

  • le micro-contrôleur : c’est le cerveau de votre carte. Une fois votre code compilé en langage machine, il sera stocké pour être exécuté.
  • le port de téléversement : il vous servira à transmettre le code vers l’Arduino. Un câble de type USB A mâle/B mâle devra être utilisé. Ce port sert également d’alimentation en 5 V.
  • le port d’alimentation (7 V – 12 V) : vous pouvez opter pour une autre source d’énergie. L’Arduino abaissera la tension à 5 V.
  • les trois LED : une est reliée au micro-contrôleur et les deux autres clignotent lors de la transmission/réception de données.
  • les connectiques digitales, analogiques et “power” : les entrées/sorties digitales vont laisser passer le courant (position haute, 5 V) ou le stopper (position basse, 0 V). Pour l’analogique, vous pouvez “lire” la tension d’un connecteur. Enfin, les connectiques power sont principalement constituées de GND pour la masse, de 5 V et 3,3 V pour le + de votre circuit.

Les différents types de carte d’Arduino

Il existe plusieurs types pour une utilisation adaptée à vos besoins. Les plus communes sont les cartes Uno, Nano, Duemilanove, Mega.

Les schémas de ces cartes électroniques étant libres de droit, vous pouvez acheter des cartes assemblées en provenance du monde entier. Néanmoins, l’appellation Arduino est réservée pour les cartes “officielles”.

Par ailleurs, vous pouvez retrouver des cartes avec des Composants Montés en Surface (CMS). Ce type de montage est déconseillé pour les débutants. En effet, si vous détériorez le micro-contrôleur, le dessoudage sera difficile à réaliser. Optez plutôt pour un montage classique, à savoir que les composants traversent la carte Arduino.

L’IDE d’Arduino

Le logiciel d’Arduino possède un graphisme épuré. La fenêtre principale est constituée des onglets “fichier”, “édition”, “croquis”, “outils” et “aide”. Six boutons permettent de vérifier et téléverser votre programme. Vous pouvez également créer, ouvrir et enregistrer un fichier. Un bouton représentant un moniteur série vous permettra d’envoyer et de recevoir des données (phrases, variables, etc).

Le code minimal requis pour débuter votre programmation est le suivant :

void setup() suivi d’accolades {} est considérée comme une fonction d’initialisation de la carte.

Ensuite, vous aurez obligatoirement void loop() suivi d’accolades {} comme une fonction qui s’exécute à l’infini.

Ces deux fonctions sont primordiales et nécessitent quelques précisions pour coder sur l’IDE d’Arduino et concevoir vos futurs projets.

Sans pour autant être exhaustif, les variables, les conditions et les boucles seront nécessaires. Les conditions vous permettront d’arranger vos instructions avec des si, si autre et autre (if, else if, else). Les boucles vous serviront à répéter vos instructions et les variables seront réutilisables dans vos accolades.

Débuter avec un kit de départ Arduino

Ces éléments constituent votre point de départ pour construire vos projets :

  • La carte Uno, sans CMS évoquée précédemment, sera privilégiée pour les débutants.
  • La plaque d’essai ou “breadboard” vous évitera de souder et facilitera vos connexions pour monter vos prototypes de projets.
  • Les fils de connexion, également appelés “jumpers” vous permettront des liaisons faciles et rapides à mettre en place.
  • Enfin, les composants suivants : LED, résistances, bouton poussoir, potentiomètre, servo-moteurs, moteur CC, deux transistors bipolaires NPN et MOSFET, une diode Schottky, une puce L293D, un afficheur 7 segments, deux condensateurs de 10nF et 100µF et un écran LCD alphanumérique seront nécessaires pour débuter vos projets.

Exemple de contenu de “Kit” [Composants + carte support … ] + Carte d’extension multifonctions pour Arduino® [Afficheur 7 segments à 4 digits · 4 x LEDs SMD connectées en parallèle · Potentiomètre ajustable 10 K · 3 x boutons-poussoirs · Buzzer piézo · Intefaces DS18B20 et LM35 · Récepteur IR · Connecteur d’interface série] :

 

 

Quelques pistes pour vous exercer

Le programme “Blink” est un incontournable pour vous familiariser. Le but est de faire clignoter une LED.

Pour vous faciliter encore plus la prise en main, vous allez utiliser la LED n°13, celle branchée sur le micro-contrôleur.

Vous devez donc écrire votre code avec void setup() et void loop(). Dans le setup, vous devez définir la connectique (pin) qui sera utilisée comme sortie. Dans la boucle, vous devez alimenter puis éteindre cette LED. Pour que vous puissiez voir le on/off, il faut un délai d’une seconde entre les positions haute et basse.

void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}

La LED n°13 est définie en sortie. Ensuite, pour la boucle, nous demandons à l’Arduino de mettre la valeur de la tension en position haute puis en attente avec un délai de 1000 ms puis en position basse puis avec un délai de 1000 ms et ainsi de suite.

Leave a Reply

Your email address will not be published.Required fields are marked *