Note

Bonjour et bienvenue dans la Communauté Facebook des passionnés de Raspberry Pi, Arduino et ESP32 de SunFounder ! Plongez plus profondément dans l’univers des Raspberry Pi, Arduino et ESP32 avec d’autres passionnés.

Pourquoi rejoindre ?

  • Support d’experts : Résolvez les problèmes après-vente et les défis techniques avec l’aide de notre communauté et de notre équipe.

  • Apprendre et partager : Échangez des astuces et des tutoriels pour améliorer vos compétences.

  • Aperçus exclusifs : Accédez en avant-première aux annonces de nouveaux produits et aux aperçus.

  • Réductions spéciales : Profitez de réductions exclusives sur nos produits les plus récents.

  • Promotions festives et cadeaux : Participez à des cadeaux et des promotions de vacances.

👉 Prêt à explorer et à créer avec nous ? Cliquez [Ici] et rejoignez-nous aujourd’hui !

2.2.2 Thermistor

Note

../_images/mcp3008_and_adc0834.jpg

Selon la version de votre kit, identifiez si vous disposez d’un ADC0834 ou d’un MCP3008 et suivez la section correspondante.

Introduction

Tout comme la photo-résistance peut détecter la lumière, la thermistance est un dispositif électronique sensible à la température qui peut être utilisé pour réaliser des fonctions de contrôle de la température, comme la création d’une alarme thermique.

Required Components

Dans ce projet, nous avons besoin des composants suivants.

../_images/list_2.2.2_thermistor.png

Il est vraiment pratique d’acheter un kit complet, voici le lien :

Nom

ARTICLES DANS CE KIT

LIEN

Kit Raphael

337

Raphael Kit

Vous pouvez également les acheter séparément à partir des liens ci-dessous.

INTRODUCTION DES COMPOSANTS

LIEN D’ACHAT

Carte d’extension GPIO

ACHETER

Plaque d’expérimentation (Breadboard)

ACHETER

Fils de Liaison

ACHETER

Résistance

ACHETER

Thermistance

ACHETER

ADC0834

-

Schematic Diagram

../_images/image323.png ../_images/image324.png

Experimental Procedures

Étape 1 : Construisez le circuit.

../_images/image202.png

Étape 2 : Accédez au dossier du code.

cd ~/raphael-kit/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 à l’écran une fois le calcul du programme terminé.

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 value de la thermistance grâce à l’instruction 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`);

Ces opérations convertissent la valeur de la thermistance en une valeur de température en degrés Celsius.

var Vr = 5 * value / 255;
var Rt = 10000 * Vr / (5 - Vr);

Ces deux lignes de code sont utilisées pour calculer la répartition de la tension à partir des valeurs lues, ce qui donne Rt (résistance de la thermistance).

var temp = 1 / ((Math.log(Rt/10000) / 3950)+(1 / (273.15 + 25)));

Ce code permet de substituer 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);

Ce paragraphe permet de convertir la température en Kelvin en degrés Celsius avec deux décimales.

var Fah = (cel * 1.8 + 32).toFixed(2);

Ce paragraphe convertit les degrés Celsius en degrés Fahrenheit avec deux décimales.

console.log(`Celsius: ${cel} C  Fahrenheit: ${Fah} F\n`);

Affiche les valeurs en Celsius, en Fahrenheit et leurs unités sur le terminal.

Phenomenon Picture

../_images/image203.jpeg