Project in progress
Smart Crops: Implementing IoT in Conventional Agriculture!

Smart Crops: Implementing IoT in Conventional Agriculture! © GPL3+

Our mission with nature is to preserve it, designing and implementing technologies and monitoring methods with the help of IoT via Helium.

  • 1,915 views
  • 0 comments
  • 14 respects

Components and supplies

A000066 iso both
Arduino UNO & Genuino UNO
×1
Ojyc6a5jtrgslqwc5j7gw9ti
Seeed Base Shield V2
×1
Devatom grande 3um2cm4ngx
Helium Atom Xbee Module
×1
101020015 201
Seeed Grove - Temperature Sensor
×1
101020078 201
Seeed Grove - Air quality sensor v1.3
×1
Grove barometer high accuracy 01 jzp7uc2zuy
Seeed Grove - Barometer (High-Accuracy)
×1
Seeed Grove Humidity and Temperature
×1
Seeed Grove Water Sensor
×1
101020089 1 czgmatyg3a
Seeed Grove - Sunlight Sensor
×1
Seeed Grove UV Sensor
×1
101020088 1 bonma8pqko
Seeed Grove - Multichannel Gas Sensor
×1
1zrttno24twjufuc0bkxxo1h
Seeed Grove - Dust Sensor(PPD42NS)
×1
High 20temperature 20sensor
Seeed Grove - High Temperature Sensor
×1
Helium Element Access Point
×1
Ge6mtc5pim8a5v4ehamx
Arduino 4 Relays Shield
×1
Solar Panel 250W OR +
×6
Inverter 12v
×1
Neodymium magnet generator
Generates approximately twice the energy used
×1
Electric Motor 12V 12000 RPM
×1
12V Random Electric Battery
The goal is to store a total of 2500W
×1
Assembly box Length x Width x Height (mm) 570x 52 x570
×1
Assembly box Length x Width x Height (mm) 57x 52 x70
×1
copper wire # 16 20MTS
×1
Bazaar696800 img 5488a
Seeed Grove - OLED Display 1.12'' V2
×1
1/2 12vdc Electric Solenoid Valve
The amount varies according to the needs of the farm.
×1

Necessary tools and machines

Welder
Hand tools
Tin
voltmeter
Computer

Apps and online services

About this project

The Problem

In Colombia, and the world at large, there is an urgent need to obtain renewable energy resources as ecosystems due to climate change have been affected.

Here is a clear example of the events that can occur due to a lack of renewable alternatives:

During the Cesar Gaviria governmental administration (1992), Colombia suffered energy rationing as the result of a drought. The reservoirs used for the generation of electricity depleted; the phenomenon affected us and left us in a position that, although it was believed that the system was prepared to support it, still the generation of energy was very affected. The constant cuts of the energy supply had affected productive sectors (commercial, industrial), educational and home. In some homes, performance is very restricted (lighting, ventilation, cooling) due to the lack of this fluid, affecting its inhabitants. The high temperatures of the town, make it mandatory to have at least in each house: two fans, a refrigerator, plus lighting during the night. The company providing this service does not provide enough energy as our society needs.

In addition to this, drought leads to millions of crop losses on our farms

In many parts of the world, children and young people find it difficult to carry out their educational tasks due to lack of energy.

Also, a clear example that we must find more renewable alternatives for energy supply is the current crisis that occurs in my country due to an engineering error which is now in a critical state: Hidroituango, the largest hydroelectric project in Colombia, almost generated the second catastrophe due to the biggest engineering mistakes in history.

Inthefaceof the examples shown above, andadding onthemany more that occur in all parts of the world as well as populations that lack conventional electric fluid, there is a clearneed to find a solution.

That is why I am entrusted with the task of investigating--. a little and finding environmentally friendly alternatives that offer infinite resources.

I was intrigued by the need to implement and update the farms, crops and livestock and work hand-in-hand to obtain energy. In other words, my goal was not only to find an alternative to the energy problems but also to implement programmable technologies, to generate and create learning campaigns and, above all, to raise awareness among the citizens of the locality.

