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 microcontrĂŽ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 microcontrĂŽ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 microcontrÎ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 microcontrÎ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 · Interfaces 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 microcontrÎ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.
