Inspiration

Now-a-days agriculture in India is not viewed as a profitable job but still farmers practice it from time immemorial. They sell products with less profit but the traders sell it to the customers at a higher rate.

There are more challenges in this sector namely land tenure problems, lack of irrigation, repaying the debts etc. As a consequence of these issues, they decide to end their life.

To solve these deep rooted issues, we should give them rights, respect their occupation as a farmer and make them proud to be an Indian.

If they have a healthy communication channel to engage in market activities and interact with customers, these will lead to a fast paced increase in their yield.

As a favourable effect customers will get quality products and the quality of life of farmers will also be improved.

What it does

            This innovation involves techniques to govern the farmlands including speculation of farming procedures taking place in the land, inculcating about new agricultural methods and thereby improving the farmer's standards. The mentioned processes are carried out by employing the farm mechanization technology. This maintains a record of different roles to the people based on their need to use this application such as a player in the gamification, a customer in shopping portal and the organizer who is the control centre of the monitoring procedures. This horizon involves utilization of high configuration system to sustain the device in the farming land and thereby connecting the consumers in different aspects. This can make the basic farming practices such as soil preparation, seed sowing, adding manure and fertilizers, irrigation, harvesting and storage of the crops much easier and effortless along with the gamification process. 
            In farmer's view, administrator instructs on how to handle the device. The 1G Bot device formulates a statistical data with charts on the farm lands with details of the start, end and charging points. Farmers can improve their quality by the use of this advancement in every aspect. The consumers will also be able to gain a real time experience during different seasons. Each day in different seasons are take into account for the real time application and game. Farm_tie game is designed in a user-friendly way where past inaccuracies are used as data to provide better understanding of the gaming process. crops are grown and harvested during different seasons. The data is continuously updated in the shopping portal to gain rewards. The status of the process is also shown as completed, failed or onprocess.

How we built it

1GBOT Mechanism: 1G BOT makes farming mechanized. This will be of umpteen importance to the farmers to predict events beforehand and take necessary steps. Farmers are not aware of the technological advancements that can be employed to improve their yield. Soil moisture sensors , Mq135 sensor, Ph level sensor, Humidity sensor, Water pump, human obstacle sensor , phone holder, CO2 pollution detection sensor. The 1G Bot device is a boon to the environment as it can effectively predict the climatic conditions and can generate alerts beforehand in case of any hazards. It can monitor all the conditions within the defined boundaries in the form of data by utilizing IoT and through SMS. This data is used as input for the upcoming events. Disease detection is one through NPK sensors where N stands for nitrogen, P for phosphorus and K for potassium as it detects the disease by eliminating the specific parts. Water levels in the soil is checked through pH sensor which includes soil moisture temperature by limiting the wastage. As an impact of pollution, the air quality is checked for Co2 levels through the use of MQ135 sensor. The camera helps in giving a full view of the land at the selected location and provides remote control access. This helps the customer to get the products in good quality. The 1G Bot facilitates locomotion through rocker-bogie mechanism with human obstacle detection sensor. The device interacts and communicates with the farmer in the common language of that region. Every stage in the farming process can be tracked until the product reaches the consumer. Transaction details are also tracked and it is managed from the transaction history. The used and decayed products are processed by effective degradation. But in this case products are fast-moved as they are pre booked which apparently reducing wastage.

In 1G Bot we comprises an apparatus to demonstrate the structure such as,

  1. Rocker-Bogie Mechanism --> We control the directions and protects from the obstacles. It tries to defend itself by measurements from the obstacles

  2. Camera controller --> During the gaming process, in order to make the farming process clear to the players, the camera controller provides an enhanced feature of live tracking.

  3. Disease detecting sensor --> The NPK sensor can get the fetched input values and shows variations among different crops.

  4. Ph sensor --> helps to determine the right time to plant different varieties along with the type of soil that supports these ongoing processes. The data is transferred through IoT.

  5. Scores of sensors. --> sensors generate relevant output based on which the 1G Bot operates, which then sends it to the shopping portal.

