Câbler et tester vos capteurs

Vous rédigerez un compte rendu pour chaque capteur

FondamentalCâbler vos capteurs et actionneurs

A partir des liens ci-dessous (et d'autres) rechercher des informations utiles sur vos capteurs :

  • tension d'alimentation

  • Interface avec la carte Arduino  ? analogique / digital / numerique /I2C , broche spécifique ?

  • Plage de mesure, précision ?

  • Exemple de programme

Les capteurs / actionneurs utilisés ont une connectique "Grove" :

  • Fil noir GND (0V) --> le relier à une broche 'GND' ou 'G' du Nano IO Shield

  • Fil rouge VCC (5V) --> le relier à une broche 'VCC' ou '+' du Nano IO Shield

  • Fil blanc (il est utilisé lorsque la communication entre le capteur et l'Arduino nécessite 2fils) ex: pour les capteurs I2C--> le relier à la broche 'SDA' du Nano IO Shield

  • Fil Jaune --> le relier à une broche correspondant au type du capteur -->Une broche Ax pour les capteurs analogique, Dx pour les digitaux, La broche 'SCL' pour l'I2C

Sur la carte "Nano" les broches analogiques utilisables vont de A0 à A7 ( A4 et A5 devront être exclues si vous utilisez le bus I2C ).

Les broches digitales utilisables vont de 'D2 à D13'.

RappelProgramme Arduino

La structure d'un programme Arduino est formée de 2 fonctions :

  • la fonction 'setup() ' qui est exécutée une fois en début de programme.

  • la fonction 'loop()' qui est exécutée en boucle indéfiniment.

exemple de programme :

// les 2 barres obliques (slash) indiquent le début d'une zone de commentaires , la fin de la ligne correspond à la fin du commentaire.

#define tempo 2000 // ceci est une directive de compilation,ici le compilateur remplacera le texte 'tempo' par '2000' dans le programme

void setup() {

    pinMode(4, OUTPUT); //cette fonction permet d'indiquer au microcontrôleur que la broche 4 (D4) sera utilisée comme un sortie

}

void loop() {

    digitalWrite(4,1); // met la broche 4 (si elle est définie comme une sortie) à 1 (ce qui correspond à une tension de 5V sur cette broche)

    delay(tempo ); // la fonction 'delay(ms)' bloque l'exécution de programme pendant la durée 'ms' exprimée en milliseconde (soit 2s puisque 'tempo' est défini à 2000)

    digitalWrite(4,0); // met la broche 4 (si elle est définie comme une sortie) à 0 (ce qui correspond à une tension de 0V sur cette broche)

    delay(tempo); //

}

MéthodeTest des actionneurs (relais)

Le relais électromagnétique

Il suffit de changer l'état (1 /0 ) de la broche sur laquelle il est connecté. Le changement d'état du relais s'accompagne d'un 'click' audible, de plus le module est équipé d'une led témoin.

Adapter / tester le programme précédent pour vérifier le fonctionnent du relais.

MéthodeTest des capteurs digitaux

On peut visualiser l'état de la sortie du capteur avec la led de l'arduino (broche 13)

Rechercher, comprendre et adapter des exemples Arduino ici : ex Digital /button

MéthodeTest des capteurs analogique

Afficher sur la console (avec un Serial.printl()) la valeur mesurée.

Rechercher, comprendre et adapter des exemples Arduino ici : ex Analog/analogInOutSerial

Pour le capteur de luminosité :

  1. Relever les valeurs lues en absence de lumière et lorsque la luminosité est maximum .

  2. Modifier / compléter le code pour afficher la valeur en % (0% dans l'obscurité et 100% en pleine lumière).

MéthodeTest des capteurs I2C

Vous n'avez pas encore les connaissances nécessaires pour écrire le code, il vous faudra vous contentez des bibliothèques et exemples trouvés.

Bibliothèque utilisable pour les capteurs :

  • pour le capteur SHT31 --> utiliser le gestionnaire de bibliothèque , rechercher sht31 et choisir 'Adafruit SHT31 library (version 1.1.6)

    Vous trouverez des exemple de programme dans :Fichier --> Exemples ...

  • pour le capteur MCP9808 --> utiliser le gestionnaire de bibliothèque , rechercher sht9808 et choisir 'Adafruit MCP9808 library (version 1.1.0)

    Vous trouverez des exemple de programme dans :Fichier --> Exemples ...

Rechercher et installer une nouvelle bibliothèque --> voir la vidéo suivante