Agriculture Water – Ali Rostam and Suleyman Akbulut

Over watering of agricultural fields is a problem that is happening all around the world. Globally agriculture usage of water takes up around 70 % of the worlds accessible fresh water. And with this countries are starting to reach there renewable water resource limits. This mainly comes down to poor watering systems and wrong methods of watering. A lot of it is as well as crops are being over watered. This is just not a waste of water it can also cause damage to plants. If watered too much plants can drown or salt crystals can form on the surface of the soil which can cause harm to the plants and makes it hard for the ground to be fertile.

Image result for over watering of agriculture fields

The aim of our project is to prevent the over watering of the large agricultural fields. We wanted to design a product that could control how much water the plants get and that they only get the amount they need. No more no less! To achieve this we developed an arduino system with a soil moisture sensor and a solenoid valve which are connected to each other. The filed will have sensors at regular intervals through out the field, which will send the readings of the moisture in the soil to the arduino micro controller. Through the micro controller solenoid valve receives the soil moisture readings. If there is not enough moisture in the soil then the solenoid will release water until the moisture sensor reads that the plant has enough water. The solenoid will release the water for set times until there is enough moisture in the soil for the plant.

 

Step 1 Moisture Sensor

Crop

The first thing we did was set up the moisture sensor and to test. We tested the sensor so we could make sure we were getting the correct readings of the soil and that we knew what values the soil would be for which state it was in. The way we tested the Moisture sensor was by setting up in different soils which all had different moister levels in it. After we had the results we would then use them in the code.

Step 2 Solenoid valve

SparkFun Hardware Solenoid Valve 12V  - 3/4"

The next thing was setting up the solenoid valve to work when the moister sensor read that the soil needs more water. So from the results we got from the moisture sensor we set up the code on the arduino to have thresh holds that would make the solenoid valve turn on when there is not enough water in the soil.

Step 3 Setting up the LED’s

Moisture Level Measurement

 

After we got the moister sensor and the solenoid working we looked into ways of showing the moisture from the circuit. So we set up a LED bar graph that indicates how much moisture the soil has. There are 5 LED’s one if all five are on then the plant has the perfect amount of water. If none are on then the moister level is too low and the solenoid will turn on to allow water to flow to the crops.

After this we then set up the code. We took the values we got from the moister sensor and implemented them into the code. We had to set up the code that the moisture senor would control when the solenoid valve would turn on and turn off. And for the LED’s to show what the moister levels are.

 

int rainPin = A0;
int solenoid = 7;
int sensorValue;
// you can adjust the threshold value
int thresholdValue = 1050;
int thresholdValue1 = 1000;
int thresholdValue2 = 850;
int thresholdValue3 = 700;
int thresholdValue4 = 550;
int thresholdValue5 = 400;

void setup() {
for(int i=2; i<=6; i++){ // sets up LEDs from pin 2 to pin 6
pinMode(i,OUTPUT);
}
pinMode(rainPin, INPUT);

pinMode(7, OUTPUT);// connected to S terminal of Relay;
Serial.begin(9600);
}

void loop() {
// read the input on analog pin 0:
sensorValue = analogRead(rainPin);
Serial.println(sensorValue);
checkMoisture(thresholdValue, LOW, 2, 6);
checkMoisture(thresholdValue1, HIGH, 2, 2); //checks moisture(your threshold value, LED HIGH or LOW, starting LED pin, ending LED pin)
checkMoisture(thresholdValue1, LOW, 3, 6);
checkMoisture(thresholdValue2, HIGH, 2, 3);
checkMoisture(thresholdValue2, LOW , 4, 6);
checkMoisture(thresholdValue3, HIGH, 2, 4);
checkMoisture(thresholdValue3, LOW, 5, 6);
checkMoisture(thresholdValue4, HIGH, 2, 5);
checkMoisture(thresholdValue4, LOW, 6, 6);
checkMoisture(thresholdValue5, HIGH, 2, 6);

if(sensorValue < thresholdValue){
digitalWrite(7,HIGH);// turn relay ON;
}
else {
digitalWrite(7, LOW);// turn relay OFF;
}
delay(2000);
}

void checkMoisture(int threshold, bool ledLevel, int startingPin, int endingPin) { //checks moisture(your threshold value, LED HIGH or LOW, starting LED pin, ending LED pin)
if(sensorValue < threshold) {
for (startingPin; startingPin<=endingPin; startingPin++){
digitalWrite(startingPin,ledLevel);
}
}

}

 