SHOPPING PORTAL: This eliminates the interference of any third party dealers while purchasing production at different rates. Customers can get the fresh products with delivery directly from the farm land.The redeems and extra benefits from the game can be used for purchase and sometimes can provide free delivery . The organizer takes up the role of marketing the products available. It specifies details including the location, date and time, product weight, qualified redeems from gaming portal. 1G Bot device can give a real time view of the products chosen by the customer. All the information furnished by the customer along with the transactions are processed by the organizer and accessed by the farmer.

GAMIFICATION: The organizer is responsible for scheduling the productivity of each crop based on the time period where the player can choose them based on their convenience. Organizer have remote control access over the device. In the game zone, when players face any difficulties they are provided with the instructions and can contact the farmers instantly . The organizer acts as an interface connecting the shopping portal and farming at one place.

ORGANIZER: Organizer acts as a connecting interface between the 1G Bot device, shopping portal and gaming application. It manages and maintains all the data of the users from entire system. Each locality where numerous 1G Bots are operating , different organizers are assigned roles to monitor the devices with unique identification numbers. This helps in resolving any issues in the device and can be identified using the unique number. This also helps in managing the relationship among the three components of the system in a cyclic way. WIREFRAMES: 1GBOT TO SHOPPING PORTAL: The device helps in getting input such as the demographic details of the environment. These include temperature changes, climatic conditions, soil permeability, irrigation levels etc.It directs these information to the shopping portal where users become aware of these details. The daily updates are rendered which is used to determine the physical conditions of the crop. 1GBOT TO 1GBOT: This facilitates farmer interaction from different states and cities. This helps in growing a crop plant which is exotic to a particular region to other places where it has not been previously grown. This can aid in introducing new crops to new regions. Through this interaction farmers can interact and can discuss about the procedures that they follow in their region. This tends to bring about evolution and changes in the processes. New technological advancements can also be employed to improve the yield. 1GBOT TO GAMIFICATION: The game involves having the experience of the farming practices and growing crops from basic steps to the harvesting in a real time. In case of any doubts or clarifications needed, it can be resolved by connecting to the device. This helps the young generation to develop and nurture their interest in agriculture. This explicates the players doubts in a detailed manner. GAMIFICATION TO SHOPPING PORTAL: The rewards from gaming application can be directed to the shopping portal and used effectively. Users can avail different offers and discounts for the product by using the rewards gained. GAMIFICATION TO GAMIFICATION: When players are engaged in playing the game, they can also interact among other players. This is possible by game - game connection. This will be more useful where they can interact, play and get their doubts clarified instantly.

Challenges we ran into

     our idea is advancing the technology both in hardware and software. As of now we build a 50% implementation in both technology.  we got an consumer feedback to encourage our creature. 

RISK 1: Risk includes uncertainties in weather, prices and disease which also tend to affect device functionality. This can be overcome by adding protective parts to device for resistance. RISK 2: Other risks involve customization for farmers, ensuring active transport facilities and giving awareness on the application usage. These risks can be mitigated unifying must- have parts with appropriate customization. MITIGATIONS: Ensuring proper transportation to even remote areas. To organize awareness programmes about device and applications.

## Accomplishments that we're proud of We have done a design patent and published in IEEE conference certified with our team members.

What we learned

We as a team were able to gain basic agricultural knowledge and collect major information since few of our team members are from agricultural based family background. We also learned and acquired knowledge in app development which plays a major role in the software side. We have dug our heads in IoT and Hardware designing which embed software technology shooting towards 1G BOT.

What's next for SUPPLY CHAIN AND AGRICULTURE LOGISTICS

Concentrating on Gamification platform to enhance the realistic platform to increase in graphics. developing the features of customer and player to impress these portals.

nodemcu CODE

