Fuktighet och temperatur är vanliga parametrar för att mäta miljöförhållanden. I detta Arduino-baserade projekt ska vi mäta omgivningstemperatur och luftfuktighet och visa den på en 16x2 LCD-skärm. En kombinerad temperatur- och luftfuktighetssensor DHT11 används med Arduino uno för att utveckla detta Celsius-skala termometer och procentuell skala luftfuktighetsmätningsprojekt. I ett av mitt tidigare projekt har jag också utvecklat en digital termometer med temperatursensor LM35.
Detta projekt består av tre sektioner - en känner av luftfuktigheten och temperaturen med hjälp av fukt- och temperatursensorn DHT11. Det andra avsnittet läser ut DHTsensor-modulens utdata och extraherar temperatur- och fuktighetsvärden till ett lämpligt antal i procent och Celsius-skala. Och den tredje delen av systemet visar fuktighet och temperatur på LCD-skärmen.
Arbetet med detta projekt baseras på seriell kommunikation med en tråd. Först skickar arduino en startsignal till DHT-modulen och sedan ger DHT en svarsignal som innehåller temperatur- och fuktighetsdata. Arduino samlar in och extraherar i två delar, en är fuktighet och den andra är temperatur och skickar dem sedan till 16x2 LCD.
Här i detta projekt har vi använt en sensormodul, nämligen DHT11. Denna modul har ett fukt- och temperaturkomplex med en kalibrerad digital signalutgång betyder att DHT11-sensormodulen är en kombinerad modul för att känna av fukt och temperatur som ger en kalibrerad digital utsignal. DHT11 ger oss mycket exakta värden på fuktighet och temperatur och säkerställer hög tillförlitlighet och långsiktig stabilitet. Denna sensor har en resistiv typ av fuktmätningskomponent och NTC-typ temperaturmätkomponent med en 8-bitars inbyggd mikrokontroller som har ett snabbt svar och kostnadseffektivt och tillgängligt i 4-stifts paket med en rad.
DHT11-modulen fungerar på seriell kommunikation, dvs enkel trådkommunikation. Denna modul skickar data i form av pulståg med specifik tidsperiod. Innan du skickar data till arduino behöver det initialiseras med en tidsfördröjning. Och hela procestiden är ungefär 4 ms. En fullständig dataöverföring har 40-bitars och dataformatet för denna process ges nedan:
8-bitars integrerad RH-data + 8-bitars decimal RH-data + 8-bitars integrerad T-data + 8-bitars decimal T-data + 8-bitars kontrollsumma.
Fullständig process
Först och främst skickar arduino en hög till låg startsignal till DHT11 med 18 µs fördröjning för att säkerställa DHT: s detektering. Och sedan drar arduino upp datalinjen och väntar på 20-40 µs för DHTs svar. När DHT upptäcker startsignal skickar den en svarsignal med låg spänningsnivå till arduino med tidsfördröjning på cirka 80 µs. Och sedan drar DHT-styrenheten upp datalinjen och håller den i 80 µs för DHT: s ordning av sändning av data.
När databussen är på låg spänningsnivå betyder det att DHT11 skickar svarsignal. När det är klart gör DHT igen datalinjeuppdragning för 80 µs för att förbereda dataöverföring.
Dataformat som skickas med DHT till arduino för varje bit börjar med 50 µs lågspänningsnivå och längden på högspänningsnivåsignalen avgör om databiten är “0” eller “1”.
En viktig sak är att se till att motståndsvärdet dras upp, för om vi placerar DHT-sensorn på <20 meters avstånd rekommenderas 5 k uppdragningsmotstånd. Om du placerar DHT längre än 20 meter ska du använda lämpligt värde för att dra upp motståndet.
Kretsschema och förklaring
En flytande kristallskärm används för att visa temperatur och fuktighet som är direkt ansluten till arduino i 4-bitars läge. Stift på LCD nämligen RS, EN, D4, D5, D6 och D7 är anslutna till arduino digitala stift nummer 2, 3, 4, 5, 6 och 7. Och en DHT11-sensormodul är också ansluten till digital stift 12 i arduino med en 5k pull-up motstånd.
Programmeringsbeskrivning
Vid programmering ska vi använda förbyggda bibliotek för DHT11-sensorer och LCD-skärmmodul.
Sedan har vi definierade stift för LCD- och DHT-sensor och initierat alla saker i installationen. Därefter läser DHT-sensorn i en slinga genom att använda dht-funktionen och sedan använda vissa dht-funktioner extraherar vi fukt och temperatur och visar dem på LCD.
Här skapas gradssymbolen med hjälp av anpassad karaktärsmetod.