Un module de connexion Grove (ou shield Grove) permet de connecter facilement capteurs et actionneurs Grove sur une carte Arduino sans utiliser de breadboard.
Quelques exemples de modules Grove pouvant être connectés au shield :
Pour connaître les autres modules, voir le wiki du fabricant Seeedstudio
Le module de connexion Grove est équipé de 16 connecteurs GROVE :
Attention à placer l’interrupteur en position 5V lorsque vous l'utilisez avec un Arduino UNO.
Les connecteurs sont équipés d'un détrompeur empêchant tout branchement à l'envers.
Les câbles GROVE sont toujours constitués de quatre fils :
La plupart des modules Grove n'utilisent que trois fils.
Le fil blanc est peu utilisé. Sur le module Grove est alors indiqué NC (non connecté) au niveau de la connexion du fil blanc.
Attention, sur la base Grove, il faudra tenir compte des broches utilisées.
Par exemple, la broche 3 est présente sur le connecteur D2 et D3.
Si on branche un câble dont un fil utilise la broche 3 de D2 alors il ne faut pas brancher de câble qui utilise la broche 3 sur D3.
Exemple :
Si on connecte un afficheur 4 digits sur le connecteur D2, il utilise les broches 2 et 3 de l'Arduino.
Si on ajoute un capteur de température sur le connecteur D3, il utilise aussi la broche 3 de l'Arduino !
Le branchement n'est pas correct.
Si on connecte un capteur de température sur le connecteur D2, il n'utilisera que la broche 2 de l'Arduino.
Si on ajoute l'afficheur 4 digits sur le connecteur D3, il utilisera les broches 3 et 4 de l'Arduino.
Le branchement est correct.
Réalisons un montage constitué d'un bouton sur le connecteur D2 et d'un buzzer sur le connecteur D3.
Lors de l'appuie sur le bouton, le buzzer joue une note (La à 440 Hz) durant 500 ms.
Le montage
Le code
const int bouton = 2; // le bouton est connecté sur la broche 2 const int buzzer = 3; // le buzzer est connecté sur la broche 3 void setup() { pinMode(bouton, INPUT); // mettre le bouton en "entrée" pinMode(buzzer, OUTPUT); // mettre le buzzer en "sortie" } void loop() { int etat_bouton = digitalRead(bouton); // lire l'état du bouton (0 ou 1) if(etat_bouton == 1){ tone(buzzer, 440, 500); // tone(broche, fréquence, durée en ms) } }