Skip to main content

Yasemin, Ishika - Capteur de température

Cours 1 - Introduction à l'Arduino

OBJECTIF 
  • Allumer une LED rouge lorsque la température dépasse 30°C à l'aide d'un capteur de température
MATÉRIEL
  • 1 carte Arduino
  • 1 plaque de montage rapide
  • 1 base SHIELD 
  • 1 résistance 
  • 1 LED rouge
  • 2 fils de connections 
  • 1 capteur de température (SHT35)
CODE
#include "Seeed_SHT35.h"

/*SAMD core*/
#ifdef ARDUINO_SAMD_VARIANT_COMPLIANCE
  #define SDAPIN  20
  #define SCLPIN  21
  #define RSTPIN  7
  #define SERIAL SerialUSB
#else
  #define SDAPIN  A4
  #define SCLPIN  A5
  #define RSTPIN  2
  #define SERIAL Serial
#endif

SHT35 sensor(SCLPIN);

// Pin pour contrôler la lumière (par exemple, pin 13)
#define LIGHT_PIN 8

void setup()
{
    // Configurer le pin pour la lumière comme sortie
    pinMode(LIGHT_PIN, OUTPUT);

    SERIAL.begin(9600);
    delay(10);
    SERIAL.println("serial start!!");
    
    if(sensor.init())
    {
      SERIAL.println("sensor init failed!!!");
    }
    delay(1000);
}

void loop()
{
    u16 value=0;
    u8 data[6]={0};
    float temp, hum;
    
    // Lire les données du capteur
    if(NO_ERROR != sensor.read_meas_data_single_shot(HIGH_REP_WITH_STRCH, &temp, &hum))
    {
      SERIAL.println("read temp failed!!");
      SERIAL.println("   ");
      SERIAL.println("   ");
      SERIAL.println("   ");
    }
    else
    {
      SERIAL.println("read data :");
      SERIAL.print("temperature = ");
      SERIAL.print(temp);
      SERIAL.println(" ℃ ");

      SERIAL.print("humidity = ");
      SERIAL.print(hum);
      SERIAL.println(" % ");

      // Vérifier si la température dépasse 30°C
      if(temp > 30.0)
      {
        // Allumer la lumière
        digitalWrite(LIGHT_PIN, HIGH);
        SERIAL.println("Lumière allumée (température > 30°C)");
      }
      else
      {
        // Éteindre la lumière
        digitalWrite(LIGHT_PIN, LOW);
        SERIAL.println("Lumière éteinte (température <= 30°C)");
      }

      SERIAL.println("   ");
      SERIAL.println("   ");
      SERIAL.println("   ");
    }

    delay(1000);
}

a