We set up the curcuit of the board to the correct way. fritzing chart-APRIL 19

Because we needed a 12v power supply for the solenoid valve but we wanted to control it with the arduino which only runs at 5v we had to use a relay. The relay allows the switch between the power supplies with out over loading the board.

Flow Chart Capture A18

We set up the circuit and and code and tested to see if the model would work.

Are aim for this project was to lower the amount of water wasted in agricultural fields and try and make them as sustainable as possible. We have tried to do this by monitoring how much water is in the soil and when it needs to be watered and when it does not. We have done this by using a moisture sensor to read the moisture in the soil and a solenoid valve to control when to release the water to the plants.

With the model we made there was a couple of restrictions. the solenoid valve we used needs a mains water supply or a water supply with pressure behind it to push the water through. And because for are mini model we used a water bottle that the  pressure was gravity fed, there was not enough pressure to push a lot of water through at once and it only dribbled out slowly. This model is designed for a large scale design. So we designed it that it would be used with a mains water supply behind it to give more pressure.

By having this product it would help with the over watering problem as it would only water the plants when they need to be watered and not until then. There would be no over watering and would save a lot of time, money and water that is getting more and more reserved.

Advertisements

Week 9 Sustainable Design Project

After setting up the circuit and testing we noticed that the values we set for the moister sensors were wrong and had to change this in the code to the correct values.

Moisture Level Measurement

We had changed the values on the code to correct them so that the LED’s would light up at the right moister levels. We did test on the soils to find the correct values.

When looking at the code we had we needed to clean it and make it more presentable.

int rainPin = A0;
int solenoid = 7;
int sensorValue;
// you can adjust the threshold value
int thresholdValue = 1050;
int thresholdValue1 = 1000;
int thresholdValue2 = 850;
int thresholdValue3 = 700;
int thresholdValue4 = 550;
int thresholdValue5 = 400;

void setup() {
for(int i=2; i<=6; i++){ // sets up LEDs from pin 2 to pin 6
pinMode(i,OUTPUT);
}
pinMode(rainPin, INPUT);

pinMode(7, OUTPUT);// connected to S terminal of Relay;
Serial.begin(9600);
}

void loop() {
// read the input on analog pin 0:
sensorValue = analogRead(rainPin);
Serial.println(sensorValue);
checkMoisture(thresholdValue, LOW, 2, 6);
checkMoisture(thresholdValue1, HIGH, 2, 2); //checks moisture(your threshold value, LED HIGH or LOW, starting LED pin, ending LED pin)
checkMoisture(thresholdValue1, LOW, 3, 6);
checkMoisture(thresholdValue2, HIGH, 2, 3);
checkMoisture(thresholdValue2, LOW , 4, 6);
checkMoisture(thresholdValue3, HIGH, 2, 4);
checkMoisture(thresholdValue3, LOW, 5, 6);
checkMoisture(thresholdValue4, HIGH, 2, 5);
checkMoisture(thresholdValue4, LOW, 6, 6);
checkMoisture(thresholdValue5, HIGH, 2, 6);

if(sensorValue < thresholdValue){
digitalWrite(7,HIGH);// turn relay ON;
}
else {
digitalWrite(7, LOW);// turn relay OFF;
}
delay(1000);
}

void checkMoisture(int threshold, bool ledLevel, int startingPin, int endingPin) { //checks moisture(your threshold value, LED HIGH or LOW, starting LED pin, ending LED pin)
if(sensorValue < threshold) {
for (startingPin; startingPin<=endingPin; startingPin++){
digitalWrite(startingPin,ledLevel);
}
}

}

 

Week 8 Sustainable Design Project

We decide to start setting up the solenoid valve and moister sensor together. When talking more about the project me and sully decided to use a LED bar graph instead of just two LED’s that say it has water or not. Instead we now have it set up with 5 LED’s that give you and indication on how much water the crop has.

Crop field plan for watering

The 5 LED’s give an indication on how much water the plant has. 5 being the most it should have. 4 being at it still has a lot of water, 3 being that it is at it medium range, 2 its now starting to get low on water and will need to be watered soon and 1 meaning that there is not enough water in the soil and that it needs more.