define BLYNK_PRINT Serial    
include <ESP8266WiFi.h>
include <BlynkSimpleEsp8266.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
define BLYNK_TEMPLATE_ID "TMPLHgvgNhjF"
define BLYNK_TEMPLATE_NAME "ROCKER BOOGIE"
define BLYNK_AUTH_TOKEN "UgG9GTTRwaUOzibbt3SLLcwcqmGHZ1Y2"
char auth[] = BLYNK_AUTH_TOKEN;
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "IOT";
char pass[] = "123456789";
unsigned int m=0,act=1,val,val1,val2,val3,val4,val5,val6,val7;
define pump D0
define ph A0
define m11 D5 
define m12 D6
define m21 D7
define m22 D8
String inputString = ""; 
unsigned char a[200];
int phvalue;
void setup()
{
  Serial.begin(9600);
   pinMode(m11, OUTPUT);
  pinMode(m12, OUTPUT);
  pinMode(m21, OUTPUT);
  pinMode(m22, OUTPUT); 
pinMode(ph,INPUT);
   pinMode(pump,OUTPUT);
   digitalWrite(pump,HIGH);
  digitalWrite(m11,LOW);
  digitalWrite(m12,LOW);
  digitalWrite(m21,LOW);
  digitalWrite(m22,LOW);
 Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);
}
void loop()
{
   while(Serial.available())
    {
        char data;
        data=Serial.read();
        a[m]=data;
          if(a[0] == '*')
          {
            if(m<=24)
            {m++;}
          }
      }
      if(m > 1)
      {
        val = (a[1]-0x30)*100 + (a[2]-0x30)*10  + (a[3] - 0x30);
        val1 = (a[4]-0x30)*100 + (a[5]-0x30)*10  + (a[6] - 0x30);
        val2 = (a[7]-0x30)*100 + (a[8]-0x30)*10  + (a[9] - 0x30);
        val3 = (a[10]-0x30)*100 + (a[11]-0x30)*10  + (a[12] - 0x30);
        val4 = (a[13]-0x30)*100 + (a[14]-0x30)*10  + (a[15] - 0x30);
        val5 = (a[16]-0x30)*100 + (a[17]-0x30)*10  + (a[18] - 0x30);
         val6 = (a[19]-0x30)*100 + (a[20]-0x30)*10  + (a[21] - 0x30);
        val7 = (a[22]-0x30)*100 + (a[23]-0x30)*10  + (a[24] - 0x30);                 
        m=0;
      }
      delay(100);
      Blynk.virtualWrite(V0,val);      
      delay(100);
      Blynk.virtualWrite(V1,val1);
       delay(100);
      Blynk.virtualWrite(V2,val2);
       delay(100);
      Blynk.virtualWrite(V3,val3);
       delay(100);
      Blynk.virtualWrite(V4,val4);      
  Blynk.virtualWrite(V5,val5);
       delay(100);
      Blynk.virtualWrite(V6,val6);
         delay(100);
      Blynk.virtualWrite(V7,val7);
  phvalue=analogRead(ph);
  phvalue=map(phvalue,0,50,8,0);
Blynk.virtualWrite(V15,phvalue);
      if((val<=30 && val>0) || (val1<=30 && val1>0) || (val2<=30 && val2>0)){ stop(); Serial.println("STOP"); Blynk.virtualWrite(V14,"OBSTACLE DETECTED ,STOPED");}
      Blynk.run();
      delay(100);
      Blynk.run();
      delay(100);
}
// FORWARD
BLYNK_WRITE(V8) {
  int button = param.asInt(); 
  if (button == 1) {
    forward();
    Serial.println("Forward movement");   
    act=1;
  }
}
// Reverse
BLYNK_WRITE(V9) {
  int button = param.asInt(); // read button
  if (button == 1) { 

    reverse();
Serial.println("Reverse movement");
act=1;
  }

}
//right
BLYNK_WRITE(V10) {
  int button = param.asInt(); // read button
  if (button == 1) {    
    right();
    Serial.println("right movement");
act=1;
  }
  }
