Premiers pas avec Arduino

Créez un robot sensible à la lumière à l’aide d’un module Arduino

Introduction

Arduino est un microcontrôleur programmable. Il permet de mettre en lien des entrées (input) avec des sorties (output). Par exemple vous pouvez contrôler des moteurs en fonction de données récoltées par des capteurs. Nous allons ainsi pouvoir créer un petit robot qui salue lorsqu’il y a de la lumière. Nous utiliserons pour cela un servomoteur et un capteur de lumière.

Nous allons avoir besoin :

  • 1 Arduino Uno ou Arduino 101, de son cable USB et d’un ordinateur.
  • 1 plaque de prototypage rapide (breadboard)
  • 1 capteur de lumière (phototransistor)
  • 1 servomoteur
  • 1 LED
  • 1 résistance de 10 kilo ohm
  • 1 rouleau de papier toilette
  • (Facultatif) les éléments du robot imprimés en 3D : https://www.thingiverse.com/thing:2677497

Ce tutoriel est divisé en 3 parties:
1. Installation et configuration du logiciel Arduino
2. Montage et programmation du robot (en 3 étapes)
3. Bonus (pour aller plus loin…)

Il est fortement conseillé d’avoir suivi le tutoriel Électronique et Programmation avant de faire ce projet: https://www.bemaker.eu/tutorial/programmation-et-electronique/

Installation et configuration du logiciel Arduino

Installation

Nous allons devoir programmer la carte Arduino. Nous avons donc besoin d’un logiciel pour écrire le code et le télécharger sur la carte via le cable USB. Ce logiciel s’appelle le Arduino IDE.

Rends-toi sur la page de téléchargement du logiciel Arduino : https://www.arduino.cc/en/Main/Software

Ne clique pas sur Access the Online IDE mais scrolle plus bas pour voir la partie Download the Arduino IDE et clique sur le bouton correspondant à ton système d’exploitation (Windows, Mac ou Linux). La page suivante te proposera de faire un don, ce qui permet de rémunérer les auteurs si tu le souhaites. Sinon clique sur Just download pour lancer le téléchargement.

Installe le logiciel Arduino comme n’importe quel logiciel et lance le via le raccourci sur le Bureau de ton ordinateur.

Configuration

Le logiciel se présente ainsi:

Nous allons commencer par connecter la carte Arduino au logiciel. Connecte la carte à ton ordinateur avec le câble USB.
Clique sur l’onglet Outils > Type de carte

Le menu déroulant t’affiche plein de noms de cartes différentes:
Si tu as un Arduino Uno, sélectionne simplement Arduino/Genuino Uno.

Si tu as un Arduino/Genuino 101 (celui qui est fourni avec le kit 101 Starter Kit), une étape supplémentaire s’impose. Commence par chercher Gestionnaire de carte en haut de la liste et clique dessus :

Dans la fenêtre qui apparait, tape 101 dans la barre de recherche et clique sur Intel Curie Boards by Intel, un bouton Installer devrait apparaitre. Clique dessus pour installer le plugin.

À la fin du processus d’installation, retourne dans l’onglet Outils > Type de carte. Arduino/Genuino 101 devrait être apparu, clique dessus pour connecter ta carte.

Si tout va bien le nom de la carte devrait apparaitre en bas à droit de l’interface :

(Le COM7 peut varier : cela peut être COM1, 2, 3 etc.)

Montage et programmation du robot

Etape 1: Premier montage et premier programme

Maintenant que la carte est connectée, nous allons créer un premier petit montage. Nous allons faire clignoter une LED. Nous allons avoir besoin :

  • de la breadboard.
  • de l’arduino.
  • de quelques câbles.
  • d’une résistance de 10 kilo ohm.

Nous allons devoir créer ce montage comme sur ce schéma :

