Editor: arduino IDE
Motherboard: arduino uno
Sensor:
0.96-inch OLED screen (four legs)
sound module
Soil temperature and humidity module
DS18B20 temperature module (waterproof is used here)
Photoresistor module (the one bought with three pins can only display high and low, it can be replaced with four pins to display numbers)
arduino expansion board (depending on personal needs)
Dupont line (female to female, male to female)
Function: It can display the sensor data on the OLED screen and simulate the pattern corresponding to the state of the plant.
You can set the zero point by yourself
(If you buy a small amount, you can just buy a pdd, which is easily within 100 yuan. You can also buy a wifi module and make it an app host)
The code is as follows:
#include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #include <OneWire.h> #include <DallasTemperature.h> #include <SoftwareSerial.h> #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET -1 Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, & amp;Wire, OLED_RESET); const int temperatureSensorPin = A0; // temperature const int lightSensorDOPin = 7; // light sensitive const int soilMoistureSensorPin = A2; // Humidity const int soundSensorPin = A3; // sound OneWire oneWire(A0); // Use a one-wire bus to connect the DS18B20 sensor DallasTemperature sensors( & amp;oneWire); void setup() { Serial.begin(115200); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); display.setTextColor(WHITE); display.clearDisplay(); display.display(); delay(2000); display.clearDisplay(); display.setTextSize(1); display.setTextColor(SSD1306_WHITE); sensors.begin(); // Initialize DS18B20 sensor pinMode(soundSensorPin, INPUT); //Initialize the sound sensor pin pinMode(lightSensorDOPin, INPUT); //Set the digital output pin of the digital light sensor as input } static const unsigned char PROGMEM pic[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x40,0x00, 0x00,0x00,0x0F,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0xE0,0x00, 0x00,0x00,0x7C,0x00,0x00,0x00,0xE0,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF0,0x00, 0x00,0x03,0xF0,0x00,0x00,0x01,0xF0,0x00,0x00,0x07,0xF0,0x00,0x00,0x03,0xF8,0x00, 0x00,0x0F,0xE0,0x00,0x00,0x07,0xF8,0x00,0x00,0x1F,0xE0,0x00,0x00,0xFF,0xFF,0xE0, 0x00,0x3F,0xC0,0x00,0x03,0xFF,0xFF,0xF8,0x00,0x7F,0xC0,0x00,0x01,0xFF,0xFF,0xF0, 0x00,0xFF,0x80,0x00,0x00,0xFF,0xFF,0xE0,0x01,0xFF,0x80,0x00,0x00,0x7F,0xFF,0xC0, 0x01,0xFF,0x80,0x00,0x00,0x3F,0xFF,0x80,0x03,0xFF,0x80,0x00,0x00,0x1F,0xFF,0x00, 0x03,0xFF,0x80,0x00,0x00,0x1F,0xFF,0x00,0x07,0xFF,0x00,0x00,0x00,0x1F,0xFF,0x00, 0x07,0xFF,0x00,0x00,0x00,0x1F,0xFF,0x00,0x0F,0xFF,0x00,0x00,0x00,0x1F,0xFF,0x00, 0x0F,0xFF,0x00,0x00,0x00,0x1F,0xFF,0x00,0x0F,0xFF,0x00,0x00,0x00,0x3F,0x3F,0x00, 0x1F,0xFF,0x00,0x00,0x00,0x3E,0x0F,0x80,0x1F,0xFF,0x80,0x00,0x00,0x38,0x03,0x80, 0x1F,0xFF,0x80,0x00,0x00,0x20,0x00,0x00,0x1F,0xFF,0x80,0x00,0x00,0x00,0x00,0x00, 0x1F,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0x80,0x00,0x00,0x00,0x00,0x00, 0x1F,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00, 0x1F,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00, 0x1F,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00, 0x1F,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00, 0x1F,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00, 0x0F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x08,0x0F,0xFF,0xFF,0x80,0x00,0x00,0x00,0x18, 0x07,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x30,0x07,0xFF,0xFF,0xF0,0x00,0x00,0x00,0xF0, 0x03,0xFF,0xFF,0xF8,0x00,0x00,0x01,0xE0,0x03,0xFF,0xFF,0xFE,0x00,0x00,0x07,0xE0, 0x03,0xFF,0xFF,0xFF,0x80,0x00,0x3F,0xC0,0x01,0xFF,0xFF,0xFF,0xF8,0x01,0xFF,0xC0, 0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, 0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFE,0x00, 0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xF8,0x00, 0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xE0,0x00, 0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0x00,0x00, 0x00,0x00,0x1F,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xF0,0x00,0x00, 0x00,0x00,0x00,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; static const unsigned char PROGMEM pic1[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0xC0,0x00,0x00,0x00, 0x00,0x00,0x03,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x07,0xC1,0x80,0x00,0x00,0x00, 0x00,0x00,0x07,0xC3,0x80,0x00,0x00,0x00,0x00,0x00,0x0F,0xC3,0xC0,0x00,0x00,0x00, 0x00,0x00,0x1F,0xC3,0xC0,0x00,0x00,0x00,0x00,0x00,0x1F,0xE3,0xE0,0x00,0x02,0x00, 0x00,0x00,0x1F,0xF1,0xF0,0x00,0x0E,0x00,0x00,0x00,0x1F,0xF8,0xFC,0x00,0x1C,0x00, 0x00,0x00,0x1F,0xF8,0xFE,0x00,0x3C,0x00,0x00,0x00,0x1F,0xFC,0x7F,0x80,0x78,0x00, 0x00,0x00,0x0F,0xFE,0x3F,0xC0,0x78,0x00,0x00,0x00,0x07,0xFE,0x3F,0xF0,0x78,0x00, 0x00,0x00,0x07,0xFE,0x1F,0xF8,0x78,0x00,0x00,0x00,0x03,0xFE,0x1F,0xFC,0x3C,0x00, 0x00,0x00,0x01,0xFE,0x1F,0xFE,0x3C,0x00,0x00,0x00,0x00,0xFE,0x1F,0xFE,0x3C,0x00, 0x00,0x00,0xC0,0x7C,0x1F,0xFE,0x3E,0x00,0x00,0x00,0x40,0x78,0x3F,0xFE,0x3E,0x00, 0x00,0x00,0x60,0x78,0x7F,0xFE,0x3C,0x00,0x00,0x00,0x60,0x70,0xFF,0xFE,0x38,0x00, 0x00,0x00,0x70,0xE3,0xFF,0xFE,0x70,0x00,0x00,0x00,0x70,0xC7,0xFF,0xFC,0xE0,0x00, 0x00,0x00,0xF1,0x1F,0xFF,0xFC,0x80,0x00,0x00,0x00,0xF0,0x3F,0xFF,0xF8,0x00,0x00, 0x00,0x01,0xF0,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x03,0xF1,0xFF,0xFF,0xF8,0x00,0x00, 0x00,0x07,0xF7,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x07,0xEF,0xFF,0xFF,0xF0,0x00,0x00, 0x00,0x0F,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xE1,0xF0,0x00, 0x00,0x1F,0xFF,0xFF,0xFF,0xE7,0xC0,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0x80,0x00, 0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFE,0x00,0x00, 0x00,0x7F,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFE,0x00,0x00, 0x00,0x7E,0x78,0xE0,0x60,0x1E,0x00,0x00,0x00,0x7E,0x78,0xC0,0x30,0x1E,0x00,0x00, 0x00,0x7E,0x78,0x8F,0x3C,0xFE,0x00,0x00,0x00,0x7E,0x79,0x8F,0x9C,0xFF,0x00,0x00, 0x00,0x7E,0x01,0x9F,0x9C,0xFF,0x00,0x00,0x00,0x3E,0x00,0x9F,0x9C,0xFF,0x80,0x00, 0x00,0x3E,0x79,0x9F,0x9C,0xFF,0x80,0x00,0x00,0x3E,0x78,0x8F,0x1C,0xFF,0x80,0x00, 0x00,0x1E,0x78,0xC6,0x3C,0xFF,0x80,0x00,0x00,0x0E,0x78,0xC0,0x7C,0x7F,0x80,0x00, 0x00,0x0E,0x7D,0xF0,0xFE,0xFF,0x80,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0x80,0x00, 0x00,0x03,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0x00,0x00, 0x00,0x00,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFC,0x00,0x00, 0x00,0x00,0x1F,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xE0,0x00,0x00, 0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; static const unsigned char PROGMEM pic2[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00, 0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x00,0x00,0x00, 0x00,0x00,0x00,0x07,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF8,0x00,0x00,0x00, 0x00,0x00,0x00,0x1F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFC,0x00,0x00,0x00, 0x00,0x00,0x00,0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0x00,0x00,0x00, 0x00,0x00,0x00,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x80,0x00,0x00, 0x00,0x00,0x03,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xE0,0x00,0x00, 0x00,0x00,0x07,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xF0,0x00,0x00, 0x00,0x00,0x1F,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xF8,0x00,0x00, 0x00,0x00,0x3F,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFE,0x00,0x00, 0x00,0x00,0x7F,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00, 0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0x80,0x00, 0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xC0,0x00, 0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xE0,0x00, 0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xF0,0x00, 0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xF8,0x00, 0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFC,0x00, 0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFC,0x00, 0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFC,0x00, 0x00,0x3F,0x80,0x7F,0xFF,0xFF,0xFC,0x00,0x00,0x3F,0x80,0x7F,0xFF,0xFF,0xFC,0x00, 0x00,0x3F,0xC0,0x7F,0xFF,0xFF,0xFC,0x00,0x00,0x3F,0xC0,0x3F,0xFF,0xFF,0xFC,0x00, 0x00,0x3F,0xC0,0x1F,0xFF,0xFF,0xFC,0x00,0x00,0x1F,0xE0,0x0F,0xFF,0xFF,0xFC,0x00, 0x00,0x1F,0xE0,0x03,0xFF,0xFF,0xF8,0x00,0x00,0x1F,0xF0,0x00,0xFF,0xFF,0xF8,0x00, 0x00,0x0F,0xF0,0x00,0xFF,0xFF,0xF0,0x00,0x00,0x0F,0xF8,0x00,0xFF,0xFF,0xF0,0x00, 0x00,0x07,0xFC,0x00,0xFF,0xFF,0xE0,0x00,0x00,0x07,0xFF,0x00,0xFF,0xFF,0xE0,0x00, 0x00,0x03,0xFF,0x80,0xFF,0xFF,0xC0,0x00,0x00,0x01,0xFF,0xE0,0xFF,0xFF,0x80,0x00, 0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFE,0x00,0x00, 0x00,0x00,0x3F,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xF8,0x00,0x00, 0x00,0x00,0x07,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xC0,0x00,0x00, 0x00,0x00,0x00,0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; static const unsigned char PROGMEM pic3[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x00,0x00, 0x00,0x00,0x00,0x00,0x0F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x3F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x00, 0x00,0x00,0x00,0x00,0x00,0x03,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00, 0x00,0x00,0x00,0x00,0x0F,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x0F,0xE0,0x07,0x80, 0x00,0x00,0x00,0x18,0x0F,0xF0,0x07,0xC0,0x00,0x00,0x00,0x3C,0x01,0xF8,0x03,0xC0, 0x00,0x00,0x00,0x7E,0x00,0x7E,0x01,0xE0,0x00,0x00,0x00,0x7F,0x00,0x3E,0x01,0xE0, 0x00,0x00,0x00,0xFF,0x80,0x1F,0x00,0xF0,0x00,0x00,0x00,0xFF,0xC0,0x0F,0x80,0xF0, 0x00,0x00,0x01,0xFF,0xE0,0x07,0xC0,0x78,0x00,0x00,0x01,0xFF,0xF0,0x03,0xC0,0x78, 0x00,0x00,0x03,0xFF,0xF8,0x01,0xE0,0x38,0x00,0x00,0x03,0xFF,0xFC,0x01,0xE0,0x38, 0x00,0x00,0x07,0xFF,0xFE,0x00,0xF0,0x3C,0x00,0x00,0x07,0xFF,0xFF,0x00,0xF0,0x3C, 0x00,0x00,0x0F,0xFF,0xFF,0x80,0x70,0x18,0x00,0x00,0x0F,0xFF,0xFF,0xC0,0x60,0x00, 0x00,0x00,0x1F,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xF0,0x00,0x00, 0x00,0x00,0x3F,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFC,0x00,0x00, 0x00,0x00,0x7F,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0x00,0x00, 0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xC0,0x00, 0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xE0,0x00, 0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0x00,0x00, 0x00,0x07,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xF0,0x00,0x00, 0x00,0x0F,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0x00,0x00,0x00, 0x00,0x1F,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xF0,0x00,0x00,0x00, 0x00,0x3F,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0x00,0x00,0x00,0x00, 0x00,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00, 0x07,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0xFF,0x00,0x00,0x00,0x00,0x00,0x1E,0x0F,0xFF,0x80,0x00,0x00,0x00,0x00, 0x1E,0x07,0xFF,0xC0,0x00,0x00,0x00,0x00,0x0F,0x07,0x9F,0xE0,0x00,0x00,0x00,0x00, 0x07,0x8F,0x0F,0xF0,0x00,0x00,0x00,0x00,0x03,0xCF,0x07,0xF8,0x00,0x00,0x00,0x00, 0x01,0xFE,0x03,0xFC,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0xFC,0x00,0x00,0x00,0x00, 0x00,0x78,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; static const unsigned char PROGMEM pic4[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x00,0x00,0x00, 0x00,0x00,0x03,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xF8,0x00,0x00, 0x00,0x00,0x7F,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00, 0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xE0,0x00, 0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xF8,0x00, 0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFE,0x00, 0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80, 0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x03,0xFF,0xF3,0xFF,0xFF,0xCF,0xFF,0xC0, 0x03,0xFF,0xC0,0xFF,0xFF,0x83,0xFF,0xC0,0x07,0xFF,0xC0,0xFF,0xFF,0x01,0xFF,0xE0, 0x07,0xFF,0x80,0x7F,0xFE,0x01,0xFF,0xE0,0x0F,0xFF,0x80,0x7F,0xFE,0x01,0xFF,0xF0, 0x0F,0xFF,0xC0,0xFF,0xFF,0x01,0xFF,0xF0,0x0F,0xFF,0xC0,0xFF,0xFF,0x03,0xFF,0xF0, 0x0F,0xFF,0xF3,0xFF,0xFF,0xC7,0xFF,0xF8,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8, 0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8, 0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8, 0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC, 0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC, 0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8, 0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8, 0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x1F,0xFF,0xF3,0xFF,0xFF,0xEF,0xFF,0xF8, 0x0F,0xFF,0xC3,0xFF,0xFF,0xC3,0xFF,0xF0,0x0F,0xFF,0x81,0xFF,0xFF,0x80,0xFF,0xF0, 0x0F,0xFF,0x80,0xFF,0xFF,0x01,0xFF,0xF0,0x07,0xFF,0xC0,0x3F,0xFC,0x01,0xFF,0xE0, 0x07,0xFF,0xC0,0x0F,0xF0,0x03,0xFF,0xE0,0x03,0xFF,0xE0,0x00,0x00,0x07,0xFF,0xC0, 0x03,0xFF,0xF8,0x00,0x00,0x0F,0xFF,0xC0,0x01,0xFF,0xFC,0x00,0x00,0x3F,0xFF,0x80, 0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x80,0x00,0xFF,0xFF,0xC0,0x03,0xFF,0xFF,0x00, 0x00,0x7F,0xFF,0xFE,0x7F,0xFF,0xFE,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFC,0x00, 0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xF0,0x00, 0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xC0,0x00, 0x00,0x01,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFE,0x00,0x00, 0x00,0x00,0x1F,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xE0,0x00,0x00, 0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; void loop() { delay(2000); sensors.requestTemperatures(); float temperatureC = sensors.getTempCByIndex(0); // Get the temperature value of the DS18B20 sensor int lightIntensity = digitalRead(lightSensorDOPin); // Use digitalRead to read the status of the digital light sensor int soilMoisture = analogRead(soilMoistureSensorPin); int soundLevel = analogRead(soundSensorPin); // // Display sensor data on OLED display.clearDisplay(); display.setCursor(68, 0); display.print("T: "); display.print(temperatureC); display.print(" C"); display.setCursor(68, 10); display.print("L: "); display.print(lightIntensity == LOW ? "High" : "Low"); // Display light intensity status display.setCursor(68, 20); display.print("D: "); display.print(soilMoisture); display.print(" %"); display.setCursor(68, 30); display.print("S: "); display.print(soundLevel); display.print(" dB"); display.display(); //Select expressions based on sensor data if (lightIntensity == HIGH) { // low light intensity // display.setCursor(35, 40); // display.clearDisplay();//Clear the screen display.drawBitmap(0, 0, pic, 64, 64, 1); //Draw the bitmap data corresponding to the characters display.setCursor(68, 40); display.print("Sad :("); display.display();//Turn on display delay(2000); } else if (temperatureC > 25) { // high temperature // display.setCursor(35, 40); // display.clearDisplay();//Clear the screen display.drawBitmap(0, 0, pic1, 64, 64, 1); //Draw the bitmap data corresponding to the characters display.setCursor(68, 40); display.print("Hot :S"); display.display();//Turn on display delay(2000); } else if (soilMoisture > 500) { // Soil is too dry // display.setCursor(35, 40); // display.clearDisplay();//Clear the screen display.drawBitmap(0, 0, pic2, 64, 64, 1); //Draw the bitmap data corresponding to the characters display.setCursor(68, 40); display.print("dry :S"); display.display();//Turn on display delay(2000); } else if (soundLevel > 30) { // strong voice // display.setCursor(35, 40); // display.clearDisplay();//Clear the screen display.drawBitmap(0, 0, pic3, 64, 64, 1); //Draw the bitmap data corresponding to the characters display.setCursor(68, 40); display.print("Loud :O"); display.display();//Turn on display delay(2000); } else { //Default expression // display.setCursor(35, 40); // display.clearDisplay();//Clear the screen display.drawBitmap(0, 0, pic4, 64, 64, 1); //Draw the bitmap data corresponding to the characters display.setCursor(68, 40); display.print("Smile :)"); display.display();//Turn on display delay(2000); } display.display(); }