Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Wire.h>
- #include <Adafruit_BMP085.h>
- Adafruit_BMP085 bmp;
- // VCC -> 3.3V
- // GND -> GND
- // SCL -> Analog 5
- // SDA -> Analog 4
- int pushButton = 8;
- int valve = 7;
- int pump = 6;
- double vacuum = 960.0; //at this pressure we got vacuum
- double safety = 20.0; //safety range for pressure
- void setup() {
- pinMode(pushButton, INPUT);
- pinMode(valve, OUTPUT);
- pinMode(pump, OUTPUT);
- 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");
- double pressure = (bmp.readPressure()/100); //hPa
- Serial.print("Pressure = ");
- Serial.print(pressure);
- Serial.println(" Pa");
- if (digitalRead(pushButton) == HIGH) {
- digitalWrite(valve, HIGH);
- digitalWrite(pump, HIGH);
- while (pressure > vacuum && digitalRead(pushButton) == HIGH) {
- pressure = (bmp.readPressure()/100)+safety; //we will actually get to (960-20)=940 hPa before stopping
- Serial.print("Pressure = ");
- Serial.print(pressure);
- Serial.println(" Pa");
- delay(1000);
- }
- Serial.println("Stop");
- digitalWrite(valve, LOW);
- digitalWrite(pump, LOW);
- } else {
- digitalWrite(pump, LOW);
- digitalWrite(valve, HIGH);
- }
- delay(5000);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement