v2.0.0: Enhanced docs, error handling & examples

This commit is contained in:
Dhruba Saha
2023-09-19 11:02:49 +05:30
parent 323e8c192b
commit 542161d1f0
11 changed files with 570 additions and 78 deletions

View File

@ -1,32 +1,45 @@
/**
* DHT11 Temperature Reader for Arduino
* This sketch reads temperature data from the DHT11 sensor and prints the value to the serial port.
* It also handles potential error states that might occur during reading.
*
* Author: Dhruba Saha
* Version: 2.0.0
* License: MIT
*/
// Include the DHT11 library for interfacing with the sensor.
#include <DHT11.h>
// Create an instance of the DHT11 class and set the digital I/O pin.
// Create an instance of the DHT11 class. The sensor is connected to digital I/O pin 2.
DHT11 dht11(2);
void setup()
{
// Initialize serial communication at 115200 baud.
Serial.begin(115200);
// Initialize serial communication to allow debugging and data readout.
// Using a baud rate of 9600 bps.
Serial.begin(9600);
}
void loop()
{
// Read the temperature from the sensor.
float temperature = dht11.readTemperature();
// Attempt to read the temperature value from the DHT11 sensor.
int temperature = dht11.readTemperature();
// If the temperature reading was successful, print it to the serial monitor.
if (temperature != -1)
// Check the result of the reading.
// If there's no error, print the temperature value.
// If there's an error, print the appropriate error message.
if (temperature != DHT11::ERROR_CHECKSUM && temperature != DHT11::ERROR_TIMEOUT)
{
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" C");
Serial.println(" °C");
}
else
{
// If the temperature reading failed, print an error message.
Serial.println("Error reading temperature");
Serial.println(DHT11::getErrorString(temperature));
}
// Wait for 2 seconds before the next reading.
delay(2000);
// Wait for 1 seconds before the next reading.
delay(1000);
}