Indoor Environment Monitoring

Indoor Environment Monitoring

Experimental introduction

In this experiment we will use three modules to collect data such as light, temperature, humidity and atmospheric pressure. At the same time, the data is sent and displayed on the LCD12854 through the serial port.

Experimental Materials

1X  Adeept UNO Board

1X  DHT-11 Module

1X  Photoresistor Module

1X  Barometer Module

1X  LCD12864 Module

1X  Breadboard

Some jumpers

Experimental connection diagram

Experiment code

/***********************************************************
File name:   AdeeptLCD12864.ino
Website: www.adeept.com
E-mail: support@adeept.com
Author: Tom
Date: 2019/03/20 
***********************************************************/
#include <Adeept_LCD12864RSPI.h>
#include <Adeept_DHT11.h>
#include <Adeept_BMP180.h>
#define AR_SIZE( a ) sizeof( a ) / sizeof( a[0] )
Adeept_DHT11 Adeept_dht11;
Adeept_BMP180 Adeept_bmp180(0x77);//I2C address of BMP180
#define DHT11PIN 2  //Set the digital 2 to the S pin

int photoresistorPin = 0;          // photoresistor  connected to analog pin 0
unsigned char show0[]=" photoresistor";         //Test the code
unsigned char show1[]=" analog:       ";     
unsigned char show2[]=" www.adeept.com";  
unsigned char show3[]="DHT11 sensor";      
unsigned char show4[]="Humi:       %";    
unsigned char show5[]="Temp:       %";
unsigned char show6[]="   Pressure  ";       
unsigned char show7[] = "Pr:          Pa ";
unsigned char show8[] = "Atm:       ";
unsigned char show9[] = "Alti:        M  ";
   

int btnpin1 = 12;           //Set the digital 12 to button module interface 
int btnpin2 = 13;           //Set the digital 13 to button module interface      

int pageNumber = 1;
void setup()
{
    pinMode(photoresistorPin, INPUT);//Set analog 0 port mode, the INPUT for the input
    Serial.begin(9600);   //opens serial port, sets data rate to 9600 bps
    Adeept_bmp180.begin();
    pinMode(btnpin1,INPUT); //Set digital 12 port mode, the INPUT for the input
    pinMode(btnpin2,INPUT); //Set digital 13 port mode, the INPUT for the input
    Adeept_12864.Initialise(); // The screen is initialized
    delay(100);
}
void loop()
{
    double dataphotoresistor = 0;
    char strphotoresistor[5];
    double temphumidity = 0;
    double tempTemperature = 0;
    char strhumidity[5];
    char strTemperature[5];
    char strPressure[7];
    char strAtm[3];
    char strAltitude[5];
   
    dataphotoresistor = analogRead(photoresistorPin);
    Serial.print("photoresistor: "); //send data to the serial monitor
    Serial.println(dataphotoresistor); //send data to the serial monitor

    Adeept_dht11.read(DHT11PIN);
    temphumidity = Adeept_dht11.humidity;
    Serial.print("humidity: "); //send data to the serial monitor
    Serial.print(temphumidity); //send data to the serial monitor
    Serial.println("%"); //send data to the serial monitor

    tempTemperature = Adeept_dht11.temperature;
    Serial.print("temperature: "); //send data to the serial monitor
    Serial.print(tempTemperature); //send data to the serial monitor
    Serial.println("C"); //send data to the serial monitor

    double dataTemperature = Adeept_bmp180.GetTemperature(); //MUST be called first
    float dataPressure = Adeept_bmp180.GetPressure();
    float dataAtm = dataPressure / 101325; // "standard atmosphere"
    float dataAltitude = Adeept_bmp180.calcAltitude(dataPressure); //Uncompensated caculation - in Meters

    Serial.print("Temperature: "); //send data to the serial monitor
    Serial.print(dataTemperature); //send data to the serial monitor
    Serial.println("C"); //send data to the serial monitor

    Serial.print("Pressure: "); //send data to the serial monitor
    Serial.print(dataPressure); //send data to the serial monitor
    Serial.println("Pa"); //send data to the serial monitor

    Serial.print("Atm: "); //send data to the serial monitor
    Serial.println(dataAtm); //send data to the serial monitor

    Serial.print("Altitude: "); //send data to the serial monitor
    Serial.print(dataAltitude); //send data to the serial monitor 
    Serial.println("M"); //send data to the serial monitor 

//photoresistor->LCD12864
    if(pageNumber==1){
      dtostrf(dataphotoresistor,4,0,strphotoresistor);//Converts a floating-point number to a string
      Adeept_12864.DisplayString(0,0,show0,AR_SIZE(show0));//Display: photoresistor
      delay(50);
      Adeept_12864.DisplayString(1,0,show1,AR_SIZE(show1));//Display: analog: 
      delay(50);
      Adeept_12864.DisplayString(1,4,(unsigned char *)strphotoresistor,4);//Display photoresistor data
      delay(50);
      Adeept_12864.DisplayString(3,0,show2,AR_SIZE(show2));//Display: www.adeept.com
    }

//humidity&temperature->LCD12864
    if(pageNumber==2){
      dtostrf(temphumidity,5,2,strTemperature);//Converts a floating-point number to a string
      dtostrf(tempTemperature,5,2, strhumidity );//Converts a floating-point number to a string
      Adeept_12864.DisplayString(0,1,show3,AR_SIZE(show3));//Display: DHT11 sensor
      delay(50);
      Adeept_12864.DisplayString(1,1,show4,AR_SIZE(show4));//Display: Humi:     %
      delay(50);
      Adeept_12864.DisplayString(1,4,(unsigned char *)strTemperature,5);//Display humidity data  
      delay(50);
      Adeept_12864.DisplayString(2,1,show5,AR_SIZE(show5));//Display: Temp:     C
      delay(50);
      Adeept_12864.DisplayString(2,4,(unsigned char *)strhumidity,6);//Display temperature data
      delay(50);
      Adeept_12864.DisplayString(3,0,show2,AR_SIZE(show2));//Display: www.adeept.com
    }

//Pressure->LCD12864
    if(pageNumber==3){
      dtostrf(dataPressure, 6, 2, strPressure); //Converts a floating-point number to a string
      dtostrf(dataAtm, 2, 2, strAtm); //Converts a floating-point number to a string
      dtostrf(dataAltitude, 4, 2, strAltitude); //Converts a floating-point number to a string
      Adeept_12864.DisplayString(0, 0, show6, AR_SIZE(show6)); //Display: Temp:      C
      Adeept_12864.DisplayString(1, 0, show7, AR_SIZE(show7)); //Display: Pr:        Pa
      delay(10);
      Adeept_12864.DisplayString(1, 2, (unsigned char *)strPressure, 8); //Display temperature data
      delay(10);
      Adeept_12864.DisplayString(2, 0, show8, AR_SIZE(show8)); //Display: Atm:         Pa
      delay(10);
      Adeept_12864.DisplayString(2, 2, (unsigned char *)strAtm, 4); //Display temperature data
      delay(10);
      Adeept_12864.DisplayString(3, 0, show9, AR_SIZE(show9)); //Display: Altitude:     M
      delay(10);
      Adeept_12864.DisplayString(3, 3, (unsigned char *)strAltitude, 6); //Display temperature data  
    }
  if(digitalRead(btnpin1)==LOW)              //Detection button interface to low
  {   
      delay(10);                              //Delay 10ms for the elimination of key leading-edge jitter
      if(digitalRead(btnpin1)==LOW)           //Confirm button is pressed
      {        
        pageNumber++;
        if(pageNumber>=3){pageNumber=3;}
        Adeept_12864.CLEAR();//Clear screen
        delay(100);
      }
   }
  if(digitalRead(btnpin2)==LOW)              //Detection button interface to low
  {   
      delay(10);                              //Delay 10ms for the elimination of key leading-edge jitter
      if(digitalRead(btnpin2)==LOW)           //Confirm button is pressed
      {     
        pageNumber--;
        if(pageNumber<=1){pageNumber=1;}
        Adeept_12864.CLEAR();//Clear screen
        delay(100);
      }
   }  
    delay(100);//0.1S

}

Experimental phenomena

Press the two buttons to control the LCD12864 to display page turning, switch display information such as illumination, temperature and humidity.

79 Replies to “Indoor Environment Monitoring”

  1. Pingback: price of cialis
  2. Pingback: viagra
  3. Pingback: Viagra Gold
  4. Pingback: viagra vs cialis
  5. Pingback: is viagra safe
  6. Pingback: viagra coupon
  7. Pingback: cialis for sale
  8. Pingback: buy cialis online
  9. Pingback: Glock 17
  10. Pingback: Grand Power CP380
  11. Pingback: GLOCK 48
  12. Pingback: cach vao 12 bet
  13. Pingback: idrpoker
  14. Pingback: nagaqq
  15. Pingback: jaguarqq
  16. Pingback: fun88vnd
  17. Pingback: tutors
  18. Pingback: THC Carts for sale
  19. Pingback: Sonus Complete
  20. Pingback: w88
  21. Pingback: tong trong lo de
  22. Pingback: CBD Spray
  23. Pingback: vpn with webmoney
  24. Pingback: keto pills
  25. Pingback: uniccshop-bazar.cm
  26. Pingback: Skrotbilar hämtas
  27. Pingback: w88tips
  28. Pingback: slotxo
  29. Pingback: Homepage
  30. Pingback: How to lose weight
  31. Pingback: look at this site
  32. Pingback: Qənnadı şokolad
  33. Pingback: ship a car
  34. Pingback: republic of Panama
  35. Pingback: parcourir le site
  36. Pingback: 토토사이트
  37. Pingback: großer Schwanz
  38. Pingback: prediksi hk

Leave a Reply