We came up with a code to accommodate this to have the solenoid valve open when at 1 LED.

The code we used:

int LED1 = 2;
int LED2 = 3;
int LED3 = 4;
int LED4 = 5;
int LED5 = 6;
int rainPin = A0;
int solenoid = 7;
// you can adjust the threshold value
int thresholdValue = 500;
int thresholdValue1 = 500;
int thresholdValue2 = 600;
int thresholdValue3 = 700;
int thresholdValue4 = 800;
int thresholdValue5 = 900;

void setup() {
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(LED5, OUTPUT);
pinMode(rainPin, INPUT);
pinMode(solenoid, OUTPUT);
}

void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(rainPin);
if(sensorValue < thresholdValue1) {
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
if(sensorValue < thresholdValue2){
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);

if(sensorValue < thresholdValue3) {
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);

if(sensorValue < thresholdValue4) {
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
digitalWrite(LED4, HIGH);
digitalWrite(LED5, LOW);
if(sensorValue < thresholdValue5) {
digitalWrite(LED5, HIGH);
}
}
}
}
}
if(sensorValue < thresholdValue){
digitalWrite(solenoid, HIGH);
}
else {
digitalWrite(solenoid, LOW);
}
delay(500);
}

This code has set measures on it so when the moister sensor reads one of these it will show that many LED’s. We set it that once there is only one LED on then the solenoid would allow water to flow to water the plant at 05 second intervals. once back at 5 LED’s then the solenoid would turn back off.

Week 7 Sustainable design project

So we decide to start looking into ways of watering the plant with sensors. We looked into ways of allowing the moister sensor to control the when to deliver water to the plants.

the first thing we looked into getting was a water pump.1150 - Accessory Type:Pump

we could write a code that would pump water to the plant when the moister sensor. The water pump would be set up that when the green LED is on the moister sensor is reading that the plant has enough water. If the red LED is on that means that the moister sensor is reading that there is not enough water and that the plant needs more. So we can set it up that when the LED is red then the water pump turns on and waters the plant until the green  LED comes on.

But after talking to Drew he said to us that what we needed was something to let water through as most farms water their crops through water taps. So we looked into solenoid valves.

A solenoid valve is a electrically controlled valve. It works by a metal coil inside it and once this coil is electrically charged it makes a magnetic field. The magnetic filed pulls up the plunger inside the valve which allows the water to flow through. This is a good way of controlling the water to plants if you have a water mains to use.

This would be controlled the same way as the water pump. when the green LED is on there is no water flow. When the red LED is on then the water would run to the plants.

We also started to look at ways we could get are idea across with prototype.Crop

Three different soil pots to show three different stages of water moister in the crops.

 

Week 6 Product concept

We decide for our project we would use a moister sensor to measure that amount of water that is in the soil to tell whether the crops would need to be watered. So the first thing we did was make a circuit to test the moister sensor and see if it would work.

we set up this code light up green if the plant had enough water and red when it needed watering.

moisture-sensor-fritzing

int rainPin = A0;
int greenLED = 6;
int redLED = 7;
// you can adjust the threshold value
int thresholdValue = 800;

void setup(){
pinMode(rainPin, INPUT);
pinMode(greenLED, OUTPUT);
pinMode(redLED, OUTPUT);
digitalWrite(greenLED, LOW);
digitalWrite(redLED, LOW);
Serial.begin(9600);
}

void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(rainPin);
Serial.print(sensorValue);
if(sensorValue < thresholdValue){
Serial.println(” – Doesn’t need watering”);
digitalWrite(redLED, LOW);
digitalWrite(greenLED, HIGH);
}
else {
Serial.println(” – Time to water your plant”);
digitalWrite(redLED, HIGH);
digitalWrite(greenLED, LOW);
}
delay(500);
}

By using this coding we had the basic code to tell if the plant had water and to give out  indications whether it did have water or needed more. This sensor is important because it allows us to measure the soil moister and determine whether or not the plant needs water or not.

The next satge is to start looking at ways to water the plants the correct amount of water they need.

2018 Project 2 Sustainability Brief

Related image

For project 2 we have decided to work on the sustainability of agricultural watering. A lot of farms around the world have been accused of over watering there plants. this is not just a waste of water but it can also drown the plants and make it hard for future crops to grow there as the over watering can  make salt crystals in the soil.

