Last active
November 29, 2016 08:18
-
-
Save Tiriree/88ae508b9e6dada20b5383cd7e2485ef to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
////// | |
// Code based on Sparkfun SFE_BMP180 library example | |
// Testing stretch prototype sensor | |
////// | |
/* SFE_BMP180 library example sketch | |
https://www.sparkfun.com/products/11824 | |
Hardware connections: | |
- (GND) to GND | |
+ (VDD) to 3.3V | |
(WARNING: do not connect + to 5V or the sensor will be damaged!) | |
You will also need to connect the I2C pins (SCL and SDA) to your | |
Arduino. The pins are different on different Arduinos: | |
Any Arduino pins labeled: SDA SCL | |
Uno, Redboard, Pro: A4 A5 | |
Mega2560, Due: 20 21 | |
Leonardo: 2 3 | |
V10 Mike Grusin, SparkFun Electronics 10/24/2013 | |
V1.1.2 Updates for Arduino 1.6.4 5/2015 | |
*/ | |
#include <SFE_BMP180.h> | |
#include <Wire.h> | |
// You will need to create an SFE_BMP180 object, here called "pressure": | |
SFE_BMP180 pressure; | |
int delayTime=100; | |
#define ALTITUDE 1655.0 // Altitude of SparkFun's HQ in Boulder, CO. in meters | |
void setup() | |
{ | |
Serial.begin(9600); | |
Serial.println("REBOOT"); | |
// Initialize the sensor (it is important to get calibration values stored on the device). | |
if (pressure.begin()) | |
Serial.println("BMP180 init success"); | |
else | |
{ | |
// Oops, something went wrong, this is usually a connection problem, | |
// see the comments at the top of this sketch for the proper connections. | |
Serial.println("BMP180 init fail\n\n"); | |
while(1); // Pause forever. | |
} | |
} | |
void loop() | |
{ | |
char status; | |
double T,P,p0,a; | |
status = pressure.startTemperature(); | |
if (status != 0) | |
{ | |
delay(status); | |
status = pressure.getTemperature(T); | |
if (status != 0) | |
{ | |
status = pressure.startPressure(3); | |
if (status != 0) | |
{ | |
// Wait for the measurement to complete: | |
delay(status); | |
status = pressure.getPressure(P,T); | |
if (status != 0) | |
{ | |
Serial.println(P,3); | |
} | |
else Serial.println("error retrieving pressure measurement\n"); | |
} | |
else Serial.println("error starting pressure measurement\n"); | |
} | |
else Serial.println("error retrieving temperature measurement\n"); | |
} | |
else Serial.println("error starting temperature measurement\n"); | |
delay(delayTime); // Pause for 5 seconds. | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment