Components and supplies
Breadboard (generic)
ESP8266 ESP-01
I2C 16x2 Arduino LCD Display Module
Arduino UNO
Male/Female Jumper Wires
DHT11 Temperature & Humidity Sensor (3 pins)
Apps and platforms
Arduino IDE
Firebase
Project description
Code
sensor_esp8266.ino
arduino
Sensor_ESP8266_Code
1#include <ESP8266WiFi.h> 2#include <FirebaseArduino.h> 3 4#define FIREBASE_HOST "YOUR_FIREBASE_LINK" 5#define FIREBASE_AUTH "YOUR_FIREBASE_TOKEN" 6#define WIFI_SSID "YOUR_WIFI_SSID" 7#define WIFI_PASSWORD "YOUR_WIFI_PASSWORD" 8 9String sensor_data, values; 10 11void setup() { 12 13 14 delay(1000); 15 16 // connect to wifi. 17 WiFi.begin(WIFI_SSID, WIFI_PASSWORD); 18 while (WiFi.status() != WL_CONNECTED) { 19 delay(500); 20 } 21 Serial.begin(9600); 22 Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH); 23 24} 25 26void loop() { 27 28 bool Sr = false; 29 30 while (Serial.available()) { 31 32 //get sensor data from serial put in sensor_data 33 sensor_data = Serial.readString(); 34 Sr = true; 35 36 } 37 38 delay(1000); 39 40 if (Sr == true) { 41 42 values = sensor_data; 43 44 //get comma indexes from values variable 45 int fristCommaIndex = values.indexOf(','); 46 int secondCommaIndex = values.indexOf(',', fristCommaIndex + 1); 47 48 //get sensors data from values variable by spliting by commas and put in to variables 49 String temperature = values.substring(0, fristCommaIndex); 50 String humidity = values.substring(fristCommaIndex + 1, secondCommaIndex); 51 52 //store ultrasonic sensor data as string in firebase 53 Firebase.setString("temperature", temperature); 54 delay(10); 55 //store IR sensor 1 data as string in firebase 56 Firebase.setString("humidity", humidity); 57 delay(10); 58 59 //store previous sensors data as string in firebase 60 61 delay(1000); 62 63 if (Firebase.failed()) { 64 return; 65 } 66 67 } 68} 69
lcd_arduino.ino
arduino
Arduino_LCD_Code
1#include <LiquidCrystal_I2C.h> 2#include <Wire.h> 3 4// initialize the library by associating any needed LCD interface pin 5// with the arduino pin number it is connected to 6LiquidCrystal_I2C lcd(0x3F, 20, 4); 7String values, sensor_data; 8 9void setup() { 10 Serial.begin(9600); 11 delay(2000); 12 // set up the LCD's number of columns and rows: 13 lcd.begin(20, 4); 14 // Print a message to the LCD. 15 lcd.init(); // initialize the lcd 16 lcd.backlight(); 17 delay(2000); 18 lcd.setCursor(0, 0); lcd.print("Temperature: " ); 19 delay(10); 20 lcd.setCursor(18, 0); lcd.print("C"); 21 delay(10); 22 23 lcd.setCursor(0, 1); lcd.print("Humidity: "); 24 delay(10); 25 lcd.setCursor(15, 1); lcd.print("%"); 26 delay(2000); 27 28} 29 30void loop() { 31 32 33 bool Sr = false; 34 35 while (Serial.available()) { 36 37 //get sensor data from serial put in sensor_data 38 sensor_data = Serial.readString(); 39 Sr = true; 40 41 } 42 43 delay(1000); 44 45 if (Sr == true) { 46 47 values = sensor_data; 48 49 //get sensors data from values variable by spliting by commas and put in to variables 50 String temperature = values.substring(0, 5); 51 String humidity = values.substring(6, 11); 52 53 54 initialize(); 55 lcd.setCursor(13, 0); 56 delay(10); 57 lcd.print(temperature);//set cursor to print temperature 58 delay(10); 59 lcd.setCursor(10, 1); 60 delay(10); 61 lcd.print(humidity); 62 63 } 64 delay(2000); 65 66} 67void initialize() { 68 lcd.clear(); 69 lcd.setCursor(0, 0); lcd.print("Temperature: " ); 70 delay(10); 71 lcd.setCursor(18, 0); lcd.print("C"); 72 delay(10); 73 74 lcd.setCursor(0, 1); lcd.print("Humidity: "); 75 delay(10); 76 lcd.setCursor(15, 1); lcd.print("%"); 77} 78
lcd_esp8266.ino
arduino
ESP8266_LCD_Code
1#include <ESP8266WiFi.h> 2#include <FirebaseArduino.h> 3 4 5#define FIREBASE_HOST "YOUR_FIREBASE_LINK" 6#define FIREBASE_AUTH "YOUR_FIREBASE_TOKEN" 7#define WIFI_SSID "YOUR_WIFI_SSID" 8#define WIFI_PASSWORD "YOUR_WIFI_PASSWORD" 9 10String values; 11 12void setup() { 13 Serial.begin(9600); 14 15 // connect to wifi. 16 WiFi.begin(WIFI_SSID, WIFI_PASSWORD); 17 while (WiFi.status() != WL_CONNECTED) { 18 delay(500); 19 } 20 21 Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH); 22 23 24} 25 26void loop() { 27 28 29 String temperature = Firebase.getString("temperature"); 30 String humidity = Firebase.getString("humidity"); 31 32 temperature = temperature.substring(0, 5); 33 humidity = humidity.substring(0, 5); 34 values = (temperature + humidity); 35 delay(10); 36 37 38 // always flush before printing 39 Serial.flush(); 40 delay(1000); 41 42 Serial.print(values); 43 delay(1000); 44 45 46} 47
sensor_arduino.ino
arduino
Arduino_Sensor_Code
1#include <SoftwareSerial.h> 2#include <dht.h> 3#define dht_apin A0 4 5dht DHT; 6String values; 7 8void setup() { 9 Serial.begin(9600); 10 delay(5000); //Delay to let system boot 11 12} 13 14void loop() { 15 16 DHT.read11(dht_apin); 17 values = (String(DHT.temperature) + ',' + String(DHT.humidity)); 18 delay(10); 19 20 Serial.flush(); 21 delay(1000); 22 23 // sent sensors data to serial (sent sensors data to ESP8266) 24 Serial.print(values); 25 delay(2000); 26 27} 28
sensor_esp8266.ino
arduino
Sensor_ESP8266_Code
1#include <ESP8266WiFi.h> 2#include <FirebaseArduino.h> 3 4#define FIREBASE_HOST "YOUR_FIREBASE_LINK" 5#define FIREBASE_AUTH "YOUR_FIREBASE_TOKEN" 6#define WIFI_SSID "YOUR_WIFI_SSID" 7#define WIFI_PASSWORD "YOUR_WIFI_PASSWORD" 8 9String sensor_data, values; 10 11void setup() { 12 13 14 delay(1000); 15 16 // connect to wifi. 17 WiFi.begin(WIFI_SSID, WIFI_PASSWORD); 18 while (WiFi.status() != WL_CONNECTED) { 19 delay(500); 20 } 21 Serial.begin(9600); 22 Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH); 23 24} 25 26void loop() { 27 28 bool Sr = false; 29 30 while (Serial.available()) { 31 32 //get sensor data from serial put in sensor_data 33 sensor_data = Serial.readString(); 34 Sr = true; 35 36 } 37 38 delay(1000); 39 40 if (Sr == true) { 41 42 values = sensor_data; 43 44 //get comma indexes from values variable 45 int fristCommaIndex = values.indexOf(','); 46 int secondCommaIndex = values.indexOf(',', fristCommaIndex + 1); 47 48 //get sensors data from values variable by spliting by commas and put in to variables 49 String temperature = values.substring(0, fristCommaIndex); 50 String humidity = values.substring(fristCommaIndex + 1, secondCommaIndex); 51 52 //store ultrasonic sensor data as string in firebase 53 Firebase.setString("temperature", temperature); 54 delay(10); 55 //store IR sensor 1 data as string in firebase 56 Firebase.setString("humidity", humidity); 57 delay(10); 58 59 //store previous sensors data as string in firebase 60 61 delay(1000); 62 63 if (Firebase.failed()) { 64 return; 65 } 66 67 } 68} 69
lcd_arduino.ino
arduino
Arduino_LCD_Code
1#include <LiquidCrystal_I2C.h> 2#include <Wire.h> 3 4// initialize the library by associating any needed LCD interface pin 5// with the arduino pin number it is connected to 6LiquidCrystal_I2C lcd(0x3F, 20, 4); 7String values, sensor_data; 8 9void setup() { 10 Serial.begin(9600); 11 delay(2000); 12 // set up the LCD's number of columns and rows: 13 lcd.begin(20, 4); 14 // Print a message to the LCD. 15 lcd.init(); // initialize the lcd 16 lcd.backlight(); 17 delay(2000); 18 lcd.setCursor(0, 0); lcd.print("Temperature: " ); 19 delay(10); 20 lcd.setCursor(18, 0); lcd.print("C"); 21 delay(10); 22 23 lcd.setCursor(0, 1); lcd.print("Humidity: "); 24 delay(10); 25 lcd.setCursor(15, 1); lcd.print("%"); 26 delay(2000); 27 28} 29 30void loop() { 31 32 33 bool Sr = false; 34 35 while (Serial.available()) { 36 37 //get sensor data from serial put in sensor_data 38 sensor_data = Serial.readString(); 39 Sr = true; 40 41 } 42 43 delay(1000); 44 45 if (Sr == true) { 46 47 values = sensor_data; 48 49 //get sensors data from values variable by spliting by commas and put in to variables 50 String temperature = values.substring(0, 5); 51 String humidity = values.substring(6, 11); 52 53 54 initialize(); 55 lcd.setCursor(13, 0); 56 delay(10); 57 lcd.print(temperature);//set cursor to print temperature 58 delay(10); 59 lcd.setCursor(10, 1); 60 delay(10); 61 lcd.print(humidity); 62 63 } 64 delay(2000); 65 66} 67void initialize() { 68 lcd.clear(); 69 lcd.setCursor(0, 0); lcd.print("Temperature: " ); 70 delay(10); 71 lcd.setCursor(18, 0); lcd.print("C"); 72 delay(10); 73 74 lcd.setCursor(0, 1); lcd.print("Humidity: "); 75 delay(10); 76 lcd.setCursor(15, 1); lcd.print("%"); 77} 78
sensor_arduino.ino
arduino
Arduino_Sensor_Code
1#include <SoftwareSerial.h> 2#include <dht.h> 3#define dht_apin A0 4 5dht DHT; 6String values; 7 8void setup() { 9 Serial.begin(9600); 10 delay(5000); //Delay to let system boot 11 12} 13 14void loop() { 15 16 DHT.read11(dht_apin); 17 values = (String(DHT.temperature) + ',' + String(DHT.humidity)); 18 delay(10); 19 20 Serial.flush(); 21 delay(1000); 22 23 // sent sensors data to serial (sent sensors data to ESP8266) 24 Serial.print(values); 25 delay(2000); 26 27} 28
Comments
Only logged in users can leave comments
rene123456
0 Followers
•0 Projects
Table of contents
Intro
4
0