Denis Meyer

Banc d'essai : Kit de démarrage Grove pour Arduino

13 juin 2016, 08:00
Banc d'essai : Kit de démarrage Grove pour Arduino
Banc d'essai : Kit de démarrage Grove pour Arduino
Presque plus personne ne craint les microcontrôleurs ni surtout l’Arduino ; en quelques années, la micro-électronique embarquée est devenue l’affaire de (presque) tous. La popularité de cette plateforme s'explique par la commodité et la gratuité de l’environnement de programmation (IDE) soutenues par le dynamisme de la communauté de ses utilisateurs. Des personnes créatives qui non seulement n’y connaissent à peu près rien en technique, et qui n’ont pas spécialement envie d’y connaître quelque chose, peuvent atteindre un but précis, réaliser telle ou telle fonction dont elles rêvent : Arduino est le couteau suisse du bricolage électronique programmé créatif et décomplexé.
Reste la question du matériel, des soudures, des fils... que certains ressentent comme un obstacle.
Qui ne veut pas se jeter à l’Arduineau sans bouée passera par un kit d’initiation comme celui que je présentais ici il y a quelques semaines : mcookie. Ses caractéristiques haut de gamme (WiFi, Bluetooth, horloge en temps réel, etc), sa conception et sa finition extrêmement soignées, le mode d’interconnexion raffiné des modules magnétiques, le placent dans un segment de prix qui le met hors de portée de nombreuses bourses, surtout s'il s'agit de débuter.
  
 
Une partie du contenu du kit.
Il existe heureusement des alternatives moins ambitieuses et meilleur marché, comme le Grove Starter kit for Arduino (v3) de seeedstudio que vous trouverez dans l’e-choppe d’Elektor.

Ni fer à souder ni plaque d'essai
Le principe d’un tel kit consiste à réunir pour le débutant une collection de petits modules de capteurs et d’organes de commande d’usage universel et d’en faciliter la connexion à une carte Arduino UNO. Pas besoin ni de fer à souder ni de plaques d’essai, tout passe par une carte de distribution des signaux de et vers la carte de l’Arduino (laquelle n'est pas fournie dans le kit) et par un jeu de câbles pour y relier solidement les modules. Ici ils sont une dizaine et le kit compte donc autant de câbles en nappe (20 cm chacun). Quand on sait que pour chaque module il faudrait trois fils (ou plus) si on les câblait à la main, le bénéfice du kit devient évident : pas de spaghetti de fils qui risquent de se détacher au moindre mouvement !  
 
   
Le capteur de lumière
Commençons par les modules de capteurs fournis du kit :
  1. capteur tactile (capacitif)
  2. capteur d’angle (potentiomètre)
  3. capteur de température (NTC)
  4. capteur de lumière (LDR, ci-contre)
  5. capteur de son (microphone)
Le circuit imprimé de chacun de ces modules fait environ 2x2 cm et est muni d’un connecteur que l’on relie à la carte d’interconnexion par un câble (avec connecteur femelle à 4 broches aux deux extrémités). Celle-ci, appelée Base shield, munie elle-même de connecteurs mâles idoines, a exactement les dimensions de la carte Arduino Uno. Vous savez sans doute déjà que le principe de beaucoup de cartes d'extension de l'Arduino, appelées shields, est de venir s'enficher sur les connecteurs d’entrées-sorties de la carte Arduino au moyen de picots mâles (côté soudure de la carte d'extension, ici Base shield).
 
 
Base shield enfiché sur Arduino. Au 1er plan,
le résonateur piézo et le bouton. 
  
Enfichage
De l’autre côté, de part et d’autre du Base Shield se trouvent les connecteurs femelles correspondants (de couleur bleue) qui permettent à leur tour d’empiler éventuellement un ou plusieurs autres shields.
Le reste de cette carte est occupé par les embases pour les connecteurs des câbles. Nous reviendrons sur leur disposition dans un instant. Si par hasard vous utilisez un version Arduino antérieure à la R3, vous constaterez qu'il lui manque deux fois deux broches, de sorte que quatre des broches du Base shield restent en l'air. En principe, cela ne porte pas à conséquence.


Les autres modules sont :
  • un afficheur LCD (16x2) à rétroéclairage RGB ;
  • un relais 35 V / 1 A (pour commander des charges pas trop gourmandes, un petit moteur, un interrupteur, ou un autre relais plus puissant)
  • un buzzer piézo-électrique (pour produire des sons)
  • un module LED avec trois LED (bleu, vert, rouge) de 5 mm que l'on peut enficher sur un support tulipe de qualité
  • un bouton poussoir
  • un mini servomoteur
  • un câble d’alimentation Arduino pour pile 9 V

