[[materiels:accueilmateriels|{{ :iconemaison.jpg?nolink&30|Sommaire Matériels}}]]
===== Capteurs - Température =====
[Mise à jour le 28/6/2024]
\\
==== 1. Généralités ====
{{ :materiels:capteurs:iconetemerature.png?nolink&100|}}
La température est une grandeur physique mesurée à l’aide d’un thermomètre et étudiée en thermométrie. Dans la vie courante, elle est reliée aux sensations de froid et de chaud, provenant du transfert thermique entre le corps humain et son environnement.
En physique, elle se définit de plusieurs manières : comme fonction croissante du degré d’agitation thermique des particules (en théorie cinétique des gaz), par l’équilibre des transferts thermiques entre plusieurs systèmes ou à partir de l’entropie (en thermodynamique et en physique statistique).
La température est une variable importante dans d’autres disciplines : météorologie et climatologie, médecine, et chimie.
{{ :materiels:capteurs:wikiversite.jpg?nolink&60|}}
* // Ressource à consulter sur **Wikiversité** // : Capteur de température
* // Tableau comparatif des capteurs **Groove** //
* Fichier **Excel** à télécharger ici
----
==== 2. Capteurs analogiques ====
=== 2.1 Thermistance ===
* //**Généralités**// \\ Résistance électrique dont la valeur varie rapidement en fonction de la température.
{{ :materiels:capteurs:ctn.png?nolink&100|}}
* //**CTN**// \\ Les CTN (Coefficient de Température Négatif, en anglais NTC, Negative Temperature Coefficient) sont des thermistances dont la résistance diminue de façon uniforme quand la température augmente. Leur modèle est donné ci-dessous.
{{ :materiels:capteurs:modelectn.png?nolink |}}
{{ :materiels:capteurs:ctp.png?nolink&100|}}
* //**CTP**// \\ Les CTP (Coefficient de Température Positif, en anglais PTC, Positive Temperature Coefficient) sont des thermistances dont la résistance augmente avec la température. On distingue les thermorésistances (augmentation continue et régulière de la résistance avec la température, voir ci-dessus) des CTP dont la valeur augmente fortement avec la température dans une plage de température limitée (typiquement entre 0 °C et 100 °C). \\
\\
=== 2.2 CTN 10k ===
{{ :materiels:capteurs:ctn10k.png?nolink|Thermistance CTN 10kΩ}}
== 2.2.1 Présentation ==
* // **Distributeur** // : Gotronic
* // **Caractéristiques** //
* Résistance à 25°C : 10 kΩ
* Puissance: 0.25 W.
* Tolérance: ±10%.
* B=4300.
{{ :materiels:capteurs:acrobate.gif?nolink&40|}}
* // **Documentation** //
* Fichier Acrobat Reader à télécharger ici
* // **Modèle** //
* Résistance à 25°C : 10 kΩ
* B=4300.
* Tolérance: ±10%.
{{ :materiels:capteurs:modele2ctn.png?nolink&600 |}}
{{ :materiels:capteurs:acrobate.gif?nolink&40|}}
* // **Aide** pour la **simulation de la chaîne de mesure** //
* Les équations de la chaîne de mesure sont téléchargeables ici {{ :materiels:capteurs:excel.png?nolink&30|}}
* Le modèle à simuler est téléchargeable ici
* //**Algorithme**//
* L'algorithme **T=f(N)** donnant la température en fonction de la sortie du convertisseur analogique / numérique est téléchargeable ici
\\
== 2.2.2 Exemples de code ==
* [[#tab-ctn10kduino_1|Arduino UNO]]
* [[#tab-ctn10kesp_1|ESP (Arduino)]]
* [[#tab-ctn10kpico_1|Rpi Pico (µPython)]]
{{ :materiels:capteurs:divctn.png?nolink&120|}}
* //**Connexion** à un shield// Tinkerkit v2 monté sur une Arduino Uno.
{{ :materiels:capteurs:connectctn.jpg?nolink&600 |}}
* // **Exemple** pour tester le capteur //
{{ :materiels:capteurs:distance:arduinoico.png?nolink&40|}}
/*
Mesure de la température ambiante avec une CTN
Bibliothèque math.h : https://www.arduino.cc/en/math/h
*/
// Constantes
//------------------------------------------------------
// CTN
const int Beta = 4300; // Kelvin
const float T0 = 298.15; // Kelvin (25°C)
const int R0 = 10000; // Résistance du capteur à 25°C
// Diviseur de tension
const int Vcc = 5; // Volt
const int R1 = 12000; // Ohm
// CAN
const int n = 10;
const int VPE = 5;
// Variables
//------------------------------------------------------
int CTN = A0; // La CTN et son conditionneur sont connectés sur la broche A0
int N = 0; // Image de la température, sortie du CAN
double temperature = 0.0; // Résultat du calcul de la température : temperature=f(N)
// Coefficient du CAN
float kcan = pow(2, n) / VPE;
// Coefficients utilisés pour simplifier le calcul de la température
// k0, a
double k0 = kcan * Vcc * R1;
double a = R0 / exp(Beta / T0);
// k1, k2
double k1 = k0 / a;
double k2 = R1 / a;
//------------------------------------------------------
void setup()
{
Serial.begin(9600); // Fenêtre "serial" pour la mise au point
}
//------------------------------------------------------
void loop()
{
N = analogRead(CTN);
temperature = Beta / log((k1 / N) - k2) - 273.15;
Serial.println(temperature);
}
A venir
A venir
\\
=== 2.3 Module SEN23292P ===
{{ :materiels:capteurs:sen23292p.jpg?nolink&150|Grove - Temperature Sensor V1.2}}
== 2.3.1 Présentation ==
* // **Source** // : wiki seeed studio
Ce capteur de température compatible Grove à CTN **NCP18WF104F03RC** délivre un signal analogique de 0 à 5 Vcc en fonction de la température mesurée.
* // **Distributeur** // : Gotronic
* // **Caractéristiques** //
* Alimentation: 5 Vcc
* Plage de mesure: -40 à +125 °C
* Précision: 1,5 °C
* Dimensions: 20 x 20 x 13 mm
{{ :materiels:capteurs:acrobate.gif?nolink&40|}}
* // **Modèle** //
* PDF à télécharger ici
{{ :materiels:capteurs:divctn.png?nolink&120| }} {{ :materiels:capteurs:mdlsen23292p.png?nolink&600 |}}
{{ :materiels:capteurs:excel.png?nolink&40|}}
* // **Aide** pour la **simulation de la chaîne de mesure** //
* Les équations de la chaîne de mesure sont téléchargeables ici
* Le modèle à simuler est téléchargeable ici
* //**Algorithme**//
* L'algorithme **T=f(N)** donnant la température en fonction de la sortie du convertisseur analogique / numérique est téléchargeable ici
\\
== 2.3.2 Exemples de code ==
* [[#tab-sen23292pduino_1|Arduino UNO]]
* [[#tab-sen23292pesp_1|ESP (Arduino)]]
* [[#tab-sen23292ppico_1|Rpi Pico (µPython)]]
* // **Connexion** à un shield // Tinkerkit v2 monté sur une Arduino Uno.
{{ :materiels:capteurs:branchsen23292p.jpg?nolink&600 |}}
{{ :materiels:capteurs:distance:arduinoico.png?nolink&40|}}
* //**Exemple** pour tester le capteur//
A venir
A venir
A venir
\\
====3. Capteurs intégrés ====
=== 3.1 LM35 ===
{{ :materiels:capteurs:temperature:dfrobot18b20.jpg?nolink| DFROBOT LM35 Linear Temperature Sensor}}
== 3.1.1 Présentation ==
* // **Source** // : wiki DFROBOT
Le capteur de température linéaire LM35 peut être utilisé pour détecter la température ambiante.
* //**Distributeur**// : Gotronic
* //**Caractéristiques**//
* Alimentation : 4 à 30 V
* Plage de mesure : -55 / +150°C
* Sensibilité : 10mV/°C
* Précision : +/-0,5°C (à 25°C)
* Boîtier : TO92
{{ :materiels:capteurs:acrobate.gif?nolink&40|}}
* // **Documentation** //
* PDF à télécharger ici
* // **Modèle** //
* Sensibilité : 10mV/°C
{{ :materiels:capteurs:acrobate.gif?nolink&40|}}
* //**Aide** pour la **simulation** de la chaîne de mesure//
* Le modèle à simuler est téléchargeable ici
\\
== 3.1.2 Exemples de code ==
* [[#tab-lm35duino_1|Arduino UNO]]
* [[#tab-lm35esp_1|ESP (Arduino)]]
* [[#tab-lm35pico_1|RPi Pico (µPython)]]
* //**Connexion** à un shield// Tinkerkit v2 monté sur une Arduino Uno
{{ :materiels:capteurs:lm35.jpg?nolink&600 |}}
* // **Exemple** pour tester le capteur //
{{ :materiels:capteurs:distance:arduinoico.png?nolink&40|}}
void setup()
{
Serial.begin(9600); // Débit binaire : 9600 bps
}
void loop()
{
uint16_t N;
double temperature;
// Lecture
N=analogRead(A0);//LM35 connecté à Analog 0
// Traitement
temperature = (double) N * (5/10.24);
// Ecriture
Serial.print("Température:"); // Affiche la température sur le moniteur
Serial.print(temperature);
Serial.println("C");
delay(1000);
}
Mesurer une température négative (Télécharger)
A venir
A venir
\\
===3.2 MM111 ===
{{ :materiels:capteurs:mm111.jpg?nolink&200|}}
Capteur de température Velleman basé sur un amplificateur **MCP6L01T-E / LT** permettant de mesurer la **température** entre -50 et 150 °C. Il communique avec un microcontrôleur type Arduino ou compatible via une liaison analogique.
* // **Distributeur** // : Gotronic
* // **Caractéristiques** //
* Alimentation: 5 Vcc
* Plage de mesure: -50 à +150 °C
* Sensibilité: 21 mV/°C
* Précision: 0,4 °C
* Dimensions: 22 x 22 x 5 mm
{{ :materiels:capteurs:acrobate.gif?nolink&40|}}
* // **Documentation** //
* PDF à télécharger ici
\\
==== 4. Capteurs numériques ====
=== 4.1 MLX90614 ===
{{ :materiels:capteurs:mlx90614.png?nolink&120|MLX90614 - DFROBOT}}
== 4.1.1 Présentation ==
* //**Sources**//
* wiki DFROBOT
Le MLX90614 est un capteur de température infrarouge sans contact basé sur le principe de Stefan-Boltzmann.
* //**Distributeur**// : Gotronic
* //**Caractéristiques**//
* Alimentation: 3,3 à 5 Vcc
* Consommation: 1,2 mA
* Plage de mesure: -70 à 382 °C
* Résolution: 0.01 °C
* Interface I2C (SMBus) : **SLA** = **0x5A**
* Dimensions: 32 x 18 mm
* //**Schéma-blocs**// {{ :materiels:capteurs:temperature:bloc_diagram_mlx90614.png?nolink |}} \\
* DSP : processeur du signal numérique
* //**Principe de fonctionnement**//
* Rayonnement Infrarouge (IR) : Tout objet émet un rayonnement infrarouge proportionnel à sa température. Le MLX90614 capte ce rayonnement.
* Détecteur Thermopile : Le module du capteur MLX90614 comprend un détecteur thermopile infrarouge. Ce détecteur collecte le rayonnement infrarouge dans son champ de vision.
* Conversion en Signal Numérique : Le signal électrique généré par le thermopile est converti en un signal numérique par l’unité de traitement du signal DSP (Digital Signal Processing).
* Communication I2C : Le capteur transmet ensuite ces lectures de température via le bus I2C au microcontrôleur.
{{ :materiels:capteurs:acrobate.gif?nolink&40|}}
* //**Documentation**//
* Datasheet à télécharger ici
* Schéma du module à télécharger ici
{{ :materiels:capteurs:environnement:iconechronogrammes.png?nolink&50|}}
* //**Chronogrammes**//
* Relevé des signaux du bus I2C faite lors d'une mesure : **TA=19,55°C** et **Tobj1=-13,73°C**. A télécharger ici.
\\
== 4.1.2 Bibliothèques ==
* [[#tab-mlx90614duino_1|Arduino]]
* [[#tab-mlx90614esp_1|ESP (Arduino)]]
* [[#tab-mlx90614pico_1|Rpi Pico (µPython)]]
* // **Bibliothèque** à installer dans l'IDE Arduino //
{{ :materiels:capteurs:temperature:libadafruitmlx90614.png?nolink |}}
A venir
A venir
\\
== 4.1.3 Exemples de code ==
* [[#tab-mlx90614duino_2|Arduino]]
* [[#tab-mlx90614esp_2|ESP (Arduino)]]
* [[#tab-mlx90614pico_2|Rpi Pico (µPython)]]
* //**Ressources**//
* wiki DFROBOT{{ :materiels:capteurs:intensite:doc.gif?nolink|}}
* //**Fiche guide**// pour l'étude d'une chaîne d'information comprenant un **MLX90614** [Télécharger]
* //**Connexion** à un shield// Tinkerkit v2 monté sur une Arduino Uno
{{ :materiels:capteurs:montmlx90614.png?nolink |}}
{{ :materiels:capteurs:distance:arduinoico.png?nolink&40|}}
* //**Exemple** de l'IDE Arduino pour tester le capteur// \\ Dans l'IDE Arduino, sélectionner : Fichier → Exemples → Adafruit MLX90614 Library → mlxtest
* //**Résultats** dans la console//
{{ :materiels:capteurs:temperature:mlx90614.png?nolink&350 |}}
A venir
A venir
=== 4.2 TMP102 ===
{{ :materiels:capteurs:tmp102.png?nolink&120|}}
== 4.2.1 Présentation ==
* // **Source** // : wiki Sparkfun
Le TMP102 est capable de lire des températures avec une résolution de 0,0625 °C et une précision allant jusqu'à 0,5 °C. La sortie possède des résistances intégrées de 4,7kΩ pour les communications I2C et fonctionne de 1,4V à 3,6V. La communication I2C utilise une signalisation à drain ouvert, il n’est donc pas nécessaire d’utiliser le décalage de niveau.
* // **Distributeur** // : Mouser
* // **Caractéristiques** //
* Alimentation: 1,4 à 3,6 Vcc
* Consommation: 10 µA maxi (1 µA en veille)
* Plage de mesure: -40 °C à +125 °C
* Précision: 0,5 °C (de -25 °C à +85 °C)
* Résolution: 12bits, 0,0625 °C
* Interface I2C : **SLA** = **0x48**
* Dimensions: 16 x 16 mm
{{ :materiels:capteurs:acrobate.gif?nolink&40|}}
* // **Documentation** //
* PDF à télécharger : Datasheet Résumé Datasheet
* Schéma à télécharger ici
\\
== 4.2.2 Bibliothèques ==
* [[#tab-tmp102duino_1|Arduino UNO]]
* [[#tab-tmp102esp_1|ESP (Arduino)]]
* [[#tab-tmp102pico_1|Rpi Pico (µPython)]]
* //**Ressource**// : [[:materiels:capteurs:temperature:libtmp102|Description de la bibliothèque sparkfun et exemple de code]]
* // **Bibliothèque** à installer dans l'IDE Arduino // {{ :materiels:capteurs:temperature:libtmp102.jpg?nolink |}}
A venir
A venir
\\
{{ :materiels:capteurs:environnement:code.png?nolink|}}
== 4.2.3 Exemples de code ==
* [[#tab-tmp102duino_2|Arduino UNO]]
* [[#tab-tmp102esp_2|ESP (Arduino)]]
* [[#tab-tmp102pico_2|Rpi Pico (µPython)]]
* // **Connexion** à un shield // Tinkerkit v2 monté sur une Arduino Uno.
{{ :materiels:capteurs:branchtmp102.jpg?nolink&600 |}}
{{ :materiels:capteurs:distance:arduinoico.png?nolink&40|}}
* //**Exemple** de l'IDE pour tester le capteur// \\ Dans l'IDE Arduino, sélectionner : Fichiers -> Exemple -> SparkFun_TMP102_Breakout -> **Example1_Basic_Temperatue_Readings**
* //**Résultat** dans la console//
{{ :materiels:capteurs:exampletmp102.png?nolink&300 |}}
A venir
A venir
\\
=== 4.3 TMP117 ===
{{ :materiels:capteurs:temperature:sen-15805_dsl.jpg?nolink|}}
== 4.3.1 Présentation ==
* //**Source**// : wiki Sparkfun
Le TMP117 fournit un résultat de mesure de la **température sur 16 bits** avec une **résolution de 0,0078 °C** et une **précision allant jusqu'à ±0,1 °C** sur la plage de température de **-20 °C à 50 °C** sans étalonnage. Le TMP117 possède une interface compatible I2C et SMBus™, une fonctionnalité d'alerte programmable, et l'appareil peut prendre en charge jusqu'à quatre appareils sur un seul bus. Une EEPROM intégrée est incluse pour la programmation de l'appareil avec une mémoire supplémentaire de 48 bits disponible pour une utilisation générale.
* //**Distributeur**// : Mouser
* //**Caractéristiques**//
* Alimentation: 1,8 à 5,5 Vcc (3,3V avec câble Qwiic)
* Consommation: 3,5 µA maxi (150 nA en veille)
* Plage de mesure: -55 °C à +150 °C
* Précision: 0,1 °C (de -20 °C à +50 °C)
* Résolution: 16bits, 0,0078125 °C
* Interface série I2C : **SLA** = **0x48**
* //**Schéma-blocs**//
{{ :materiels:capteurs:temperature:bloc_diagram_tmp117.png?nolink |}}
{{ :materiels:capteurs:acrobate.gif?nolink&40|}}
* //**Documentation**//
* Datasheet à télécharger : ici
* Schéma du module à télécharger ici
{{ :materiels:capteurs:environnement:iconechronogrammes.png?nolink&50|}}
* //**Chronogrammes**//
* Relevés des signaux du bus I2C : **T=18,32°C** (Tektronix MSO2012) et **T=20°C** (Analyseur IKALogic). A télécharger ici.
\\
== 4.3.2 Bibliothèques ==
* [[#tab-tmp117duino_1|Arduino UNO]]
* [[#tab-tmp117esp_1|ESP (Arduino)]]
* [[#tab-tmp117pico_1|Rpi Pico (µPython)]]
* //**Bibliothèques** à installer dans l'IDE Arduino// \\
{{ :materiels:capteurs:temperature:libtmp117.png?nolink |}} \\ ou
\\ {{ :materiels:capteurs:temperature:libtmp117sparkfun.png?nolink |}}
* //**Ressource**// : [[:materiels:capteurs:temperature:libtmp102|Description de la bibliothèque sparkfun et exemple de code]]
{{ :materiels:capteurs:temperature:biblioarduinotmp117.jpg?nolink |}}
* //**GitHub**//
* SparkFun_TMP117_Arduino_Library
A venir
\\
{{ :materiels:capteurs:environnement:code.png?nolink|}}
== 4.3.3 Exemples de code ==
* [[#tab-tmp117duino_2|Arduino UNO]]
* [[#tab-tmp117esp_2|ESP (Arduino)]]
* [[#tab-tmp117pico_2|Rpi Pico (µPython)]]
* //**Ressources**// {{ :materiels:capteurs:intensite:doc.gif?nolink|}}
* //**Fiche guide**// pour l'étude d'une chaîne d'information comprenant un **TMP117** [Télécharger]
* //**Connexion**// à une Base Shield V2 montée sur une Arduino Uno \\
{{ :materiels:capteurs:distance:arduinoico.png?nolink&40|}}
* //**Exemples** de l'IDE Arduino pour tester le capteur//. Dans l'IDE Arduino, sélectionner : \\ - **Adafruit** : Fichier → Exemples → Adafruit TMP117 -> **basic_test** \\ - **SparkFun** : Fichier → Exemples -> SparkFun High Precision Temperature Sensor TMP117 Qwiic -> **Example1_BasicReadings**
{{ :materiels:capteurs:distance:arduinoico.png?nolink&40|}}
* **Un **premier exemple** pour tester le capteur avec l'IDE Arduino** \\ -> Fichier -> Exemples -> SparkFun_High_Precision_Temperature_Sensor_TMP117_Qwiic -> **Example1_Basic_Readings.ino**
* **Mise en oeuvre avec un afficheur OLED**
* //Description// : mesure de la température à l'aide d'un capteur **Sparkfun TMP117**, test des boutons-poussoirs et affichage sur un écran Oled **Adafruit SH1107**. L'écran et le capteur sont reliés via le système Qwiic de Sparkfun.
{{ :materiels:capteurs:temperature:tmp117.jpg?nolink |}}
* //**Matériels**//
* Carte à microcontrôleur : [[arduino:uc:esp8266|Adafruit Feather Huzzah ESP8266 + Support Particle]]
* Afficheur : [[materiels:afficheurs:ada1107|Adafruit OLED SH1107]]
* Capteur de température : [[materiels:capteurs:temperature:temperature|Sparkfun TMP117]]
* //**Bibliothèques** à installer dans l'IDE Arduino ou dans PlatformIO (VSCode)//
* Adafruit GFX Library by Adafruit [GitHub]
* Adafruit SH110X by Adafruit [GitHub]
* SparkFun TMP117 by SparkFun [GitHub]
* //**Code**//
{{ :materiels:capteurs:distance:arduinoico.png?nolink&40|}}
// Matériels : Adafruit Feather Huzzah ESP8266 + Support Particle, Adafruit OLED SH1107, Sparkfun TMP117, câble Qwiic
// Logiciel : Arduino
// A ajouter
#include
#include
#include
#include
#include
#define BUTTON_A 0
#define BUTTON_B 16
#define BUTTON_C 2
// Constructeurs
Adafruit_SH1107 display = Adafruit_SH1107(64, 128, &Wire);
TMP117 sensor; // L'adresse du circuit TMP117 est 0x48 = (GND) par défaut
void setup()
{
// Bus I2C
Wire.begin(); // Initialisation
Wire.setClock(400000);
display.begin(0x3C, true); // L'addresse de l'afficheur est 0x3C par défaut
// Configuration de l'affichage
display.setRotation(1); // Affichage horizontal
display.setTextSize(1);
display.setTextColor(SH110X_WHITE);
display.clearDisplay(); // Pour ne pas afficher le logo Adafruit chargé
// automatiquement à la mise sous tension
// Test de la communication avec le capteur
if (sensor.begin() == false)
{
display.println("DEFAUT(s)");
display.print("1. Le capteur TMP117 ne repond pas ! ");
display.println();
display.print("BLOCAGE du PROGRAMME");
display.display(); // Transfert du buffer sur l'écran
while (1)
delay(10); // Blocage du programme
}
// Connexion des boutons-poussoirs
pinMode(BUTTON_A, INPUT_PULLUP);
pinMode(BUTTON_B, INPUT_PULLUP);
pinMode(BUTTON_C, INPUT_PULLUP);
}
void loop()
{
// Efface le buffer
display.clearDisplay();
// Test des boutons
display.setCursor(0, 0);
if (!digitalRead(BUTTON_A))
display.print("[A]");
if (!digitalRead(BUTTON_B))
display.print("[B]");
if (!digitalRead(BUTTON_C))
display.print("[C]");
// Titre
display.setCursor(20, 0);
display.println("Sparkfun TMP117");
// Mesure et affichage
// Data Ready est un indicateur de mode de conversion - en conversion continue, l'indicateur dataReady doit toujours être haut
if (sensor.dataReady() == true) // Affiche les valeurs de température que lorsque les données sont prêtes
{
display.setCursor(0, 12);
display.print("Temp : ");
display.print(sensor.readTempC(), 1);
display.print("C");
delay(500);
display.display(); // Transfert du buffer sur l'écran
}
delay(10);
}
{{ :arduino:uc:platformioico.png?nolink&50|}}
Télécharger le projet PlatformIO pour VSCode.
A venir
\\
=== 4.4 MR312 ===
{{ :materiels:capteurs:temperature:mr112.jpg?nolink&150|}}
Capteur de température Microbot basé sur un TCN75A et permettant de mesurer une température entre -40 et +125 °C. Il communique avec un microcontrôleur via le bus I2C.
* //Distributeur// : GoTronic
A terminer
\\
=== 4.5 DS18B20 ===
{{ :materiels:capteurs:temperature:ds18b20.jpg?nolink&250| ST029}}
== 4.5.1 Présentation ==
* //**Source**// : Guide de mise en marche du module ST029 pdf
Ce module, basé sur le capteur DS18B20, permet de mesurer une température ambiante de -55°C à +125°C via le bus One Wire de Dallas.
* //**Distributeur**// : GoTronic
* //**Caractéristiques**//
* Alimentation : 3 à 5,5 V
* Plage de température : -55 à +125 °C
* Précision : +/- 0,5 °C (entre -10 et 85 °C)
* Communication : 1-Wire
* Résolution : 9 à 12 Bits
* Dimensions: 23 x 21 x 10 mm
* //**Schéma-blocs**//
{{ :materiels:capteurs:temperature:dlock_diagram_18b20.png?nolink |}}
{{ :materiels:capteurs:acrobate.gif?nolink&40|}}
* //**Documentation**//
* Présentation du bus **One-Wire de Dallas** (en français) à télécharger ici
* **Datasheet** du circuit 18B20 à télécharger ici
{{ :materiels:capteurs:environnement:iconechronogrammes.png?nolink&50|}}
* //**Chronogrammes**//
* Relevé des signaux du bus One Wire de Dallas faite lors d'une mesure. A télécharger ici.
\\
== 4.5.2 Bibliothèques ==
* [[#tab-ds18b20duino_1|Arduino UNO]]
* [[#tab-ds18b20esp_1|ESP (Arduino)]]
* [[#tab-ds18b20pico_1|Rpi Pico (µPython)]]
* // **Bibliothèques** à installer dans l'IDE Arduino //
{{ :materiels:capteurs:temperature:libonewire.png?nolink |}}
\\
{{ :materiels:capteurs:temperature:libdallastemperature.png?nolink |}}
A venir
A venir
\\
{{ :materiels:capteurs:environnement:code.png?nolink|}}
== 4.5.3 Exemples de code ==
* [[#tab-ds18b20duino_2|Arduino UNO]]
* [[#tab-ds18b20esp_2|ESP (Arduino)]]
* [[#tab-ds18b20pico_2|Rpi Pico (µPython)]]
* **//Ressource//** : document pdf
{{ :materiels:capteurs:distance:arduinoico.png?nolink&40|}}
* //**Exemple** de l'IDE Arduino pour tester le capteur// \\ Dans l'IDE Arduino, sélectionner : Fichier → Exemples → DallasTemperature → **Simple**
A venir
A venir
\\
==== 5 Thermique ====
=== 5.1 AMG8833 ===
{{ :materiels:capteurs:temperature:amg8833.jpg?nolink|}}
== 5.1.1 Présentation ==
* //**Source**// : wiki seeed studio
Le réseau de capteurs de température infrarouge Grove (AMG8833) est un capteur de haute précision basé sur la technologie MEMS avancée. Il peut prendre en charge la détection de température d'une zone bidimensionnelle : 8 × 8 (64 pixels) et une distance de détection maximale de 7 mètres.
* //**Distributeur**// : Gotronic
* //**Caractéristiques**//
* Alimentation: 3,3 ou 5 Vcc
* Résolution: 8 x 8 pixels
* Plage de mesure: 0 à 80 °C
* Précision: ± 2,5 °C
* Portée: ± 7 m
* Angle de vision: 60°
* Interface I2C : **SLA** =** 0x68** par défaut (0x69 via un pont à souder)
{{ :materiels:capteurs:acrobate.gif?nolink&40|}}
* //**Documentation**//
* PDF du datasheet **AMG8833** à télécharger ici
\\
== 5.1.2 Bibliothèques ==
* [[#tab-amg8833duino_1|Arduino UNO]]
* [[#tab-amg8833esp_1|ESP (Arduino)]]
* [[#tab-amg8833rpi_1|Rasberrypi Pi (µPython)]]
{{ :materiels:capteurs:htr:github.png?nolink&40|}}
* //**Bibliothèque** à télécharger et à installer dans l'IDE// : Seeed_AMG8833
Pour utiliser la bibliothèque //Seeed_AMG8833// avec un ESP, mettre la déclaration des types de données en commentaire.
A venir
A venir
\\
{{ :materiels:capteurs:environnement:code.png?nolink|}}
== 5.1.3 Exemples de code ==
* [[#tab-amg8833duino_2|Arduino UNO]]
* [[#tab-amg8833esp_2|ESP (Arduino)]]
* [[#tab-amg8833rpi_2|Raspberry Pi (µPython)]]
{{ :materiels:capteurs:distance:arduinoico.png?nolink&40|}}
* //**Exemple** de l'IDE Arduino pour tester le capteur// \\ Dans l'IDE Arduino, sélectionner : Fichier -> Exemples -> Grove IR Matrix Temperature sensor AMG8833 -> **basic_demo**
* //**Résultat** dans la console//
{{ :materiels:capteurs:temperature:testamg8833.png?nolink |}}
* //**Mise en oeuvre** du capteur avec un afficheur OLED//
* //Ressource// : wiki seeed studio
* //Matériels//
* Carte à microcontrôleur : [[microc:uc:esp8266|ESP8266 Feather Huzzah]]
{{ :arduino:uc:platformioico.png?nolink&50|}}
Télécharger le projet PlatformIO pour VSCode.
A venir
A venir