Our problem is not only remote in the lack of electrical fluid in localities of the world, but in crops and agriculture in general, since its use establishes the durability of our natural resources.

Our mission is to find a way to monitor and act promptly in the face of the smallest problems in the environment.

The Need

There is an urgent need to facilitate the work of the field!

It could be said that without technology agriculture would not have even emerged; today, no improvement in the agricultural economy can be expected if we are to turn our backs on precise modern technological systems.

Unfortunately, in some rural regions the backwardness is still secular, so that they could benefit even with seemingly outdated technologies. But let's see some general advantages of the implementation of technology in the field.

It is for all the above that I have been asked: how to design, build and implement the use of Helium technology in agriculture and, in the same way, look for an alternative to generate renewable energy, managing to prolong our natural resources by acting in advance?

The Research

After different sketches and designs, as well as a long investigation through the web and institutions of which I was acquiring knowledge on the subject, I came to an idea to achieve with this project.

The earth receives 174 petawatts of incoming solar radiation (insolation) from the highest layer of the atmosphere. Approximately 30% returns to space, while clouds, oceans and landmasses absorb the rest. The electromagnetic spectrum of sunlight on the earth's surface is mainly occupied by visible light and infrared ranges with a small part of ultraviolet radiation.

The power of the radiation varies according to the time of day, the atmospheric conditions that dampen it and the latitude. Under acceptable radiation conditions, power equals approximately 1000 W/m² on the earth's surface. This power is called irradiance. Note that in global terms practically all the radiation received is re-emitted into space (otherwise abrupt heating would occur). However, there is a noticeable difference between the received and the emitted radiation. (Wikipedia)

Technology in the Field

On the one hand, on the subject of agriculture, agricultural productivity is nothing more than the relationship between what we spend to produce and what we obtain with the sales of what is produced.

It seems simple, but it is not so simple. However, something is very clear: the application of technology in the field is a key factor for the increase of agricultural productivity.

The mechanization and automation of processes, the use of certified seeds, the correct use of agrochemicals and the adequate irrigation of crops are the main modern technologies.

On the other hand, the ecological awareness recently operated has brought with it other technologies based on the use of phytochemicals, biofertilizers and natural protection and soil improvement mechanisms.

The field of agriculture needs to be monitored in real time, 24 hours a day. This 100% proved that it is possible to reduce crop losses and increase production if the farmer and the interested party have the correct information on the status of their crop.

It is essential to keep in mind the environmental temperature, the water level of the earth, the humidity, the intensity of the sun's rays, the presence of pests and insects.

By designing a monitoring system it is possible to reduce disasters and losses in agriculture by more than 60%, since we will be able to act before the crisis.

A Potential Solution

Arriving at the end of this search, a possible solution could be established to mitigate or greatly reduce these shortcomings:

It is planned to build an electrical system powered by solar energy, this captured solar energy is stored in batteries.

As it is evident that solar energy is not enough, it was decided to use the electric energy obtained by the sun to power an electric motor that will drive a neodymium magnet generator in order to greatly duplicate our energy reserve.

The energy obtained in this process is transformed through an inverter in optimal current for domestic and industrial use.

All this system will be stored in a metal box to make it more modular and portable.

In order to reduce noise, our compartment is lined with polyurethane foam.

This system that I have just mentioned is capable of supplying the basic energy needs of a home and likewise has the capacity to feed an entire agricultural system.

The Prototype

To test the aforementioned idea, make a prototype on a smaller scale of production:

Initially it was started by testing: a 12-volt motor with a frequency of 12, 000 rpm; a dry battery of 12 volts, 150 w and a neodymium generator of 24 v, 400 watts, when its frequency is 400 rpm. These tests were carried out in Bank. After some discussion, it was concluded that it was possible to enter the research of the first prototype of the speed variation system for the generation of energy.

After some sketches and models, some pine nut sets were obtained.

Theorizing and using the equation: r1f1 = r2f2 (1). We have:

  • r1 = 1 cm Motor pinion
  • F1 = engine frequency = 2500
  • R2 = 2.2 cm
  • F2 = frequency pinion 2