Nous allons le faire étape par étape, débranche tout d’abord ton Arduino:

  1. Il faut commencer par alimenter la breadboard en électricité. Pour se faire, branche un câble qui part du connecteur 5V de ta carte et branche l’autre extremité sur une des branches + du breadboard. Avec un autre câble, branche le port GND au port – du breadboard, comme ceci :

  1. Place la LED sur la breadboard de cette manière :

Pas de cette manière :

Sous le plastique la breadboard ressemble à ceci:

Ce qui peut être schématiser comme ceci:

Les traits agissent comme des câbles. Les composants doivent donc être branchés sur 2 câbles différents, donc 2 lignes verticales différentes.

  1. Il faut maintenant relier le courant à la LED. Pour se faire il faut relier le + avec la patte + de la LED et le – avec la patte -. Pour les reconnaitre, suit ce schéma :

Utilise donc un câble pour relier les pattes :

Le problème c’est que si tu branches l’Arduino maintenant, la LED va s’allumer très fortement. Ce qui fait qu’elle va aussi vite cesser de fonctionner :

La raison est toute simple: nous utilisons du 5V, ce qui est trop fort pour la LED, il faut utiliser quelque chose pour diminuer la tension aux bornes de la LED.

  1. Pour diminuer la tension, il suffit de placer la résistance dans le circuit :

  1. La résistance agit comme un robinet qui permet de contrôler le courant dans le circuit. Il existe des centaines de résistance différentes. Voici la formule pour trouver toi même quelle résistance tu dois utiliser:


R = V/I

R pour Résistance (qui se mesure en Ohm), V pour la tension (qui se mesure en Volt ) et I pour l’intensité (qui se mesure en Ampère).

Maintenant si tu branches l’Arduino, tu vas voir ta LED s’allumer moins fortement.

  1. Mais elle ne clignote pas ! C’est normal, nous n’avons pas encore programmé la carte.
    Mais nous y sommes presque !
    Commence par copier-coller ce code dans le logiciel Arduino IDE :


/*
Clignotement
Allume la LED pendant 1 seconde, puis la LED s'éteind pendant 1 seconde, en boucle.
*/

// Connecte la LED à la broche 13

// Donne lui un nom, ici « led » et donne lui le numéro de la broche à laquelle est branchée la LED:
int led = 13;

// la boucle « setup » (configuration) contient toutes les choses qui doivent s’enclencher au début:
void setup() {
// Définit la branche digital « led » comme une sortie (OUTPUT).
pinMode(led, OUTPUT);
}

// La boucle Loop lit en boucle ce qui est indiqué à l’interieur.
void loop() {
digitalWrite(led, HIGH); // allume la LED, HIGH signifiant qu’il y a du courant.
delay(1000); // attendre 1 seconde
digitalWrite(led, LOW); // éteind la LED, LOW signifiant qu’il n’y a pas de courant.
delay(1000); // attendre 1 seconde
}

  1. Comme tu l’as sûrement lu, la LED est censée être reliée au port numéro 13, modifie donc ton montage comme ceci :

Il faut juste ne plus connecter la patte + de la LED avec le 5V mais avec le port 13.

  1. Pour finir, revient au logiciel Arduino et clique sur le bouton Téléverser. Le logiciel va téléverser (télécharger) ton code sur la carte et la LED devrait se mettre à clignoter !

Bravo ! Tu as réalisé ton premier montage électronique avec un Arduino ! Nous allons maintenant passer aux choses sérieuses…

Etape 2: Montage électronique du robot

Nous allons maintenant nous attaquer au robot. Tu auras besoin de tout cela :

  • 1 Arduino Uno ou Genuino 101, de son cable USB et d’un ordinateur.
  • 1 plaque de prototypage rapide (un breadboard)
  • 1 phototransistor, le capteur de lumière.
  • 1 servomoteur.
  • 1 résistance de 10 kilo ohm.

Tout d’abord il faut faire ce montage :

