SIK Experiment Guide for the Arduino 101/Genuino 101 Board (French)

This Tutorial is Retired!

This tutorial covers concepts or technologies that are no longer current. It's still here for you to read and enjoy, but may not be as useful as our newest tutorials.

Pages
Contributors: D___Run___
Favorited Favorite 0

Expérience 9 : Lire un capteur de température

Introduction

Comme son nom l'indique, un capteur de température permet de mesurer la température ambiante. Dans cette expérience, vous allez lire la valeur brute (comprise entre 0 et 1023) du capteur de température, calculer la température réelle, puis l'imprimer via le moniteur série. Vous ne savez pas ce qu'est le moniteur série ? Vous le découvrirez en réalisant cette expérience !

Composants nécessaires

Vous aurez besoin des composants suivants :

  • 1 plaque Breadboard
  • 1 carte Arduino 101 ou Genuino 101
  • 3 cavaliers
  • 1 capteur de température TMP36

Vous n'avez pas le SIK ?

Pour réaliser cette expérience sans le SIK, nous vous suggérons d'utiliser les composants suivants :

Breadboard - Self-Adhesive (White)

Breadboard - Self-Adhesive (White)

PRT-12002
$4.95
41
Jumper Wires - Connected 6" (M/M, 20 pack)

Jumper Wires - Connected 6" (M/M, 20 pack)

PRT-12795
$1.95
2
Temperature Sensor - TMP36

Temperature Sensor - TMP36

SEN-10988
$1.50
16

Vous aurez également besoin d'une carte Arduino 101 ou Genuino 101.

Arduino 101

DEV-13787
9 Retired

Genuino 101

DEV-13984
Retired

Présentation du capteur de température TMP36

alt text

Le TMP36 est un capteur de température basse tension de précision. Il fournit une valeur de tension linéairement proportionnelle à la température en degrés Celsius. Il ne requiert aucun étalonnage externe pour fournir la précision type de ±1°C à +25°C et de ±2°C sur la plage de températures comprise entre −40°C et +125°C. La tension de sortie peut être facilement convertie en température à l'aide du facteur d'échelle de 10 mV/°C.

Si la face plate portant une inscription se trouve face à vous, cela signifie que la broche centrale est votre broche de signal, que la broche de gauche est celle de la tension d'alimentation (3,3 V dans ce tutoriel) et celle de droite se connecte à terre.

Astuce de pro : Le TMP36 ressemble à un transistor. Déposez un point de vernis à ongle sur sa partie supérieure pour le trouver facilement.

Branchement du matériel

Vous êtes prêt à tout raccorder ? Consultez le schéma de câblage ci-dessous pour savoir comment faire.

Faites particulièrement attention aux marquages indiquant comment placer les composants sur la plaque breadboard, car les composants polarisés ne peuvent être connectés à un circuit que dans une direction.

Attention : Le capteur de température ne peut être connecté à un circuit que dans une direction. Le schéma ci-dessous montre les broches du TMP36.

Schéma de câblage de l'expérience

alt text

Pour agrandir le circuit, cliquez sur le schéma.

Ouverture du sketch

Ouvrez l'EDI Arduino sur votre ordinateur. Le codage en langage Arduino contrôlera votre circuit. Ouvrez le code du Circuit 9 en accédant au « Code du guide SIK 100 » que vous avez précédemment téléchargé et placé dans votre dossier « Examples ».

Pour ouvrir le code, cliquez sur : File > Examples > 101 SIK Guide Code > Circuit_09

Vous pouvez également copier et coller le code suivant dans l'EDI Arduino. Cliquez sur Télécharger et observez ce qu'il se passe.

language:cpp
/*
SparkFun Inventor's Kit
Example sketch 07

TEMPERATURE SENSOR

  Use the "serial monitor" window to read a temperature sensor.

This sketch was written by SparkFun Electronics,
with lots of help from the Arduino community.
This code is completely free for any use.
Visit http://learn.sparkfun.com/products/2 for SIK information.
Visit http://www.arduino.cc to learn more about Arduino.

*/

//analog input pin constant
const int tempPin = 0;

//raw reading variable
int tempVal;

//voltage variable
float volts;

//final temperature variables
float tempC;
float tempF;