Using (1) you have that f2 = 2136.4 approximately. In pinion 2 we have f2 = 2136.3. This in turn engages in the pinion 3 of radius r3 = 3 cm, f3 =?

Again using (1), f3 = 1, 566.6

It was possible to lower the engine revolution of 12000 rpm to 476 rpm, optimal data for the proposed objective, but at the time of assembling the prototype the data obtained did not match the theoretical data.

After several attempts, it was possible to get some sets of pinions and a motorcycle chain of r1 = 2.5 cm and r2 = 1.25 cm, when deciding not to place the set of gears meshed with each other, I went to try with chain as a band since the gears geared to not being functional, also generated a lot of noise. they were placed together with the chain as shown.

To put the prototype into operation, it was necessary to design a compartment to locate each necessary device and optimize the generation of energy from the rotation of the pinions, for which three stages were available:

STAGE 1: the location of the solar panel (95 w, 21 V) has been the device that generates the fuel for our system, the accumulator or battery which stores enough energy for the engine to operate, the load which will be accumulated in the batteries, will keep the engine on, there are indicators that measure the V and A, located on the prototype board designed, this energy is taken from the appropriate solar panels in the locality.

STAGE 2: We find the permanent magnet motor, it works with 12 v, su and the generator, driven by the speed variation system, transforms the mechanical energy into electrical energy using neodymium magnets for the use of the repulsion force generating energy electric This is designed to generate 24 V, 400 watts at a frequency of 420 rpm.

STAGE 3: The electrical energy obtained by the generator is increased or decreased depending on its use by means of an inverter, which changes a DC input voltage to a symmetrical AC output voltage, with the desired magnitude and frequency.

With the help of our awareness group we managed to build the first prototype:

To take into account the consumption of our electrical system, as well as the energy obtained, its intensity and its energy levels, an OLED screen embedded in the metal box has been implemented, which can provide all the basic information in the form of data.

PROTOTYPE

Just as the goal is to implement the highest possible technology, I am designing and programming an application for our mobile devices to have this information at our fingertips.

Once I tried and proposed an alternative for the lack of energy, I took the form of developing a solution for the field.

The idea is to use part of the energy of our system to feed a system of sensors and modules of high precision Seeed and Arduino programmable for the study and the collection of data and information of our crops and sent thanks to Helium.

The basic sensors to use are:

  • Temperature and humidity
  • Water level
  • Soil moisture
  • PH
  • UV
  • Air quality
  • Gas levels
  • Barometer
  • Among others...

Having already built our prototype of power generation for the farm, our monitoring systems with sensors and a prototype base of culture, we proceed to implement our IoT system.

Connection from Bottom to Top: Arduino UNO - Helium Atom - Base Shield - Grove Sensors.

It is necessary to perform the configuration and verify the operation of the system:

#include "Arduino.h"
#include "Board.h"
#include "Helium.h"
#include "HeliumUtil.h"
#define CHANNEL_NAME "Helium_Smart_Farms"
Helium  helium(&atom_serial);
Channel channel(&helium);
void
setup()
{
   Serial.begin(9600);
   DBG_PRINTLN(F("Starting"));
   helium.begin(HELIUM_BAUD_RATE);
   helium_connect(&helium);
   channel_create(&channel, CHANNEL_NAME);
}
void
loop()
{
   const char * data = "PROJECT SMART FARMS EXAMPLE CONFIGURATION!";
  channel_send(&channel, CHANNEL_NAME, data, strlen(data));
   delay(5000);
}

Animated simulation of our project and its application in agriculture:

EXPLANATION OF PROJECT 2

EXPLANATION OF PROJECT 2

Summary:

Smart Farms consists of a complex monitoring system which is powered by solar energy, which is stored in batteries. This stored energy is used to power a generator that will duplicate the energy obtained and through an inverter will transform it to be suitable for consumption.

This energy and its variables (Amperage, Voltage, Watts) can be appreciated through indicators and meters.

The energy obtained from this system will supply the energy needs of a system of biological sensors controlled by an Arduino UNO, Base Shield V2 plate that will monitor the agricultural crops by sector, allowing to have real and precise data at the moment that is desired.

