smart AGRICULTURE part1|| vcb ea.
Components required:
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
const int AirValue = 790;
const int WaterValue = 390;
int intervals = (AirValue - WaterValue)/3;
int soilMoistureValue = 0;
int soilmoisturepercent=0;
void setup() {
// put your setup code here, to run once:
pinMode(A0,INPUT);
pinMode(4,OUTPUT);
Serial.begin(9600);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //initialize with the I2C addr 0x3C (128x64)
display.clearDisplay();
}
void loop() {
// put your main code here, to run repeatedly:
soilMoistureValue = analogRead(A0); //put Sensor insert into soil
Serial.println(soilMoistureValue);
soilmoisturepercent = map(soilMoistureValue, AirValue, WaterValue, 0, 100);
Serial.println(soilmoisturepercent);
if(soilMoistureValue >0 && soilMoistureValue <=500)
{
Serial.println("Very Wet");
digitalWrite(4,LOW);
}
else if(soilMoistureValue >500 && soilMoistureValue <=600)
{
Serial.println("Wet");
digitalWrite(4,LOW);
}
else if(soilMoistureValue >600)
{
Serial.println("Dry");
digitalWrite(4,HIGH);
}
if(soilMoistureValue >0 && soilMoistureValue <=500)
{
Serial.println("Very Wet");
display.setCursor(0,0); //oled display
display.setTextSize(2);
display.setTextColor(WHITE);
display.println("s-moisture is good");
display.display();
delay(250);
display.clearDisplay();
}
else if(soilMoistureValue >500 && soilMoistureValue <=600)
{
Serial.println("Wet");
display.setCursor(0,0); //oled display
display.setTextSize(2);
display.setTextColor(WHITE);
display.println("s-moisture enough");
display.display();
delay(250);
display.clearDisplay();
}
else if(soilMoistureValue >600)
{
Serial.println("Dry");
display.setCursor(0,0); //oled display
display.setTextSize(2);
display.setTextColor(WHITE);
display.println("motor turned on");
display.display();
delay(250);
display.clearDisplay();
}
}
soil moisture value of 615 indicates that the soil moisture percentage is 43. soil moisture percent and soil moisture value are inversely proportional. so, soil moisture value of 610 indicates soil moisture percent is around 45. so if soil moisture percent is less than 45,i.e., soil moisture value is greater than 610 indicates that the soil is dry, so that motor will be turned on.
Subscribe here to vcb ea
INTERFACING WITH OLED DISPLAY :
oled display:
LIBRARIES TO BE INCLUDED ARE :
![]() |
sketch ->include library -> manage library |
circuit connections
working procedure is explained in the video.
Useful information
ReplyDeleteThank you
Delete