Many big food producing companies like USA, China etc are close to reaching their renewable water resource limits. the main reasoning for this is because poor watering systems, wasteful field application methods and cultivation of thirsty crops not suited to the environment. Main point we will be trying to tackle is waste of water.

Too much water is being wasted because of poor methods. Farmers are watering there crops too much which waste the water which can lead to future droughts for the area when there is a limited amount of water and can damage the crops it self. Our aims is to help cut down the amount of water wastage and make it as efficient as possible.

The aim of our project is to prevent the over watering of the large agricultural fields. We wanted to design a product that could control how much water the plants get and that they only get the amount they need. No more no less!

Me and Sullyman Akbulut are in a group togther.

Week 4

From the webiste the uni brought the componets they had tutuarials on how to link the BMP180 to a online server called Cayenne. this allows us to see the results on the internet from any were so you dont need to set up the srduino to the computurer to get the results.

To do this you need 3 components the ardiuno board, the arduino ethernet shield and the BMP180 sensor.
ethernet-and-bmp180_bb

Once it has been set up the next thing to do is use a code that runs the bmp180 and also sends the information to the website.

The code i have got is from the website I am sending the information to but changed it slightly.

#define CAYENNE_PRINT Serial // Comment this out to disable prints and save space
#include
#include
#include
#include

// Cayenne authentication info. This should be obtained from the Cayenne Dashboard.
char username[] = “alirostam”;
char password[] = “Rostam101”;
char clientID[] = “rostam101@hotmail.co.uk”;

#define TEMPERATURE_VIRTUAL_CHANNEL 1
#define BAROMETER_VIRTUAL_CHANNEL 2

Adafruit_BMP085_Unified bmp = Adafruit_BMP085_Unified(10180);
bool bmpSensorDetected = true;

void setup()
{
Serial.begin(9600);
Cayenne.begin(username, password, clientID);
if (!bmp.begin())
{
CAYENNE_LOG(“No BMP sensor detected”);
bmpSensorDetected = false;
}
}

void loop()
{
Cayenne.loop();
}

// This function is called at intervals to send temperature sensor data to Cayenne.
CAYENNE_OUT(TEMPERATURE_VIRTUAL_CHANNEL)
{
if (bmpSensorDetected)
{
float temperature;
bmp.getTemperature(&temperature);
// Send the value to Cayenne in Celsius.
Cayenne.celsiusWrite(TEMPERATURE_VIRTUAL_CHANNEL, temperature);
}
else
{
CAYENNE_LOG(“No BMP sensor detected”);
}
}

// This function is called at intervals to send barometer sensor data to Cayenne.
CAYENNE_OUT(BAROMETER_VIRTUAL_CHANNEL)
{
if (bmpSensorDetected)
{
// Send the command to get data.
sensors_event_t event;
bmp.getEvent(&event);

if (event.pressure)
{
// Send the value to Cayenne in hectopascals.
Cayenne.hectoPascalWrite(BAROMETER_VIRTUAL_CHANNEL, event.pressure);
}
}
else
{
CAYENNE_LOG(“No BMP sensor detected”);
}
}

This code should send the information directly to the cayenne website and i can obtain my results from there.

My parts have not arrived in time to check to see if this would work in time for the presentation. But by watching the step by step tutorial on there website Im pretty sure that it is going to work correctly.

After I have done the test on these parts and i am confident that it is going to work correctly I will go to the next step of my project and start by designing the product i am going to get to react to the readings of the BMP180 sensor.

code2flow_a3cec

 

Week 3 Testing

After looking more into my component from last time I realised some of the libraries that I downloaded for the coeds last time have test on them to check if the board is working correctly.

The first test was the BMP085 TEST. It gave me a sketch to run on my board to check to see if it was functioning correctly.

Adafruit_BMP085 bmp;

void setup() {
Serial.begin(9600);
if (!bmp.begin()) {
Serial.println(“Could not find a valid BMP085 sensor, check wiring!”);
while (1) {}
}
}