These data, thanks to the technology of Helium and Google Cloud IoT, are stored on the internet, allowing the farmer and those interested to have vital information in the palm of their hand.

To calibrate our sensors in case of finding errors: Here

All these sensors will be connected in a strategic way representing a sector of the harvest, thus creating different areas to facilitate their study and observation.

For information to reach our farmers and stakeholders, it is necessary to use a Helium Atom and Acces Point to send the data to a station or observation base where a person will receive and fully visualize all the information and this way to make decisions about the situation.

The person in charge of inspecting the received data will be able to give orders to activate automatically and in an electronic way irrigation valves or to execute another task.

The aforementioned energy generation system connected and working hand in hand with our crop system will allow us to automate the field and meet our objectives.

The greatest advantages of this idea:

  • Provides electrical power to remote populations that lack it.
  • Decreases pollution to 0% in all aspects.
  • Automates the work of the field.
  • Provides the farmer with information about his work in the palm of his hand.
  • Avoids loss of crops.
  • It informs us in advance and live the problems of our farms.
  • It is 100% powered with renewable energy.
  • It provides valuable information and information on many aspects of each locality.
  • Improve the quality of work of our farmers and farmers.

The development of ideas like these will help us in the following fields.

In education:

  • Children and youth will have access to electricity day and night.
  • For populations with high temperatures, our children will have the optimal conditioning conditions to study.
  • Make the youth aware of the alternatives and new technologies that are currently available.

In the economy:

  • It is a system that requires investment but in the long term presents proven profits.
  • It avoids, to a large extent, the investment for disasters caused by greenhouses or pests or drought.
  • It will greatly reduce the investment of capital to the energy field, since compared to other systems it is less expensive.

In daily life:

  • Improves the quality of life of people.
  • It will generate an ecological environment.
  • Improves the living conditions of millions of people.

Furthermore

This initiative is still in process, it is very possible that we will implement and improve the technology with Helium and Twilio.

As I do not have adequate resources, I can not say that it is possible to carry out this project individually.

Our society needs ideas and proposals like that of each one of the people that we present in this contest today.

I see the need to transmit my ideas and teach children, youth and adults each and every one of these didactic and practical teaching technologies.

I would be honored to develop this idea and carry out environmental campaigns at the international level, always carrying the ideal of a planet in recovery with the team Hello !.

My motivation: the reason why I am interested in science, technology and innovation is because in it I find the opportunity to develop all my ideas. My greatest satisfaction is to obtain recognition for my developed ideas, because I do it with the intention of bringing forward my mother and my brothers who are my source of motivation.

WITH HELLO | HELIUM | EVERYTHING CAN BE!

Code

Programming code Arduino board and SensorsC/C++
This code will give the order to the agricultural monitoring system to take the data correctly and send them through Helium and through Grove Oled the most relevant
#include "Board.h"
#include <Arduino.h>
#include <ArduinoJson.h>
#include <HeliumUtil.h>
#include <Helium.h>
#include <Wire.h>
#include "AirQuality.h"
#include <TH02_dev.h>
#include <SeeedGrayOLED.h>
#include <avr/pgmspace.h>
#include  "High_Temp.h"
HighTemp  ht ( A3 ,  A2 );
#define CHANNEL_NAME "Helium Smart Farms"
// Delay for one second
#define CHANNEL_DELAY 5000
// Send very 60 cycles (seconds)
#define CHANNEL_SEND_CYCLE 12
int pin = 8;
unsigned long duration;
unsigned long starttime;
unsigned long sampletime_ms = 30000;//sampe 30s ;
unsigned long lowpulseoccupancy = 0;
float ratio = 0;
float concentration = 0;
#define WATER_SENSOR 7
#include "Barometer.h"
float temperature;
float pressure;
float atm;
float altitude;
Barometer myBarometer;
#include  "MutichannelGasSensor.h"


Helium  helium(&atom_serial);
Channel channel(&helium);
int     channel_counter;

