Temperature App: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 17: | Line 17: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=DHT22= | |||
Pretty easy with arduino. | |||
<syntaxhighlight lang="c"> | |||
#include "DHT.h" | |||
#define DHTPIN 4 // Digital pin connected to the DHT sensor | |||
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 | |||
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); | |||
float h = dht.readHumidity(); | |||
float t = dht.readTemperature(); | |||
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")); | |||
} | |||
</syntaxhighlight> | |||
Here is the output<br> | |||
[[File:Dht22 esp322.png]]<br> | |||
==SSD1306== | |||
Lets connect our display and stick with arduino for now. It an I2C interface. | |||
We now know the wiring is correct and lets more on to the display. |
Revision as of 05:09, 1 May 2025
Introduction
Blink
As always show blink to work before starting on something bigger
#define LED 2
void setup() {
// Set pin mode
pinMode(LED,OUTPUT);
}
void loop() {
delay(500);
digitalWrite(LED,HIGH);
delay(500);
digitalWrite(LED,LOW);
}
DHT22
Pretty easy with arduino.
#include "DHT.h"
#define DHTPIN 4 // Digital pin connected to the DHT sensor
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
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);
float h = dht.readHumidity();
float t = dht.readTemperature();
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"));
}
SSD1306
Lets connect our display and stick with arduino for now. It an I2C interface. We now know the wiring is correct and lets more on to the display.