Difference between revisions of "WeMOS D1 mini: DHT11 read suhu dan humidity"

From OnnoWiki
Jump to navigation Jump to search
(Created page with "Sumber: https://dewo.wordpress.com/2016/07/10/pemantau-suhu-kelembaban-udara-dengan-wemos-d1-mini-dht11/ DHT11 Wemos VCC 3.3V DATA D2 GND GND #include #define DHTP...")
 
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
Sumber: https://dewo.wordpress.com/2016/07/10/pemantau-suhu-kelembaban-udara-dengan-wemos-d1-mini-dht11/
 
Sumber: https://dewo.wordpress.com/2016/07/10/pemantau-suhu-kelembaban-udara-dengan-wemos-d1-mini-dht11/
  
 +
==Library==
 +
 +
Download dari
 +
 +
https://github.com/adafruit/Adafruit_Sensor
 +
mv Adafruit_Sensor-master.zip ../Arduino/libraries/
 +
 +
https://github.com/adafruit/DHT-sensor-library/archive/refs/heads/master.zip
 +
mv DHT-sensor-library-master.zip ~/Arduino/libraries/
 +
 +
==Sambungan ke Wemos D1 mini==
  
 
  DHT11 Wemos
 
  DHT11 Wemos
Line 7: Line 18:
 
  GND GND
 
  GND GND
  
 +
==Contoh==
  
#include
 
  
 +
// Example testing sketch for various DHT humidity/temperature sensors
 +
// Written by ladyada, public domain
 +
 +
// REQUIRES the following Arduino libraries:
 +
// - DHT Sensor Library: https://github.com/adafruit/DHT-sensor-library
 +
// - Adafruit Unified Sensor Lib: https://github.com/adafruit/Adafruit_Sensor
 +
 +
#include "DHT.h"
 +
 +
#define DHTPIN D2    // Digital pin connected to the DHT sensor
 +
// Feather HUZZAH ESP8266 note: use pins 3, 4, 5, 12, 13 or 14 --
 +
// Pin 15 can work but DHT must be disconnected during program upload.
 +
 +
// Uncomment whatever type you're using!
 +
#define DHTTYPE DHT11  // DHT 11
 +
//#define DHTTYPE DHT22  // DHT 22  (AM2302), AM2321
 +
//#define DHTTYPE DHT21  // DHT 21 (AM2301)
 +
 +
// Connect pin 1 (on the left) of the sensor to +5V
 +
// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
 +
// to 3.3V instead of 5V!
 +
// Connect pin 2 of the sensor to whatever your DHTPIN is
 +
// Connect pin 3 (on the right) of the sensor to GROUND (if your sensor has 3 pins)
 +
// Connect pin 4 (on the right) of the sensor to GROUND and leave the pin 3 EMPTY (if your sensor has 4 pins)
 +
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor
  
  #define DHTPIN D2
+
  // Initialize DHT sensor.
  #define DHTTYPE DHT11
+
// Note that older versions of this library took an optional third parameter to
  DHT dht(DHTPIN, DHTTYPE);
+
// tweak the timings for faster processors.  This parameter is no longer needed
 
+
  // as the current DHT reading algorithm adjusts itself to work on faster procs.
/* Parameters:
+
  DHT dht(DHTPIN, DHTTYPE);  
* t = temperature
 
* h = humidity
 
* i = ID
 
*/
 
 
   
 
   
 
  void setup() {
 
  void setup() {
   Serial.begin(115200);
+
   Serial.begin(9600);
   delay(10);
+
   Serial.println(F("DHTxx test!"));
 +
 
   dht.begin();
 
   dht.begin();
 
  }
 
  }
 
   
 
   
 
  void loop() {
 
  void loop() {
 +
  // Wait a few seconds between measurements.
 +
  delay(2000);
 +
 +
  // Reading temperature or humidity takes about 250 milliseconds!
 +
  // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
 
   float h = dht.readHumidity();
 
   float h = dht.readHumidity();
 +
  // Read temperature as Celsius (the default)
 
   float t = dht.readTemperature();
 
   float t = dht.readTemperature();
   if (isnan(h) || isnan(t)) {
+
  // Read temperature as Fahrenheit (isFahrenheit = true)
     Serial.println("Gagal membaca sensor DHT");
+
  float f = dht.readTemperature(true);
 +
 +
  // Check if any reads failed and exit early (to try again).
 +
   if (isnan(h) || isnan(t) || isnan(f)) {
 +
     Serial.println(F("Failed to read from DHT sensor!"));
 
     return;
 
     return;
 
   }
 
   }
 
+
 
   Serial.print("Temperature: ");
+
  // Compute heat index in Fahrenheit (the default)
 +
  float hif = dht.computeHeatIndex(f, h);
 +
  // Compute heat index in Celsius (isFahreheit = false)
 +
  float hic = dht.computeHeatIndex(t, h, false);
 +
 +
   Serial.print(F("Humidity: "));
 +
  Serial.print(h);
 +
  Serial.print(F("%  Temperature: "));
 
   Serial.print(t);
 
   Serial.print(t);
   Serial.print(" *C. Humidity: ");
+
   Serial.print(F("°C "));
   Serial.println(h);
+
  Serial.print(f);
    
+
  Serial.print(F("°F  Heat index: "));
   delay(2000); // Beri delay 2 detik sebelum polling berikutnya
+
  Serial.print(hic);
 +
   Serial.print(F("°C "));
 +
   Serial.print(hif);
 +
   Serial.println(F("°F"));
 
  }
 
  }
 
 
 
  
 