void
connect()
{
    while (!helium.connected())
    {
        Serial.print(F("Connecting - "));
        int status = helium.connect();
        report_status(status);
        if (helium_status_OK != status)
        {
            delay(1000);
        }
    }
}

void
channel_create(const char * channel_name)
{
    int8_t result;
    int    status;
    do
    {
        // Ensure we're connected
        connect();
        Serial.print(F("Creating Channel - "));
        status = channel.begin(channel_name, &result);
        // Print status and result
        report_status(status, result);
        if (helium_status_OK != status)
        {
            delay(1000);
        }
    } while (helium_status_OK != status || result != 0);
}

void
channel_send(const char * channel_name, void const * data, size_t len)
{
    int    status;
    int8_t result;

    do
    {
        // Try to send
        Serial.print(F("Sending - "));
        status = channel.send(data, len, &result);
        report_status(status, result);
        // Create the channel if any service errors are returned
        if (status == helium_status_OK && result != 0)
        {
            channel_create(channel_name);
        }
        else if (status != helium_status_OK)
        {
            delay(1000);
        }
    } while (helium_status_OK != status || result != 0);
}


void
setup()
{
    Serial.begin(9600);
    Serial.println(F("Starting"));

    helium.begin(HELIUM_BAUD_RATE);
    channel_create(CHANNEL_NAME);
    channel_counter = 0;
}


#define DRY_VALUE 536 // Taken in air
#define WET_VALUE 303 // Taken in water

#define HUM_RANGE (DRY_VALUE - WET_VALUE)

void
loop()
{
    Serial.print(F("Reading - "));

    float reading = analogRead(A0);//Sensor Humidity & Temperature
    float percent = 100 * (1 - (reading - WET_VALUE) / HUM_RANGE);
    Serial.print(reading);
    Serial.print(" - ");
    Serial.println(percent);

    if (--channel_counter <= 0)
    {
        StaticJsonBuffer<JSON_OBJECT_SIZE(2) + 100> jsonBuffer;
        JsonObject & root = jsonBuffer.createObject();

        root[F("value")]    = reading;
        root[F("percent")] = percent;

        char   buffer[HELIUM_MAX_DATA_SIZE];
        size_t used = root.printTo(buffer, HELIUM_MAX_DATA_SIZE);

        channel_send(CHANNEL_NAME, buffer, used);

        channel_counter = CHANNEL_SEND_CYCLE;
    }

    delay(CHANNEL_DELAY);
}

void loop() 

{
 //Set quality from 0 to 255, with one to 100 being normal
 int sensorValue = analogRead(A1);//Sensor Quality Air
 int quality = map(sensorValue, 0, 1023, 0, 255);
 String dataString = String(quality);
 char data[dataString.length()];
 dataString.toCharArray(data, dataString.length());
 channel_send(&channel, CHANNEL_NAME, data, strlen(data));
 Serial.println(data);
 delay(60000);
}

void  setup () 
{ 
     ht . begin (); 
}

void  loop () 
{ 
    Serial . println ( ht . getThmc ()); 
    retraso ( 100 ); 
}

}

void setup() 
{ pinMode(pin,INPUT);
    starttime = millis();//get the current time;
}

void loop() 
{
    duration = pulseIn(pin, LOW);
    lowpulseoccupancy = lowpulseoccupancy+duration;

    if ((millis()-starttime) > sampletime_ms)//if the sampel time == 30s
    {
        ratio = lowpulseoccupancy/(sampletime_ms*10.0);  // Integer percentage 0=>100
        concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62; // using spec sheet curve
        Serial.print(lowpulseoccupancy);
        Serial.print(",");
        Serial.print(ratio);
        Serial.print(",");
        Serial.println(concentration);
        lowpulseoccupancy = 0;
        starttime = millis();
    }
}

void  setup () 
{ 
    pins_init (); 
} 
void  pins_init () 
{ for ( uint8_t  i  =  0 ; i  <  20 ; i  ++ ) 
    { 
        Serial.print(reading);
    Serial.print(" - ");
    Serial.println(percent);
    } 
}

