Difference between revisions of "Arduino: DHT22 sensor suhu dan humidity"
Jump to navigation
Jump to search
Onnowpurbo (talk | contribs) (Created page with "DHT-22 (juga dikenal sebagai AM2302) adalah digital-output, sensor relative humidity dan sensor temperature. Ia menggunakan sensor kelembaban kapasitif dan termistor untuk men...") |
Onnowpurbo (talk | contribs) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
DHT-22 (juga dikenal sebagai AM2302) adalah digital-output, sensor relative humidity dan sensor temperature. Ia menggunakan sensor kelembaban kapasitif dan termistor untuk mengukur udara di sekitarnya, dan mengirimkan sinyal digital pada pin data. | DHT-22 (juga dikenal sebagai AM2302) adalah digital-output, sensor relative humidity dan sensor temperature. Ia menggunakan sensor kelembaban kapasitif dan termistor untuk mengukur udara di sekitarnya, dan mengirimkan sinyal digital pada pin data. | ||
+ | ==Gambar== | ||
[[File:Dht22 sensor.jpg.png|center|200px|thumb]] | [[File:Dht22 sensor.jpg.png|center|200px|thumb]] | ||
+ | |||
+ | [[File:Humidity sensor breadboard.jpg.png|center|400px|thumb]] | ||
+ | |||
+ | ==Source Code== | ||
+ | |||
+ | |||
+ | |||
+ | // Example testing sketch for various DHT humidity/temperature sensors | ||
+ | |||
+ | #include "DHT.h" | ||
+ | #define DHTPIN 2 // what digital pin we're connected to | ||
+ | // 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 4 (on the right) of the sensor to GROUND | ||
+ | // 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("DHTxx test!"); | ||
+ | dht.begin(); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | delay(2000); // Wait a few seconds between measurements | ||
+ | float h = dht.readHumidity(); | ||
+ | // Reading temperature or humidity takes about 250 milliseconds! | ||
+ | float t = dht.readTemperature(); | ||
+ | // Read temperature as Celsius (the default) | ||
+ | float f = dht.readTemperature(true); | ||
+ | // Read temperature as Fahrenheit (isFahrenheit = true) | ||
+ | // Check if any reads failed and exit early (to try again). | ||
+ | if (isnan(h) || isnan(t) || isnan(f)) { | ||
+ | Serial.println("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 ("Humidity: "); | ||
+ | Serial.print (h); | ||
+ | Serial.print (" %\t"); | ||
+ | Serial.print ("Temperature: "); | ||
+ | Serial.print (t); | ||
+ | Serial.print (" *C "); | ||
+ | Serial.print (f); | ||
+ | Serial.print (" *F\t"); | ||
+ | Serial.print ("Heat index: "); | ||
+ | Serial.print (hic); | ||
+ | Serial.print (" *C "); | ||
+ | Serial.print (hif); | ||
+ | Serial.println (" *F"); | ||
+ | } | ||
+ | |||
+ | ==Pranala Menarik== | ||
+ | |||
+ | * [[Arduino]] |
Latest revision as of 10:34, 21 September 2019
DHT-22 (juga dikenal sebagai AM2302) adalah digital-output, sensor relative humidity dan sensor temperature. Ia menggunakan sensor kelembaban kapasitif dan termistor untuk mengukur udara di sekitarnya, dan mengirimkan sinyal digital pada pin data.
Gambar
Source Code
// Example testing sketch for various DHT humidity/temperature sensors #include "DHT.h" #define DHTPIN 2 // what digital pin we're connected to // 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 4 (on the right) of the sensor to GROUND // 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("DHTxx test!"); dht.begin(); } void loop() { delay(2000); // Wait a few seconds between measurements float h = dht.readHumidity(); // Reading temperature or humidity takes about 250 milliseconds! float t = dht.readTemperature(); // Read temperature as Celsius (the default) float f = dht.readTemperature(true); // Read temperature as Fahrenheit (isFahrenheit = true) // Check if any reads failed and exit early (to try again). if (isnan(h) || isnan(t) || isnan(f)) { Serial.println("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 ("Humidity: "); Serial.print (h); Serial.print (" %\t"); Serial.print ("Temperature: "); Serial.print (t); Serial.print (" *C "); Serial.print (f); Serial.print (" *F\t"); Serial.print ("Heat index: "); Serial.print (hic); Serial.print (" *C "); Serial.print (hif); Serial.println (" *F"); }