==Referensi==
 
==Referensi==
  
 
* https://dewo.wordpress.com/2016/07/10/pemantau-suhu-kelembaban-udara-dengan-wemos-d1-mini-dht11/
 
* https://dewo.wordpress.com/2016/07/10/pemantau-suhu-kelembaban-udara-dengan-wemos-d1-mini-dht11/

Latest revision as of 11:19, 1 June 2023

Sumber: https://dewo.wordpress.com/2016/07/10/pemantau-suhu-kelembaban-udara-dengan-wemos-d1-mini-dht11/

Library

Download dari

https://github.com/adafruit/Adafruit_Sensor
mv Adafruit_Sensor-master.zip ../Arduino/libraries/
https://github.com/adafruit/DHT-sensor-library/archive/refs/heads/master.zip
mv DHT-sensor-library-master.zip ~/Arduino/libraries/

Sambungan ke Wemos D1 mini

DHT11	Wemos
VCC	3.3V
DATA	D2
GND	GND

Contoh

// Example testing sketch for various DHT humidity/temperature sensors
// Written by ladyada, public domain

// REQUIRES the following Arduino libraries:
// - DHT Sensor Library: https://github.com/adafruit/DHT-sensor-library
// - Adafruit Unified Sensor Lib: https://github.com/adafruit/Adafruit_Sensor

#include "DHT.h"

#define DHTPIN D2     // Digital pin connected to the DHT sensor
// Feather HUZZAH ESP8266 note: use pins 3, 4, 5, 12, 13 or 14 --
// Pin 15 can work but DHT must be disconnected during program upload.

// Uncomment whatever type you're using!
#define DHTTYPE DHT11   // DHT 11
//#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
//#define DHTTYPE DHT21   // DHT 21 (AM2301)

// Connect pin 1 (on the left) of the sensor to +5V
// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
// to 3.3V instead of 5V!
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 3 (on the right) of the sensor to GROUND (if your sensor has 3 pins)
// Connect pin 4 (on the right) of the sensor to GROUND and leave the pin 3 EMPTY (if your sensor has 4 pins)
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor
// Initialize DHT sensor.
// Note that older versions of this library took an optional third parameter to
// tweak the timings for faster processors.  This parameter is no longer needed
// as the current DHT reading algorithm adjusts itself to work on faster procs.
DHT dht(DHTPIN, DHTTYPE); 

void setup() {
  Serial.begin(9600);
  Serial.println(F("DHTxx test!"));

  dht.begin();
}

void loop() {
  // Wait a few seconds between measurements.
  delay(2000);

  // Reading temperature or humidity takes about 250 milliseconds!
  // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
  float h = dht.readHumidity();
  // Read temperature as Celsius (the default)
  float t = dht.readTemperature();
  // Read temperature as Fahrenheit (isFahrenheit = true)
  float f = dht.readTemperature(true);

  // Check if any reads failed and exit early (to try again).
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println(F("Failed to read from DHT sensor!"));
    return;
  }
  // Compute heat index in Fahrenheit (the default)
  float hif = dht.computeHeatIndex(f, h);
  // Compute heat index in Celsius (isFahreheit = false)
  float hic = dht.computeHeatIndex(t, h, false);

  Serial.print(F("Humidity: "));
  Serial.print(h);
  Serial.print(F("%  Temperature: "));
  Serial.print(t);
  Serial.print(F("°C "));
  Serial.print(f);
  Serial.print(F("°F  Heat index: "));
  Serial.print(hic);
  Serial.print(F("°C "));
  Serial.print(hif);
  Serial.println(F("°F"));
}

Referensi