void setup()
{
  // start the serial port at 9600 baud
  Serial.begin(9600);
}

void loop()
{
 //read the temp sensor and store it in tempVal
 tempVal = analogRead(tempPin);

 //print out the 10 value from analogRead
 Serial.print("TempVal = ");
 Serial.print(tempVal);

 //print a spacer  
 Serial.print(" **** ");

 //converting that reading to voltage by multiplying the reading by 3.3V (voltage of       //the 101 board)
 volts = tempVal * 3.3;
 volts /= 1023.0;

 //print out the raw voltage over the serial port
 Serial.print("volts: ");
 Serial.print(volts, 3);

 //print out divider
 Serial.print(" **** ");

 //calculate temperature celsius from voltage
 //equation found on the sensor spec.
 tempC = (volts - 0.5) * 100 ;

// print the celcius temperature over the serial port
Serial.print(" degrees C: ");
Serial.print(tempC);

//print spacer
 Serial.print(" **** ");

// Convert from celcius to fahrenheit
tempF = (tempC * 9.0 / 5.0) + 32.0;

//print the fahrenheit temperature over the serial port
Serial.print(" degrees F: ");
Serial.println(tempF);

//wait a bit before taking another reading
delay(1000);
}

À propos du code

Serial.begin(9600);

Avant d'utiliser le moniteur série, vous devez appeler Serial.begin() pour l'initialiser. 9600 indique le « débit en bauds », c'est-à-dire la vitesse de communication. Quand deux appareils communiquent, les deux doivent être réglés sur la même vitesse.

Serial.print(tempC);

La commande Serial.print() est très astucieuse. Elle peut quasiment tout imprimer, y compris les variables de tous types, le texte cité ("strings"), etc. Consultez http://arduino.cc/en/serial/print pour en savoir plus.

Serial.println(tempF);

Serial.print() imprime tout sur la même ligne.

Serial.println() passe à la ligne suivante. En utilisant ces deux commandes ensemble, vous pouvez créer des impressions de texte et de données faciles à lire.

Ce que vous devez voir

Vous devez pouvoir lire la température que détecte votre capteur de température sur le moniteur série de l'EDI Arduino. Dans le cas contraire, vérifiez que vous avez monté correctement le circuit, vérifié et téléchargé le code sur votre carte. SI le problème persiste, consultez la section Dépannage.

Exemple de ce que vous devez voir sur le moniteur série de l'EDI Arduino :

TempVal = 223 **** volts: 0.719 **** degrés C: 21.94 **** degrés F: 71.48

TempVal = 224 **** volts: 0.723 **** degrés C: 22.26 **** degrés F: 72.06

TempVal = 224 **** volts: 0.723 **** degrés C: 22.26 **** degrés F: 72.06

TempVal = 224 **** volts: 0.723 **** degrés C: 22.26 **** degrés F: 72.06

TempVal = 224 **** volts: 0.723 **** degrés C: 22.26 **** degrés F: 72.06

TempVal = 224 **** volts: 0.723 **** degrés C: 22.26 **** degrés F: 72.06

TempVal = 223 **** volts: 0.719 **** degrés C: 21.94 **** degrés F: 71.48

TempVal = 223 **** volts: 0.719 **** degrés C: 21.94 **** degrés F: 71.48

alt text

Dépannage

Rien ne semble se produire

Dans cette expérience, aucune indication externe ne montre que cela fonctionne. Pour voir les résultats, vous devez ouvrir le moniteur série de l'EDI Arduino (instructions sur la page précédente).

Un charabia s'affiche

Ce problème est dû au fait que le moniteur série reçoit les données à une vitesse différente de celle attendue. Pour le régler, cliquez sur la liste déroulante « *** baud » et sélectionnez « 9600 baud ».

La valeur de température ne change pas

Essayez de pincer le capteur avec les doigts pour le chauffer ou de placer un sac de glace contre le capteur pour le refroidir.

Le capteur de température est très chaud

Vous l'avez câblé à l'envers ! Débranchez immédiatement votre carte Arduino, laissez le capteur refroidir et vérifiez le câblage. Si vous vous en êtes rendu compte à temps, le capteur ne sera peut-être pas endommagé et fonctionnera encore.