Trådlös väderstation (5 / 5 steg)
Steg 5: LCD + temperatur sensor
Efter jag inte fick wifi sensorn arbetar, beslöt jag att gå med en LCD-skärm, data ska visas. Utöver detta använde jag en Potentiometer (10K) för att justera kontrast LCD.
Det första steget är att ansluta allt tillsammans.
Från vänster till höger:
LCD-<> - Arduino
VSS <> - GND
VDD <> - 5V
V0 <> - Potmeter signal (mittstiftet)
RS <> - TX
RW <> - GND
E <> - Digital 2
D4 <> - Digital 4
D5 <> - Digital 5
D6 <> - Digital 6
D7 <> - Digital 7
En <> - 5V
K <> - GND
Potentiometer
GND <> - GND
Signal <> - V0
5V <> - 5V
Jag kombinerade allt ovan med det föregående steget i DHT11. Följande kod användes för att Visa temperaturen och luftfuktigheten på skärmen:
inkludera bibliotek-koden:
#include < LiquidCrystal.h >
#include < dht.h >
Analoga Pin sensor är ansluten till
#define dht_apin A0
initiera bibliotek med numrerar av gränssnittet stiften
LiquidCrystal lcd (1, 2, 4, 5, 6, 7);
DHT DHT;
void setup() {
initierar gränssnittet och anger dimensionen av LCD
LCD.BEGIN (16, 2);
printTemperature();
printHumidity();
Vänta innan Sensor
Delay(1000);
}
funktion för att skriva ut tecken för temperatur som inte behöver uppdateras
void printTemperature() {
lcd.setCursor (0, 0);
LCD.Print ("Temp:");
LCD.Print("");
lcd.setCursor (12, 0);
LCD.Print("C");
}
funktion för att skriva ut tecken fuktighet som inte behöver uppdateras
void printHumidity() {
lcd.setCursor (0, 1);
LCD.Print ("Hmid:");
LCD.Print("");
lcd.setCursor (12, 1);
LCD.Print("%");
}
void loop() {
Låta sensorn kontrollera nya temperaturen
DHT.read11(dht_apin);
Hämta data från temperatur/hygrometergivare
flyta temperatur = DHT.temperature;
flyta fuktighet = DHT.humidity;
funktioner för att uppdatera temperatur och fuktighet på LCD
updateTemperature(temperature);
updateHumidity(humidity);
vänta 5 sekunder innan du uppdaterar igen
Delay(5000);
}
void updateTemperature(float temperature) {
lcd.setCursor (7, 0);
LCD.Print (temperatur, 1);
}
void updateHumidity(float humidity) {
lcd.setCursor (7, 1);
LCD.Print (fuktighet, 1);
}