CCCPaste

Sensor Monitoring rev_02

/********* 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: Sensor Monitoring
	- Source Code compiled for: Arduino Uno
	- Source Code created on: 2024-01-01 13:09:29

********* Pleasedontcode.com **********/

/****** SYSTEM REQUIREMENTS *****/
/****** SYSTEM REQUIREMENT 1 *****/
	/* Ultrasonic sensor Measures distance If distance is */
	/* greater than 30 cm print "water overflow " and */
	/* turn buzzer on If distance is less than 15 cm */
	/* print "water underflow " and turn buzzer on create */
	/* this in a function called water_level. */
/****** SYSTEM REQUIREMENT 2 *****/
	/* DHT11 sensors measures temperature   If temp is */
	/* greater than 27 degrees celsius print "high temp" */
	/* and turn red led on. If temp is less than 25 */
	/* degrees celcius print "low temp" and turn blue led */
	/* on. Create this in a function called "water_temp" */
/****** END SYSTEM REQUIREMENTS *****/

/****** DEFINITION OF LIBRARIES *****/
#include 
#include 
#include 

/****** FUNCTION PROTOTYPES *****/
void setup(void);
void loop(void);
void water_level(void);
void water_temp(void);

/***** DEFINITION OF DIGITAL INPUT PINS *****/
const uint8_t myUS_HC_SR04_Echo_PIN_D5 = 5;
const uint8_t myDHT_DHT22_DOUT_PIN_D8 = 8;

/***** DEFINITION OF DIGITAL OUTPUT PINS *****/
const uint8_t myUS_HC_SR04_Trigger_PIN_D4 = 4;
const uint8_t buzzer_PIN = 9;
const uint8_t red_LED_PIN = 10;
const uint8_t blue_LED_PIN = 11;

/****** DEFINITION OF LIBRARIES CLASS INSTANCES*****/
Ultrasonic ultrasonic(myUS_HC_SR04_Trigger_PIN_D4, myUS_HC_SR04_Echo_PIN_D5);
DHT dht(myDHT_DHT22_DOUT_PIN_D8, DHT22);

void setup(void)
{
  // put your setup code here, to run once:
  pinMode(myUS_HC_SR04_Echo_PIN_D5, INPUT);
  pinMode(myUS_HC_SR04_Trigger_PIN_D4, OUTPUT);
  pinMode(buzzer_PIN, OUTPUT);
  pinMode(red_LED_PIN, OUTPUT);
  pinMode(blue_LED_PIN, OUTPUT);

  dht.begin();

  Serial.begin(9600);
}

void loop(void)
{
  // put your main code here, to run repeatedly:
  water_level();
  water_temp();
  delay(1000);
}

void water_level(void)
{
  unsigned int distance = ultrasonic.read();

  if (distance > 30)
  {
    Serial.println("Water Overflow");
    digitalWrite(buzzer_PIN, HIGH);
  }
  else if (distance < 15)
  {
    Serial.println("Water Underflow");
    digitalWrite(buzzer_PIN, HIGH);
  }
  else
  {
    digitalWrite(buzzer_PIN, LOW);
  }
}

void water_temp(void)
{
  float temperature = dht.readTemperature();

  if (temperature > 27)
  {
    Serial.println("High Temperature");
    digitalWrite(red_LED_PIN, HIGH);
    digitalWrite(blue_LED_PIN, LOW);
  }
  else if (temperature < 25)
  {
    Serial.println("Low Temperature");
    digitalWrite(red_LED_PIN, LOW);
    digitalWrite(blue_LED_PIN, HIGH);
  }
  else
  {
    digitalWrite(red_LED_PIN, LOW);
    digitalWrite(blue_LED_PIN, LOW);
  }
}