Note
Bonjour et bienvenue dans la communauté SunFounder Raspberry Pi & Arduino & ESP32 sur Facebook ! Plongez plus profondément dans l’univers du Raspberry Pi, Arduino et ESP32 avec d’autres passionnés.
Pourquoi nous rejoindre ?
Assistance d’experts : Résolvez les problèmes après-vente et surmontez les défis techniques avec l’aide de notre communauté et de notre équipe.
Apprenez & Partagez : Échangez des conseils et des tutoriels pour améliorer vos compétences.
Aperçus exclusifs : Profitez d’un accès anticipé aux annonces de nouveaux produits et à des avant-premières.
Réductions spéciales : Bénéficiez de remises exclusives sur nos derniers produits.
Promotions festives et concours : Participez à des concours et à des promotions spéciales.
👉 Prêt à explorer et à créer avec nous ? Cliquez sur [Ici] et rejoignez-nous dès aujourd’hui !
2.2.2 Thermistance
Introduction
Tout comme la photorésistance peut détecter la lumière, la thermistance est un composant électronique sensible à la température, qui peut être utilisé pour réaliser des fonctions de contrôle de température, telles que la création d’une alarme de surchauffe.
Composants

Schéma de câblage


Procédures expérimentales
Étape 1 : Construire le circuit.

Étape 2 : Accédez au répertoire contenant le code.
cd ~/davinci-kit-for-raspberry-pi/nodejs/
Étape 3 : Exécutez le code.
sudo node thermistor.js
Lorsque le code s’exécute, la thermistance détecte la température ambiante, qui sera affichée sur l’écran une fois les calculs effectués par le programme.
Code
const Gpio = require('pigpio').Gpio;
const ADC0834 = require('./adc0834.js').ADC0834;
exports.ADC0834 = ADC0834;
const adc = new ADC0834(17, 18, 27);
setInterval(() => {
adc.read(0).then((value) => {
var Vr = 5 * value / 255;
var Rt = 10000 * Vr / (5 - Vr);
var temp = 1 / ((Math.log(Rt/10000) / 3950)+(1 / (273.15 + 25)));
var cel = (temp - 273.15).toFixed(2);
var Fah = (cel * 1.8 + 32).toFixed(2);
console.log(`Celsius: ${cel} C Fahrenheit: ${Fah} F\n`);
}, (error)=>{
console.log("Error: " + error);
});
}, 1000);
Explication du code
setInterval(() => {
adc.read(0).then((value) => {
var Vr = 5 * value / 255;
var Rt = 10000 * Vr / (5 - Vr);
var temp = 1 / ((Math.log(Rt/10000) / 3950)+(1 / (273.15 + 25)));
var cel = (temp - 273.15).toFixed(2);
var Fah = (cel * 1.8 + 32).toFixed(2);
console.log(`Celsius: ${cel} C Fahrenheit: ${Fah} F\n`);
}, (error)=>{
console.log("Error: " + error);
});
}, 1000);
Nous pouvons lire la valeur
de la thermistance avec l’instruction adc.read(0).then((value) => {...})
.
.. code-block:: js
var Vr = 5 * value / 255; var Rt = 10000 * Vr / (5 - Vr); var temp = 1 / ((Math.log(Rt/10000) / 3950)+(1 / (273.15 + 25))); var cel = (temp - 273.15).toFixed(2); var Fah = (cel * 1.8 + 32).toFixed(2); console.log(Celsius: ${cel} C Fahrenheit: ${Fah} Fn);
Ces opérations permettent de convertir la valeur de la thermistance en une température en degrés Celsius.
var Vr = 5 * value / 255;
var Rt = 10000 * Vr / (5 - Vr);
Ces deux lignes de code calculent la distribution de la tension à partir des valeurs lues, en obtenant Rt (la résistance de la thermistance).
var temp = 1 / ((Math.log(Rt/10000) / 3950)+(1 / (273.15 + 25)));
Ce code substitue Rt dans la formule TK=1/(ln(RT/RN)/B+1/TN) pour obtenir la température en Kelvin.
var cel = (temp - 273.15).toFixed(2);
Cette ligne convertit la température de Kelvin en Celsius avec deux décimales.
var Fah = (cel * 1.8 + 32).toFixed(2);
Cette ligne convertit la température de Celsius en Fahrenheit avec deux décimales.
console.log(`Celsius: ${cel} C Fahrenheit: ${Fah} F\n`);
Affiche la température en Celsius, en Fahrenheit ainsi que leurs unités sur le terminal.
Image du résultat