Selon leur fonction, les modules sont connectés à une catégorie différente de connecteurs la carte d’interface Base shield : A0 à A3 pour les modules dits analogiques, comme le capteur d’angle (potentiomètre) ou le capteur sonore (microphone). D2 à D8 pour les modules logiques (commande en tout ou rien) comme le relais, la LED ou le bouton. Le port logique 1 porte la mention UART, c’est l’interface série par défaut de l’Arduino. Les ports logiques D3, D5 et D6 peuvent être utilisés pour la modulation de largeur d’impulsion (PWM) ; celle-ci permet, avec une sortie tout ou rien (= logique), de réaliser une commande proportionnelle (= analogique), p. ex. pour moduler la vitesse d’un moteur ou la luminosité d’une LED.

L’afficheur LCD est relié au connecteur marqué "I2C". Ne vous y trompez pas, la mention RGB dans le type de cet afficheur concerne son rétroéclairage ; c'est lui qui est en couleur (rouge, verte ou bleue), pas l’affichage du texte ou des pixels qui est monochrome.


Si vous vous trompez de connecteur sur le Base shield, le sketch ne marchera pas, mais à part ça il ne se passera rien de grave. C'est là un des avantages principaux de cette forme de kit d'initiation par rapport aux montages sur carte d'essai. 

 Toutes les petites cartes (ci-contre le module du relais par exemple) sont munies d'oeillets et d'encoches qui permettent éventuellement de les fixer sur une planchette, avec ou sans entretoise.
Hormis la LED témoin verte, la carte Base shield ne comporte aucun composant actif, mais on y remarque un bouton de remise-à-zéro de l'Arduino et un commutateur pour le choix de la tension d'alimentation (3,3 V ou 5 V). 

Le kit présenté dans une solide boîte en plastique translucide avec casier de rangement est livré avec une notice (en anglais) qui, sans entrer dans les détais techniques, décrit assez bien la fonction de chaque module pour que même un débutant puisse se débrouiller, et propose la réalisation de plusieurs applications ludiques. Pour cela il suffit de télécharger les sketches (ce sont les programmes) correspondants du site de seeed et de les transférer dans l'Arduino ; cette procédure est décrite sur leur site.

Voici ce que donne p. ex. le sketch qui permet d'allumer et éteindre une LED avec le capteur tactile et le module à LED. Plus simple que ça, tu meurs !
const int TouchPin=9;
const int ledPin=12;
void setup() {
pinMode(TouchPin,INPUT);
pinMode(ledPin,OUTPUT);
} 
 
void loop() {
int sensorValue = digitalRead(TouchPin);
if(sensorValue==1)
{
digitalWrite(ledPin,HIGH);
}
else
{
digitalWrite(ledPin,LOW);
}
}

Beaucoup de ceux qui s'initient à la programmation ne chercheront peut-être pas à approfondir leurs connaissances en matière d'électronique, mais quelqu'un qui souhaite savoir exactement ce qu'il y a sur les modules n'aura qu'à en télécharger les schémas. Ceux-ci sont dépourvus d'explication, mais, si vous êtes un tant soit peu curieux, ils vous permettront, non seulement de comprendre ce que vous faites, mais aussi, une fois que vous serez familiarisé avec le sujet, de modifier éventuellement l'un ou l'autre module pour l'adapter à vos besoins. Ainsi vous mettrez le doigt dans l'engrenage et commencera pour vous une belle aventure de découverte de l'électronique. C'est tout le mal que l'on vous souhaite !

Il est intéressant de préciser que ces modules Grove offrent non seulement une entrée facile  dans le monde des capteurs et de leur programmation, mais aussi qu'ils sont compatibles avec d’autres cartes d’interfaçage que le Base Shield pour Arduino. Il en existe pour des cartes plus puissantes qu'Arduino comme les Raspberry Pi, Beaglebone, mbed etc. avec lesquelles vous pourrez éventuellement les réutiliser si vous poursuivez votre quête dans l'internet des objets.

Liens utiles :
Téléchargement de l'IDE Arduino
Wiki du site de seeedstudio
Téléchargement des sketches (Github) et du mode d'emploi du sketchbook de seeedstudio
Présentation générale du principe des modules Grove (ne concerne pas seulement ce kit)
Code de référence Arduino, par exemple pour la commande du servomoteur

NB : le temps de réponse du site www.seeedstudio.est sensiblement parfois long
 
Chargement des commentaires
articles apparentés