Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
/********* Pleasedontcode.com ********** Pleasedontcode thanks you for automatic code generation! Enjoy your code! - Terms and Conditions: You have a non-exclusive, revocable, worldwide, royalty-free license for personal and commercial use. Attribution is optional; modifications are allowed, but you're responsible for code maintenance. We're not liable for any loss or damage. For full terms, please visit pleasedontcode.com/termsandconditions. - Project: "Humidity Display" - Source Code NOT compiled for: Arduino Uno - Source Code created on: 2024-06-01 11:04:48 ********* Pleasedontcode.com **********/ /****** SYSTEM REQUIREMENTS *****/ /****** SYSTEM REQUIREMENT 1 *****/ /* Build a project with a humidity sensor and LCD */ /* screen. Get the data from the humidity sensor and */ /* display it on the LCD monitor as follows: If */ /* the humidity is 25%, a symbol of 1 drop should */ /* appear on the screen, if 50% - a symbol of two */ /* drops,if 75 */ /****** END SYSTEM REQUIREMENTS *****/ /****** DEFINITION OF LIBRARIES *****/ #include
#include
//https://github.com/marcoschwartz/LiquidCrystal_I2C #include
//https://github.com/adafruit/DHT-sensor-library /****** FUNCTION PROTOTYPES *****/ void setup(void); void loop(void); void displayHumidityOnLCD(float humidity); /***** DEFINITION OF DIGITAL INPUT PINS *****/ const uint8_t teni_DHT11_DOUT_PIN_D2 = 2; /***** DEFINITION OF I2C PINS *****/ const uint8_t lcd_LCD1602I2C_I2C_PIN_SDA_A4 = A4; const uint8_t lcd_LCD1602I2C_I2C_PIN_SCL_A5 = A5; const uint8_t lcd_LCD1602I2C_I2C_SLAVE_ADDRESS = 0x27; // Corrected to 0x27 based on the example /****** DEFINITION OF LIBRARIES CLASS INSTANCES*****/ LiquidCrystal_I2C lcd(lcd_LCD1602I2C_I2C_SLAVE_ADDRESS, 20, 4); // Initialize the LCD with address and dimensions #define DHTPIN 2 // Pin where the DHT sensor is connected #define DHTTYPE DHT22 // DHT 22 (AM2302) DHT dht(DHTPIN, DHTTYPE); // Initialize DHT sensor void setup(void) { // put your setup code here, to run once: pinMode(teni_DHT11_DOUT_PIN_D2, INPUT_PULLUP); lcd.init(); // Initialize the LCD lcd.backlight(); // Turn on the backlight // Create custom characters for humidity levels uint8_t drop1[8] = {0x04, 0x0A, 0x0A, 0x11, 0x11, 0x11, 0x0E, 0x00}; // 1 drop uint8_t drop2[8] = {0x04, 0x0A, 0x0A, 0x11, 0x11, 0x1F, 0x0E, 0x00}; // 2 drops uint8_t drop3[8] = {0x04, 0x0A, 0x0A, 0x11, 0x1F, 0x1F, 0x0E, 0x00}; // 3 drops lcd.createChar(0, drop1); lcd.createChar(1, drop2); lcd.createChar(2, drop3); lcd.home(); Serial.begin(9600); Serial.println(F("DHTxx test!")); dht.begin(); // Initialize the DHT sensor } void loop(void) { // put your main code here, to run repeatedly: delay(2000); float h = dht.readHumidity(); float t = dht.readTemperature(); float f = dht.readTemperature(true); if (isnan(h) || isnan(t) || isnan(f)) { Serial.println(F("Failed to read from DHT sensor!")); return; } float hif = dht.computeHeatIndex(f, h); 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")); displayHumidityOnLCD(h); } void displayHumidityOnLCD(float humidity) { lcd.clear(); lcd.setCursor(0, 0); lcd.print("Humidity: "); lcd.print(humidity); lcd.print("%"); lcd.setCursor(0, 1); if (humidity >= 75) { lcd.write(byte(2)); // 3 drops } else if (humidity >= 50) { lcd.write(byte(1)); // 2 drops } else if (humidity >= 25) { lcd.write(byte(0)); // 1 drop } else { lcd.print("Low"); } }
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)