void loop() {
Serial.print(“Temperature = “);
Serial.print(bmp.readTemperature());
Serial.println(” *C”);

Serial.print(“Pressure = “);
Serial.print(bmp.readPressure());
Serial.println(” Pa”);

// Calculate altitude assuming ‘standard’ barometric
// pressure of 1013.25 millibar = 101325 Pascal
Serial.print(“Altitude = “);
Serial.print(bmp.readAltitude());
Serial.println(” meters”);

Serial.print(“Pressure at sealevel (calculated) = “);
Serial.print(bmp.readSealevelPressure());
Serial.println(” Pa”);

// you can get a more precise measurement of altitude
// if you know the current sea level pressure which will
// vary with weather and such. If it is 1015 millibars
// that is equal to 101500 Pascals.
Serial.print(“Real altitude = “);
Serial.print(bmp.readAltitude(101500));
Serial.println(” meters”);

Serial.println();
delay(500);

After i uploaded this sketch i checked the serial monitor and the message “could not find valid BMP085 senor” so just to make sure again it wasn’t me i checked the component with another test.

The second test I did was the sensorapi test.

#include
#include
#include

/* This driver uses the Adafruit unified sensor library (Adafruit_Sensor),
which provides a common ‘type’ for sensor data and some helper functions.

To use this driver you will also need to download the Adafruit_Sensor
library and include it in your libraries folder.

You should also assign a unique ID to this sensor for use with
the Adafruit Sensor API so that you can identify this particular
sensor in any data logs, etc. To assign a unique ID, simply
provide an appropriate value in the constructor below (12345
is used by default in this example).

Connections
===========
Connect SCL to analog 5
Connect SDA to analog 4
Connect VDD to 3.3V DC
Connect GROUND to common ground

History
=======
2013/JUN/17 – Updated altitude calculations (KTOWN)
2013/FEB/13 – First version (KTOWN)
*/

Adafruit_BMP085_Unified bmp = Adafruit_BMP085_Unified(10085);

/**************************************************************************/
/*
Displays some basic information on this sensor from the unified
sensor API sensor_t type (see Adafruit_Sensor for more information)
*/
/**************************************************************************/
void displaySensorDetails(void)
{
sensor_t sensor;
bmp.getSensor(&sensor);
Serial.println(“————————————“);
Serial.print (“Sensor: “); Serial.println(sensor.name);
Serial.print (“Driver Ver: “); Serial.println(sensor.version);
Serial.print (“Unique ID: “); Serial.println(sensor.sensor_id);
Serial.print (“Max Value: “); Serial.print(sensor.max_value); Serial.println(” hPa”);
Serial.print (“Min Value: “); Serial.print(sensor.min_value); Serial.println(” hPa”);
Serial.print (“Resolution: “); Serial.print(sensor.resolution); Serial.println(” hPa”);
Serial.println(“————————————“);
Serial.println(“”);
delay(500);
}

/**************************************************************************/
/*
Arduino setup function (automatically called at startup)
*/
/**************************************************************************/
void setup(void)
{
Serial.begin(9600);
Serial.println(“Pressure Sensor Test”); Serial.println(“”);

/* Initialise the sensor */
if(!bmp.begin())
{
/* There was a problem detecting the BMP085 … check your connections */
Serial.print(“Ooops, no BMP085 detected … Check your wiring or I2C ADDR!”);
while(1);
}

/* Display some basic information on this sensor */
displaySensorDetails();
}

/**************************************************************************/
/*
Arduino loop function, called once ‘setup’ is complete (your own code
should go here)
*/
/**************************************************************************/
void loop(void)
{
/* Get a new sensor event */
sensors_event_t event;
bmp.getEvent(&event);

/* Display the results (barometric pressure is measure in hPa) */
if (event.pressure)
{
/* Display atmospheric pressue in hPa */
Serial.print(“Pressure: “);
Serial.print(event.pressure);
Serial.println(” hPa”);

/* Calculating altitude with reasonable accuracy requires pressure *
* sea level pressure for your position at the moment the data is *
* converted, as well as the ambient temperature in degress *
* celcius. If you don’t have these values, a ‘generic’ value of *
* 1013.25 hPa can be used (defined as SENSORS_PRESSURE_SEALEVELHPA *
* in sensors.h), but this isn’t ideal and will give variable *
* results from one day to the next. *
* *
* You can usually find the current SLP value by looking at weather *
* websites or from environmental information centers near any major *
* airport. *
* *
* For example, for Paris, France you can check the current mean *
* pressure and sea level at: http://bit.ly/16Au8ol */

/* First we get the current temperature from the BMP085 */
float temperature;
bmp.getTemperature(&temperature);
Serial.print(“Temperature: “);
Serial.print(temperature);
Serial.println(” C”);

/* Then convert the atmospheric pressure, and SLP to altitude */
/* Update this next line with the current SLP for better results */
float seaLevelPressure = SENSORS_PRESSURE_SEALEVELHPA;
Serial.print(“Altitude: “);
Serial.print(bmp.pressureToAltitude(seaLevelPressure,
event.pressure));
Serial.println(” m”);
Serial.println(“”);
}
else
{
Serial.println(“Sensor error”);
}
delay(1000);
}

Again after uploading the sketch i checked the serial monitor. Ooops, no BMP085 detected. So Im pretty sure that my sensor is not functioning correctly and i have orderd an new one to come.

While I wait for a new component to come I started to think what I could do with this and I thought about a product that would react to the temperature and weather out side. So I was thinking of a stuffed animal that makes certain faces or movement depending on the weather. I also wanted to be able to check the results easily. And instead of me having to set it up every time on my laptop. So I found some tutorials online on how to connect the sensor to a Ethernet shield and get your results instantly streamed to a website that you can connect with your phone. So I have ordered a Ethernet shield to pair with my ardiuno board.

Week 2 Individual Research

Image result for bmp180 labeled

I decide to start and to assemble my part. the diagram above shows a four pin bmp180 sensor but mine has 5 pins. But I only need to set up four of them.

On BMP180  On Arduino Board
VCC 3V3
GND GND
SCL A5
SDA A4

After setting up the circuit I needed to find some example codes online:

The first code i found and tries was a code by Smart Microcontroller Channel

void setup() {
Serial.begin(9600);
bmp.begin();
}

void loop() {
Serial.print(“Temperature = “);
Serial.print(bmp.readTemperature());
Serial.println(” C”);

Serial.print(“Pressure = “);
Serial.print(bmp.readPressure());
Serial.println(” Pa”);

Serial.print(“Altitude = “);
Serial.print(bmp.readAltitude());
Serial.println(” meters”);

Serial.println();
delay(2000);

But using this code I found that I was getting false readings and that i would only be given the pressure and the altitude and not the temperature. and the readings it give me for the pressure and the altitude were wrong as well.

Temperature  0.0C 
Pressure  234 Pa 
Altitude  30367.0 Meters 

To check that it wasn’t the code that was wrong and not me or the BMP180 I tried a different code.

This code was by Paul McWhorter

#include “Wire.h” // imports the wire library for talking over I2C
#include “Adafruit_BMP085.h” // import the Pressure Sensor Library
Adafruit_BMP085 mySensor; // create sensor object called mySensor

float tempC; // Variable for holding temp in C
float tempF; // Variable for holding temp in F
float pressure; //Variable for holding pressure reading

void setup(){
Serial.begin(9600); //turn on serial monitor
mySensor.begin(); //initialize mySensor
}

void loop() {
tempC = mySensor.readTemperature(); // Read Temperature
tempF = tempC*1.8 + 32.; // Convert degrees C to F
pressure=mySensor.readPressure(); //Read Pressure

Serial.print(“The Temp is: “); //Print Your results
Serial.print(tempF);
Serial.println(” degrees F”);
Serial.print(“The Pressure is: “);
Serial.print(pressure);
Serial.println(” Pa.”);
Serial.println(“”);
delay(250); //Pause between readings.
}

 

I had to change this code slightly those as this guy has set it up to tell the temperature in Fahrenheit.

But again in this coding the results were coming out wrong. The pressure was again 234 Pa and there was no temperature.

Next thing i need to do is try and find some test i can do to see if my part is working correctly.

Week 1 Individual Research

The BMP180 Barometric sensor module can give accurate measurement of the temperature, pressure in the air and altitude. Barometric sensors can be used to work out the weather. As from the pressure from the air and the temperature we can work out weather. because the sensor can also work out the altitude it can also be used as a altimeter.

 

The BMP180 has a consists of a piezo-resistive sensor, an analog to digital converter and a control unit with EEPROM and a serial I2C interface. The BMP180 delivers the uncompensated value of pressure and temperature. The EEPROM has stored 176 bit of individual calibration data. This is used to compensate offset. Temperature dependence and other parameters of the sensor.