Processeur informatique

07- Utiliser le servomoteur Arduino

Tutoriel : Découvrir et apprendre à coder avec Arduino Ide grâce au servomoteur SG90 de votre kit

Le servomoteur (SG90)

Tutoriel à venir

💡Ce tutoriel n°7 vous permettra d'apprendre à utiliser le  servomoteur sg90 en appuyant sur un bouton grâce à votre carte Arduino.

Vous ne savez pas encore comment utiliser l'IDE Arduino ? Rendez-vous sur notre tutoriel dédié pour apprendre à à coder avec l'IDE Arduino .🧐

Enfin, pour acheter le kit Arduino au meilleur prix qui vous permettra de faire d'incroyables montages électroniques, cliquez ci-dessous.

Servomoteur (SG90) kit électronique débutant à monter Arduino tutoriel apprendre kit électronique explication meilleur composant

Le matériel de votre kit électronique Arduino nécessaire pour ce tutoriel :

- La carte Arduino

- La breadboard

- Un bouton

- Cinq fils connectés

- Le servomoteur sg90

Quelques rappels avant de commencer

Pourcâbler votre servo moteur à votre carte électronique, vous aurez besoin d'un certain nombre de composants standards que vous devez maintenant commencer à connaître. 🔌

La Breadboard

🥖 Des explications détaillées sur ce composant sont développées dans ce tutoriel sur la breadboard. Nous allons seulement rappeler une information utile pour ce tutoriel :  le sens de passage de l'électricité. ➡️

L'image ci-dessous vous montre comment les différents trous sont connectés entre eux. 

breadboard Arduino tutoriel apprendre kit électronique meilleur français explication.png

A noter : chaque côté de la breadboard est totalement indépendant de l'autre. Lorsque vous ferez votre schéma électrique, il vous faudra donc mieux utiliser un côté seulement pour ne pas avoir de mauvaise surprise.

La carte Arduino

Nous en sommes au 7è tutoriel, vous devriez donc mieux connaître votre carte Arduino que vos tables de multiplications. Si malgré tout vous souhaitiez un petit rattrapage, allez voir ce tutoriel de découverte de d'Arduino

Le bouton

Rappelez-vous que le bouton de votre kit électronique est livré en deux morceaux.

Dessous bouton Arduino tutoriel apprendre kit électronique explication meilleur français
dessus bouton Arduino tutoriel apprendre kit électronique explication meilleur français.png

Il ne vous restera qu'à clipser le chapeau rouge sur le socle pour assembler votre bouton.

bouton complet Arduino tutoriel apprendre kit électronique explication meilleur français.png

Etape 1 - Monter votre servomoteur sg 90  🛠️

Servomoteur (SG90) kit électronique débutant à monter Arduino tutoriel apprendre kit électronique explication meilleur composant
hélices servomoteur  kit électronique débutant à monter Arduino tutoriel apprendre kit électronique explication meilleur composant

Vissez une hélice sur le servomoteur à l'aide d'un tournevis adapté. 🔩

servomoteur monté  kit électronique débutant à monter Arduino tutoriel apprendre kit électronique explication meilleur composant

Votre servomoteur est maintenant monté nous allons pouvoir passer au câblage !

Bravo, le câblage électrique est maintenant terminé ! Vous allez pouvoir attaquer le codage des instructions pour faire tourner votre servomoteur 🤴🏻

Etape 2 - Le câblage

Vous trouverez ci-dessous le schéma électronique que nous vous recommandons

Un petit rappel avant de tout faire cramer 🔥 Votre carte Arduino est sensible : pensez donc à faire tout votre montage et à le vérifier avant de le brancher avec le câble USB

branchement servomoteur kit électronique débutant à monter Arduino tutoriel apprendre kit électronique explication meilleur composant

Etape 3 - Inclure la library Servo.h

Le servomoteur requiert certaines fonctions spécifiques pour fonctionner. Ces fonctions sont  complexes ​à programmer et difficiles à comprendre pour un débutant. Heureusement Arduino est gentil, et vous propose ces fonctions toutes faites dans les Bibliothèques (library).