void setup(){
     myBarometer.init();
}
void loop()
{
    temperature = myBarometer.bmp085GetTemperature(myBarometer.bmp085ReadUT()); //Get the temperature, bmp085ReadUT MUST be called first
    pressure = myBarometer.bmp085GetPressure(myBarometer.bmp085ReadUP());//Get the temperature
    altitude = myBarometer.calcAltitude(pressure); //Uncompensated calculation - in Meters
    atm = pressure / 101325;

    Serial.print("Temperature: ");
    Serial.print(temperature, 2); //display 2 decimal places
    Serial.println("deg C");

    Serial.print("Pressure: ");
    Serial.print(pressure, 0); //whole number only.
    Serial.println(" Pa");

    Serial.print("Ralated Atmosphere: ");
    Serial.println(atm, 4); //display 4 decimal places

    Serial.print("Altitude: ");
    Serial.print(altitude, 2); //display 2 decimal places
    Serial.println(" m");

    Serial.println();

    delay(1000); //wait a second and get values again.
}

void setup()
{   
    gas.begin(0x04);//the default I2C address of the slave is 0x04
    gas.powerOn();

    Serial.println(gas.getVersion());
}

void loop()
{
    float c;

    c = gas.measure_NH3();
    Serial.print("The concentration of NH3 is ");
    if(c>=0) Serial.print(c);
    else Serial.print("invalid");
    Serial.println(" ppm");

    c = gas.measure_CO();
    Serial.print("The concentration of CO is ");
    if(c>=0) Serial.print(c);
    else Serial.print("invalid");
    Serial.println(" ppm");

    c = gas.measure_NO2();
    Serial.print("The concentration of NO2 is ");
    if(c>=0) Serial.print(c);
    else Serial.print("invalid");
    Serial.println(" ppm");

    c = gas.measure_C3H8();
    Serial.print("The concentration of C3H8 is ");
    if(c>=0) Serial.print(c);
    else Serial.print("invalid");
    Serial.println(" ppm");

    c = gas.measure_C4H10();
    Serial.print("The concentration of C4H10 is ");
    if(c>=0) Serial.print(c);
    else Serial.print("invalid");
    Serial.println(" ppm");

    c = gas.measure_CH4();
    Serial.print("The concentration of CH4 is ");
    if(c>=0) Serial.print(c);
    else Serial.print("invalid");
    Serial.println(" ppm");

    c = gas.measure_H2();
    Serial.print("The concentration of H2 is ");
    if(c>=0) Serial.print(c);
    else Serial.print("invalid");
    Serial.println(" ppm");

    c = gas.measure_C2H5OH();
    Serial.print("The concentration of C2H5OH is ");
    if(c>=0) Serial.print(c);
    else Serial.print("invalid");
    Serial.println(" ppm");

    delay(1000);
}

void loop()
{
    int sensorValue;
    long  sum=0;
    for(int i=0;i<1024;i++)// accumulate readings for 1024 times
    {
        sensorValue=analogRead(A8);
        sum=sensorValue+sum;
        delay(2);
    }
    long meanVal = sum/1024;  // get mean value
    Serial.print("The current UV index is:");
    Serial.print((meanVal*1000/4.3-83)/21);// get a detailed calculating expression for UV index in schematic files.
    Serial.print("\n");
    delay(20);

}

