Item:Capteur de température DS18B20


Item-Capteur de temp rature DS18B20 capteurDS18B20.jpg

Capteur de température DS18B20

le DS18B20 est un capteur de température

1,5EUR (€)


Description longue

C'est un capteur One Wire qui renvoie donc l'information avec un seul fil.


Bibliothèques

Il faut importer les bibliothèque

- OneWire

- DallasTemperature

Schéma de câblage

cablage DS18B20

Code Minimal

DS18B20
Avant le Setup Importation de la bibliothèque #include <OneWire.h>

#include <DallasTemperature.h>

Création de l’objet OneWire oneWire(ONE_WIRE_BUS); // je crée une instance OneWire

DallasTemperature sensors(&oneWire); //je passe One Wire à Dallas temperature

Dans le Setup Démarrage de l’objet sensors.begin();
Dans le Loop Utilisation sensors.requestTemperatures(); //commande pour récupoérer la température

//Nous utilisons la fonction ByIndex et, à titre d'exemple, nous obtenons la température du premier capteur uniquement.

float tempC = sensors.getTempCByIndex(0);

Exemple

// Include the libraries we need
#include <OneWire.h>
#include <DallasTemperature.h>

// Data wire is plugged into port 2 on the Arduino
#define ONE_WIRE_BUS 2

// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature. 
DallasTemperature sensors(&oneWire);

/*
 * The setup function. We only start the sensors here
 */
void setup(void)
{
  // start serial port
  Serial.begin(9600);
  Serial.println("Dallas Temperature IC Control Library Demo");

  // Start up the library
  sensors.begin();
}

/*
 * Main function, get and show the temperature
 */
void loop(void)
{ 
  // call sensors.requestTemperatures() to issue a global temperature 
  // request to all devices on the bus
  Serial.print("Requesting temperatures...");
  sensors.requestTemperatures(); // Send the command to get temperatures
  Serial.println("DONE");
  // After we got the temperatures, we can print them here.
  // We use the function ByIndex, and as an example get the temperature from the first sensor only.
  float tempC = sensors.getTempCByIndex(0);

  // Check if reading was successful
  if(tempC != DEVICE_DISCONNECTED_C) 
  {
    Serial.print("Temperature for the device 1 (index 0) is: ");
    Serial.println(tempC);
  } 
  else
  {
    Serial.println("Error: Could not read temperature data");
  }
}

Pages liées

Commentaires

Published