Aujourd'hui, nous allons utiliser la library "Servo.h"  pour inclure  les instructions spécifiques "servo" dans le code.

Voici comment faire pour inclure la library Servo.h :   

Commencez par ouvrir le logiciel Arduino

bibliotheque 1 kit électronique débutant à monter Arduino tutoriel apprendre kit électronique explication meilleur composant

Cliquez ensuite sur le bouton "Croquis" dans la barre supérieure

bibliotheque 1 kit électronique débutant à monter Arduino tutoriel apprendre kit électronique explication meilleur composant

Puis cliquez sur " inclure une bibliothèque"

bibliotheque 2 kit électronique débutant à monter Arduino tutoriel apprendre kit électronique explication meilleur composant

Et enfin, sélectionnez "Servo" dans la longue liste déroulante qui s'affiche :

bibliotheque 3 kit électronique débutant à monter Arduino tutoriel apprendre kit électronique explication meilleur composant

Super ! Désormais, vous allez pouvoir utiliser les fonctions spécifiques d'Arduino pour utiliser le Servomoteur SG90. Et maintenant, il est temps de commencer enfin, le code..

Etape 4 - Le code à mettre avant le setup

Un code Arduino a toujours la même structure : un "setup", suivi d'un "loop". Chacun de ces parties va exécuter une suite d'instructions qui sont placées entre accolades { et }.


Le "setup" est exécuté une fois seulement lors du démarrage de votre Arduino. C'est ici que nous allons configurer les pins, initialiser les variables, etc..

 

C'est alors que le "loop" commence. Chacune des lignes du loop est exécutée une par une, puis lorsqu'on arrive à la dernière, on reprend à la première ligne du loop, et ainsi de suite. 🔄


 

L'instruction include

Lorsque vous avez inclu la library Servo.h tout à l'heure, vous avez dû voir un nouvelle ligne s'intégrer à votre code Arduino. C'est tout à fait normal, et il faut absolument la conserver.

#include <Servo.h>

Vous devriez voir cette ligne avant la partie setup :

include.  kit électronique débutant à monter Arduino tutoriel apprendre kit électronique explication meilleur composant

Ensuite il faut déclarer votre servomoteur pour pouvoir l'utiliser dans les fonction suivantes, ici le servomoteur sera nommé "monservo"  :

La déclaration int

Afin de déclarer le pin de la carte électronique, c'est à dire le numéro de pin  d'où partiront et arriveront les signaux nous allons utiliser le type "int". Cela  signifie associer un nombre entier (qui sera le numéro de la pin) à un nom de variable. Ici nous associerons à la pin 7 le bouton et au pin 4 le servomoteur.

Nous allons donc écrire ces lignes, au dessus de la fonction setup 📝 :

Voici le code que vous devriez obtenir avant la partie setup :

avant setup  kit électronique débutant à monter Arduino tutoriel apprendre kit électronique explication meilleur composant

Etape 5 - Le code de la partie setup

La fonction pinMode

La fonction pinMode nous sert à établir la communication entre la Arduino et les composants. Pour cela nous allons lui dire quels seront les pins où elle donnera des instructions et quels seront les pins où elle devra envoyer des instructions.

La fonction pinMode signifie que vous allez assigner une fonction à une pin de votre Arduino.

- OUTPUT veut dire que vos instruction vont sortir de la Arduino, que vous allez donner des ordres.

- INPUT veut dire que nous allons recevoir des informations.

- INPUT_PULLUP signifie que nous ajoutons une résistance qui est dans la Arduino dans le circuit qui va recevoir les information de la matrice. Il est nécessaire d'ajouter une résistance ici et il est plus simple d'utiliser celle présente dans la Arduino.

Nous allons utiliser cette fonction pour dire à la Arduino de recevoir des informations du bouton tout en ajoutant une résistance.

Cela nous donne :

La fonction attach