void setup() {
 Serial.begin(9600);
 delay(150);
 TH02.begin();
 delay(100);
 Serial.println("TH02_dev is available.\n");    
 DBG_PRINTLN(F("Starting"));
 helium.begin(HELIUM_BAUD_RATE);
 helium_connect(&helium);
 channel_create(&channel, CHANNEL_NAME);
 Wire.begin();
 airqualitysensor.init(14);
}
void loop() {

   int airquality = airqualitysensor.slope();
   //Sound Pollution
   long sound = 0;
   for(int i=0; i<32; i++)
   {
       sound += analogRead(A9);
   }
   float temper = TH02.ReadTemperature(); 
   float humidity = TH02.ReadHumidity();
   String dataString = "air=" + String(airquality) + "&noise=" + String(sound) + "&temperature=" + String(temper) + "&humidity=" + String(humidity);
   char data[dataString.length()];
   dataString.toCharArray(data, dataString.length());
   channel_send(&channel, CHANNEL_NAME, data, strlen(data));
   Serial.println(data);
   setDisplayToOriginalState();
   SeeedGrayOled.clearDisplay();     
   SeeedGrayOled.setNormalDisplay(); 
   SeeedGrayOled.setVerticalMode();  
   SeeedGrayOled.setTextXY(0,0);           
   if (airquality==0)
     SeeedGrayOled.putString("ATENTION: High pollution!!!!");
   else if (airquality==1)
     SeeedGrayOled.putString(" ATENTION: High pollution");
   else if (airquality==2)
     SeeedGrayOled.putString("Low pollution!");
   else if (airquality==3)
     SeeedGrayOled.putString("Fresh Air");
   SeeedGrayOled.setTextXY(2,0);
   String temperaturestring = String(temper) + " C";
   char tempbuffer[temperaturestring.length()];
   temperaturestring.toCharArray(tempbuffer, temperaturestring.length());
   SeeedGrayOled.putString(tempbuffer);
   SeeedGrayOled.setTextXY(3,0);
   String humidstring = "Humid: " + String(humidity);
   char humidbuffer[temperaturestring.length()];
   humidstring.toCharArray(humidbuffer, humidstring.length());
   SeeedGrayOled.putString(humidbuffer);
   SeeedGrayOled.setTextXY(5,0);
   if(sound > 5000)
   {
     SeeedGrayOled.putString("LOUD");
   }
   else if(sound < 4000)
   {
     SeeedGrayOled.putString("QUIET");
   }
   else
   {
     SeeedGrayOled.putString("NORMAL");
   }
   delay(60000);
}
ISR(TIMER1_OVF_vect)
{
 if(airqualitysensor.counter==61)//set 2 seconds as a detected duty
 {
     airqualitysensor.last_vol=airqualitysensor.first_vol;
     airqualitysensor.first_vol=analogRead(A6);
     airqualitysensor.counter=0;
     airqualitysensor.timer_index=1;
     PORTB=PORTB^0x20;
 }
 else
 {
   airqualitysensor.counter++;
 }
}

Custom parts and enclosures

BASIC DESIGN OF ENERGY GENERATION SYSTEM CONTAINER BOX
access_control_system_idea_HLkQD4PwaF.dwg

Schematics

CONNECTION FIRST TESTS OF TEMPERATURE AND LIGHT SENSORS
BECAUSE FRITZING DOES NOT MEET ALL SENSORS IT IS A PHYSICAL MODEL
Captura 5 proyecto smart farms 19gtehppgt
SENSORS CONECTION
BECAUSE FRITZING DOES NOT MEET ALL SENSORS IT IS A PHYSICAL MODEL
37231533 1950057925038666 2632370693915803648 n zav3vuqjme
CONECTION SIGNAL RX TX HELIUM
6 helium xbee serial pins mqmelhe9r8
Before knowing a bit more about Helium and Google Cloud IoT, in this way we took the data
Barometer sensor tdsedqyvwh

Comments

Similar projects you might like

Underwater Monitoring and Sampling Robot

Project in progress by Gabriel Alejandro Giraldo Santiago

  • 1,757 views
  • 0 comments
  • 9 respects

Smart Plant IoT

Project tutorial by Shin Ae Hong and Peter Ma

  • 8,097 views
  • 3 comments
  • 30 respects

Arduino Controlled Smart Hydroponic Modular System

Project in progress by Luis Antonio Martin Nuez

  • 9,102 views
  • 2 comments
  • 61 respects

Smart Parking System

Project in progress by Md. Khairul Alam

  • 43,047 views
  • 32 comments
  • 104 respects

Octopod: Smart IoT Home/Industry Automation Project

Project tutorial by Saksham Bhutani

  • 7,019 views
  • 8 comments
  • 30 respects

Smart Garbage Monitoring System Using Arduino 101

Project tutorial by Technovation

  • 21,393 views
  • 7 comments
  • 32 respects
Add projectSign up / Login