CCCPaste

Sensor Display rev_01

/********* 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 Display
	- Source Code compiled for: Arduino Uno
	- Source Code created on: 2024-01-11 08:20:49

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

/****** SYSTEM REQUIREMENTS *****/
/****** SYSTEM REQUIREMENT 1 *****/
	/* To make arduino uno on and collect mq2, mq4, */
	/* mq7,mq135 values and display in 16x2 lcd screen, */
	/* and also sent those values to blynk iot */
	/* application through esp8266 wifi module */
/****** END SYSTEM REQUIREMENTS *****/

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

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

/***** DEFINITION OF I2C PINS *****/
const uint8_t Hii_LCD1602I2C_I2C_PIN_SDA_A4 = A4;
const uint8_t Hii_LCD1602I2C_I2C_PIN_SCL_A5 = A5;
const uint8_t Hii_LCD1602I2C_I2C_SLAVE_ADDRESS = 39;

/****** DEFINITION OF LIBRARIES CLASS INSTANCES*****/
MQ135 mq135_sensor(A2); // Instantiate MQ135 object

float temperature = 21.0;
float humidity = 25.0;

void setup(void)
{
    // put your setup code here, to run once:
    Serial.begin(9600);
    // Initialize LCD screen
    Wire.begin();
    Wire.beginTransmission(Hii_LCD1602I2C_I2C_SLAVE_ADDRESS);
    Wire.write(0x00);
    Wire.endTransmission();
}

void loop(void)
{
    // put your main code here, to run repeatedly:
    float rzero = mq135_sensor.getRZero();
    float correctedRZero = mq135_sensor.getCorrectedRZero(temperature, humidity);
    float resistance = mq135_sensor.getResistance();
    float ppm = mq135_sensor.getPPM();
    float correctedPPM = mq135_sensor.getCorrectedPPM(temperature, humidity);

    Serial.print("MQ135 RZero: ");
    Serial.print(rzero);
    Serial.print("\t Corrected RZero: ");
    Serial.print(correctedRZero);
    Serial.print("\t Resistance: ");
    Serial.print(resistance);
    Serial.print("\t PPM: ");
    Serial.print(ppm);
    Serial.print("\t Corrected PPM: ");
    Serial.print(correctedPPM);
    Serial.println("ppm");

    // Display values on LCD screen
    Wire.beginTransmission(Hii_LCD1602I2C_I2C_SLAVE_ADDRESS);
    Wire.write(0x80); // Set cursor to first line
    Wire.write("MQ135 RZero: ");
    Wire.write(String(rzero).c_str());
    Wire.write("\t Corrected RZero: ");
    Wire.write(String(correctedRZero).c_str());
    Wire.write("\t Resistance: ");
    Wire.write(String(resistance).c_str());
    Wire.write("\t PPM: ");
    Wire.write(String(ppm).c_str());
    Wire.write("\t Corrected PPM: ");
    Wire.write(String(correctedPPM).c_str());
    Wire.endTransmission();

    delay(300);
}