La fonction attach est une fonction particulière de la bibliothèque Servo. Elle sert à renseigner sur quel pin est branché le servomoteur. Pour l'utiliser il faut renseigner deux informations :

- le nom du servomoteur utilisé que vous devez écrire avant la fonction, ici "monservo"

- le nom du pin utilisé, ici le "pin_servo"

Cela nous fait :

Vous devriez obtenir ce code pour la partie  setup :

setup  kit électronique débutant à monter Arduino tutoriel apprendre kit électronique explication meilleur composant

Etape 6 - Coder la boucle du void loop

Pour cette partie loop nous allons dire au servomoteur de faire une rotation de 180° si nous appuyons sur le bouton et sinon de revenir à sa position initiale. Pour arriver à cette fin nous utiliserons la fonction if - else.

L'ordre if - else   🔱

Pour cette boucle nous aurons besoin de la commande if - else du programme Arduino. If- else est essentiel pour observer si des conditions sont réunis et pour réaliser une autre commande si les conditions ne sont pas réunies. En effet, la partie if sera le code qui va s'appliquer dans le cas où les conditions que nous avons demandé sont réunies et la partie else contient le programme qui s'appliquera si les conditions ne sont pas réunies.

Pour ce tutoriel, notre objectif est de dire que si nos conditions sont réunies alors le servomoteur fera une rotation de 180° et sinon il se remettra, ou restera, à sa position initiale.

​Pour commencer, il faut noter les conditions nécessaire pour que if s'applique. Pour cela il est nécessaire d'utiliser l'instruction digitalRead. Cette instruction sert à connaitre la tension des pins, nous permettant alors de lire le pin HIGH ou LOW. Elle est absolument nécessaire pour savoir si une pression est mise sur le composant bouton.Ainsi lorsque vous mettrez votre doigt sur le bouton le pin sera lue comme  LOW et, dans le cas contraire, le pin apparaitra HIGH.

Attention si vous avez besoin d'un rappel pour savoir la différence entre le symbole "==" et le symbole "=", je vous conseille de revoir le tutoriel bouton buzzer

Ce que vous devez obtenir pour l'ouverture de l'instruction if :

La fonction write

Pour dire au servomoteur de bouger nous utilisons la fonction write.

La fonction write est une fonction particulière de la bibliothèque Servo. Elle sert à dire au servomoteur sg 90 d'effectuer une rotation. Pour l'utiliser il faut renseigner deux conditions :

- Nommer le servomoteur utilisé que vous devez écrire avant la fonction, ici "monservo"

- l'angle de rotation voulu, ici le bouton est LOW nous souhaitons donc que le servomoteur soit à sa position initiale, c'est à dire

Ce qui fait :

La partie else 

Il suffit de dire maintenant la rotation souhaitez lors d'une pression sur le bouton, dans cet exemple nous voulons qu'il tourne à 180°. 👇

                                                                                                 🚨

 

Pour cela il suffit d'utiliser la fonction write comme ci-dessus  

Votre code est maintenant complet il ne vous reste plus qu'à le téléverser et regarder le résultat !

 

Maintenant voici une synthèse du code à obtenir :

Attention ⚠️ N'oubliez pas d'ajouter la bibliothèque "Servo" et de rajouter la ligne de code :

Il faut mettre cette ligne de code avant la partie setup.

#include <Servo.h>

Vous avez tout votre code, il vous suffit de le passer dans la carte Arduino et d'observer si le servomoteur bouge quand une pression est exercée sur le bouton.

Si rien ne se produit, n'hésitez pas à relire votre code, c'est souvent dans le code que ce cache les difficulées de ce tutoriel⚡

Le servomoteur se met en mouvement dès qu'une pression est éxercée sur le bouton ? C'est absolument dingue ... Un tutoriel de plus a été finis avec brio !  🌠

Impréssionant ce septième tutoriel !  🤘 🖐️ Il est venu le moment de faire tourner un autre type de moteur plus puissant ! 🗜️.

Vous en bavez d'envie ? Appuyez votre sourie juste en dessous alors !

Servomoteur (SG90).JPG