//left
BLYNK_WRITE(V11) {
  int button = param.asInt(); // read button
  if (button == 1) {    
    left();
    Serial.println("left movement");
    act=1;
  }
}
BLYNK_WRITE(V12) {
  int button = param.asInt(); // read button
  if (button == 1) {
      stop();
   Serial.println("stoped");
   act=0;
  }
}
BLYNK_WRITE(V13) {
  int button = param.asInt(); // read button
  if (button == 1) {
      digitalWrite(pump,LOW);
  Serial.println("PUMP ON");
    }
  else 
    {
      digitalWrite(pump,HIGH);
      Serial.println("pump offed");
    }
}
void forward()
  {
        digitalWrite(m11,LOW);
  digitalWrite(m12,HIGH);
  digitalWrite(m21,LOW);
  digitalWrite(m22,HIGH);
  Serial.println("MOVING FORWARD");
   }
  void reverse()
  {
   digitalWrite(m11,HIGH);
  digitalWrite(m12,LOW);
  digitalWrite(m21,HIGH);
  digitalWrite(m22,LOW);
  }
void left()
  {
    digitalWrite(m11,HIGH);
  digitalWrite(m12,LOW);
  digitalWrite(m21,LOW);
  digitalWrite(m22,HIGH);
  } 
  void right()
  {
       digitalWrite(m11,LOW);
  digitalWrite(m12,HIGH);
  digitalWrite(m21,HIGH);
  digitalWrite(m22,LOW);
  }
void stop()
  {
     digitalWrite(m11,LOW);
  digitalWrite(m12,LOW);
  digitalWrite(m21,LOW);
  digitalWrite(m22,LOW);
  }

Arduino uno CODE

include <LiquidCrystal.h>
const int rs = 13, en = 12, d4 = 11, d5 = 10, d6 = 9, d7 = 8;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
include "DHT.h"
define DHTPIN 5
define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
define moisture A1
define gas1 A0
define gas2 A1
 int us1trigPin = A2;    // Trigger
int us1echoPin = A4;    // Echo
long us1duration, us1cm, us1inches;
 int us2trigPin = A2;    // Trigger
int us2echoPin = A3;    // Echo
long us2duration, us2cm, us2inches;
 int us3trigPin = A2;    // Trigger