Quelques précisions :

  • Le phototransistor est le composant qui ressemble à une LED transparente coupée. C’est une LED qui capte la lumière. Fait attention, elle a aussi une patte + et une patte – et a besoin d’une résistance de 10 kilo ohm.

  • Le servomoteur est un moteur qui tourne seulement sur 180° et que l’on peut contrôler très précisement. Il possède, à l’inverse de la LED, 3 branches : le noir pour le -, le rouge pour le + et le blanc pour relier à la carte. Ici on le branchera sur le port numéro 9.

À toi de jouer maintenant, monte le circuit !

Une fois le circuit monté, retourne dans le logiciel Arduino, clique sur l’onglet Fichier -> Nouveau.
Copie-colle ce code :

#include //Indique que l'on va utiliser un servomoteur.

int ValeurLumiere; //Crée une variable pour pouvoir mesurer la valeur de la lumière.

Servo ServomoteurBras; // Crée un objet servomoteur.

int positionDuBras = 0; // Crée une variable pour la position du servomoteur et règle sa valeur initiale à 0.

void setup()
{
// Ces codes permettent d’utiliser 2 LED pour allumer les yeux du robot. Enlève les // devant pour les utiliser.
// pinMode(2, OUTPUT);
// pinMode(3, OUTPUT);
// digitalWrite(2, HIGH);
// digitalWrite(3, HIGH);

Serial.begin(9600); // Permet de commencer à mesurer la lumière.

ServomoteurBras.attach(9); // Indique que la branche du milieu du servomoteur est branché sur le port 9.

}

void loop()
{

ValeurLumiere = analogRead(A0); // Permet de lire la valeur de la lumière
Serial.println(ValeurLumiere); // Permet d’afficher dans le moniteur série la valeur de la lumière.

if(ValeurLumiere > 100){ // Boucle conditionnelle. Si la Valeur de la Lumière est superieur à 100, alors, le servomoteur bouge.

// La boucle en-dessous permet de bouger le bras de 90 degrés. Elle est activée uniquement si la valeur de la lumière dépasse 100.

for(positionDuBras = 90; positionDuBras <= 180; positionDuBras += 1) { ServomoteurBras.write(positionDuBras); delay(15); } for(positionDuBras = 180; positionDuBras>=90; positionDuBras-=1)
{
ServomoteurBras.write(positionDuBras);
delay(15);
}}
}

Téléverse ce code, et si tout va bien, si tu caches le capteur de lumière, le servomoteur s’arrête. Et il reprend lorsque le capteur capte à nouveau de la lumière.

Clique sur Outils -> Moniteur série
Une fenêtre s’affiche dans laquelle tu peux voir les valeurs captée, cache le capteur pour voir les changements :

La partie électronique est terminée ! Passons au montage de notre robot.

Etape 3: Montage final de notre robot

Nous avons besoin :

  • le montage précedent.
  • un rouleau de carton.
  • un pic à brochette.
  • (facultatif) les parties du robot imprimées en 3d.
  • Cutter, papier etc.

Commence par décorer le rouleau de carton.

Découpe un trou de 15mm sur 24 mm dans le rouleau pour mettre le servomoteur ainsi qu’un petit trou à la base pour faire passer le câble. Place le servo moteur.

Si tu as imprimé la tête, le bras et pieds du robot, c’est le moment de les utiliser. Sinon fabrique-les avec ce que tu trouves (carton, papier, plasticine) :

Pour terminer, fabrique, avec un bout de papier et un pic à brochette, un drapeau pour le robot.

Voilà le robot est terminé ! Branche ton Arduino. Ton robot s’anime lorsque la lumière s’allume !

Bonus

Et si nous mettions des yeux à notre robot ?
Il suffit de rajouter 2 LED dans le montage :

Dans le code, enlève les // de ces lignes :


pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);

Téléverse à nouveau et les LED s’allument. Tu peux ensuite t’amuser, en soudant les pattes des LED à des câbles, à en faire des yeux pour indiquer la présence du robot dans le noir !