Vai al contenuto

Utente:Galessandroni/HC-SR04

Da Wikiversità, l'apprendimento libero.

Esperienza n. 2

[modifica]
Sensore DHT11 connesso ad Arduino

Codice

[modifica]
#include "DHT.h"        // Driver per i sensori DHTxx

#define DHTPIN 2        // Pin connesso al sensore
#define DHTTYPE DHT11   // Tipo di sensore utilizzato

// Il pin 1 (a sinistra) serve per l'acquisizione dati.
// Il pin 2 va a +5V.
// Il pin 3 va a massa.
// Per una maggior accuratezza il pin 1 va collegato a +5V
// con una resistenza di pullup da 10K

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  // Inizializza il monitor seriale
  Serial.begin(9600);
  // Inizializza il sensore DHT
  dht.begin();
}

void loop() {
  // Acquisisce l'umidità relativa
  float h = dht.readHumidity();
  // Acquisisce la temperatura in Celsius (parametro di default)
  float t = dht.readTemperature();
  // Acquisisce la temperatura in Fahrenheit (isFahrenheit = true)
  float f = dht.readTemperature(true);
  // Acquisisce la temperatura percepita in Fahrenheit (default)
  float hif = dht.computeHeatIndex(f, h);
  // Acquisisce la temperatura percepita in Celsius (isFahreheit = false)
  float hic = dht.computeHeatIndex(t, h, false);

  // Esegue una misurazione ogni due secondi.
  delay(2000);

  // Controlla se il sensore ha fornito un output corretto per proseguire
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println(F("+---------------------------+"));
    Serial.println(F("| Sensore DHT non connesso! |"));
    return;
  }
  
  Serial.print("+-------------------------------------------------------\n");
  Serial.print("| Umidità:               "+String(h)+"%\n");
  Serial.print("| Temperatura:           "+String(t)+"°C "+String(f)+"°F\n");
  Serial.print("| Temperatura percepita: "+String(hic)+"°C "+String(hif)+"°F\n");
}

Note

[modifica]