int us3echoPin = A5;    // Echo
long us3duration, us3cm, us3inches;
int t,h,gas1val,gas2val,moistureval;
 void setup ( ) {  
  Serial.begin(9600);
dht.begin();
   lcd.begin(16, 2);
     lcd.setCursor(0,0);lcd.print("ROCKER BOOGIE");
   delay(2000);
  lcd.clear();
  pinMode(moisture,INPUT_PULLUP);
  pinMode(us1trigPin, OUTPUT);
  pinMode(us1echoPin, INPUT);
  pinMode(us2trigPin, OUTPUT);
  pinMode(us2echoPin, INPUT);
      pinMode(us3trigPin, OUTPUT);
  pinMode(us3echoPin, INPUT);
   pinMode(gas1,INPUT);
pinMode(gas2,INPUT);
 }
 void loop ( ) {
   // Reading temperature or humidity may take about 2 seconds because it is a very slow sensor.
gas1val=analogRead(gas1val);
gas1val=map(gas1val,0,1023,0,100);
gas2val=analogRead(gas2val);
gas2val=map(gas2val,0,1023,0,100);
Serial.print("GAS 1 :");
Serial.println(gas1val);   
Serial.print("GAS 2 :");
Serial.println(gas2val);
 t = dht.readTemperature();
    lcd.setCursor(7,1);lcd.print("T:");
    if(t <= 9){lcd.print("0");lcd.print(t);}
    else if(t <= 99){lcd.print(t);}
h = dht.readHumidity();
    lcd.setCursor(12,1);lcd.print("H:");
    if(h <= 9){lcd.print("0");lcd.print(h);}
    else if(h <= 99){lcd.print(h);}
   Serial.print("MOISTURE :");
Serial.println(digitalRead(moisture));
moistureval=digitalRead(moisture);
  digitalWrite(us1trigPin, LOW);
  delayMicroseconds(5);
  digitalWrite(us1trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(us1trigPin, LOW);
  pinMode(us1echoPin, INPUT);
  us1duration = pulseIn(us1echoPin, HIGH);
   // Convert the time into a distance
  us1cm = (us1duration/2) / 29.1;     // Divide by 29.1 or multiply by 0.0343
  us1inches = (us1duration/2) / 74;   // Divide by 74 or multiply by 0.0135
  Serial.print("Distance 1:");
  Serial.println(us1cm);
 lcd.setCursor(0,0);
lcd.print("D1:");
if(us1cm<=9){lcd.print("00"); lcd.print(us1cm);}
else if(us1cm<=99){lcd.print("0"); lcd.print(us1cm);}
else if(us1cm<=999){lcd.print(""); lcd.print(us1cm);}
//ultrasonic 2
  digitalWrite(us2trigPin, LOW);
  delayMicroseconds(5);
  digitalWrite(us2trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(us2trigPin, LOW);
  pinMode(us2echoPin, INPUT);
  us2duration = pulseIn(us2echoPin, HIGH);
   // Convert the time into a distance
  us2cm = (us2duration/2) / 29.1;     // Divide by 29.1 or multiply by 0.0343
  us2inches = (us2duration/2) / 74;   // Divide by 74 or multiply by 0.0135
  Serial.print("Distance 2:");
  Serial.println(us2cm);
 lcd.setCursor(8,0);
lcd.print("D2:");
if(us2cm<=9){lcd.print("00"); lcd.print(us2cm);}
else if(us2cm<=99){lcd.print("0"); lcd.print(us2cm);}
else if(us2cm<=999){lcd.print(""); lcd.print(us2cm);}
//ultrasonic 3
  digitalWrite(us3trigPin, LOW);
  delayMicroseconds(5);
  digitalWrite(us3trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(us3trigPin, LOW);
  pinMode(us3echoPin, INPUT);
  us3duration = pulseIn(us3echoPin, HIGH);
  // Convert the time into a distance
  us3cm = (us3duration/2) / 29.1;     // Divide by 29.1 or multiply by 0.0343
  us3inches = (us3duration/2) / 74;   // Divide by 74 or multiply by 0.0135
  Serial.print("Distance 3:");
  Serial.println(us3cm); 
lcd.setCursor(0,1);
lcd.print("D3:");
if(us3cm<=9){lcd.print("00"); lcd.print(us3cm);}
else if(us3cm<=99){lcd.print("0"); lcd.print(us3cm);}
else if(us3cm<=999){lcd.print(""); lcd.print(us3cm);}
      delay(200);
      senddata();
 }
 void senddata()
  {
    Serial.print('*');
    if(us1cm<=9){Serial.print("00"); Serial.print(us1cm);}
    else if(us1cm<=99){Serial.print("0"); Serial.print(us1cm);}
    else if(us1cm<=999){Serial.print(""); Serial.print(us1cm);}
    if(us2cm<=9){Serial.print("00"); Serial.print(us2cm);}
    else if(us2cm<=99){Serial.print("0"); Serial.print(us2cm);}
    else if(us2cm<=999){Serial.print(""); Serial.print(us2cm);}
        if(us3cm<=9){Serial.print("00"); Serial.print(us3cm);}
    else if(us3cm<=99){Serial.print("0"); Serial.print(us3cm);}
    else if(us3cm<=999){Serial.print(""); Serial.print(us3cm);}
        if(t<=9){Serial.print("00"); Serial.print(t);}
    else if(t<=99){Serial.print("0"); Serial.print(t);}
    else if(t<=999){Serial.print(""); Serial.print(t);}
        if(h<=9){Serial.print("00"); Serial.print(h);}
    else if(h<=99){Serial.print("0"); Serial.print(h);}
    else if(h<=999){Serial.print(""); Serial.print(h);}
        if(gas1val<=9){Serial.print("00"); Serial.print(gas1val);}
    else if(gas1val<=99){Serial.print("0"); Serial.print(gas1val);}
    else if(gas1val<=999){Serial.print(""); Serial.print(gas1val);}
        if(gas2val<=9){Serial.print("00"); Serial.print(gas2val);}
    else if(gas2val<=99){Serial.print("0"); Serial.print(gas2val);}
    else if(gas2val<=999){Serial.print(""); Serial.print(gas2val);}
        if(moistureval<=9){Serial.print("00"); Serial.print(moistureval);}
    else if(moistureval<=99){Serial.print("0"); Serial.print(moistureval);}
    else if(moistureval<=999){Serial.print(""); Serial.print(moistureval);}
  }
Share this project:

Updates