Projeto 48
Sensor de pressão
Projeto 48 - Sensor de pressão (BPM180)
Código (download)
/*
Projeto 48 - Sensor de pressão BMP180
Física na Lixa
https://fisicanalixa.blogspot.com/
https://sites.google.com/aelixa.pt/fisicaearduino
*/
#include <Wire.h>
#include <Adafruit_BMP085.h>
Adafruit_BMP085 bmp;
float temperatura;
long pressao; //Pressão absoluta
float altitude;
void setup()
{
Serial.begin(9600);
if (!bmp.begin())
{
Serial.println("Não foi possível encontrar um sensor BMP180 válido, verifique as ligações!");
while (1) {}
}
Serial.println();
}
void loop()
{
temperatura = bmp.readTemperature();
pressao = bmp.readPressure();
altitude = bmp.readAltitude();
Serial.print(temperatura, 1);
Serial.print(" \xC2\xB0"); //Código para o símbolo grau
Serial.print("C");
Serial.print("\t\t");
Serial.print(pressao);
Serial.print(" Pa");
Serial.print("\t");
Serial.print(altitude);
Serial.println(" m");
delay(2000);
}
Instalar a biblioteca
Projeto 48 - Sensor de pressão (BPM280)
Código (download)
/*
Projeto 48 - Sensor de pressão BMP280
Física na Lixa
https://fisicanalixa.blogspot.com/
https://sites.google.com/aelixa.pt/fisicaearduino
*/
#include <Wire.h>
#include <Adafruit_BMP280.h>
#define BMP280_ADDRESS 0x76 //Verificar se este endereço está correto
Adafruit_BMP280 bmp;
#define PNMar 1013.25 //Pressão ao nível do mar em hPa
float temperatura;
float pressao; //Pressão absoluta
float altitude;
void setup()
{
Serial.begin(9600);
while (!Serial)
{
delay(100);
}
Serial.println();
unsigned status;
status = bmp.begin(BMP280_ADDRESS);
if (!status)
{
Serial.println("Não foi encontrado um sensor BMP280 válido!...");
Serial.println("Verifique se as ligações estão corretas ou tente outro endereço.");
while (1)
{
delay(10);
}
}
//Definições predefinidas
bmp.setSampling(Adafruit_BMP280::MODE_NORMAL,
Adafruit_BMP280::SAMPLING_X2,
Adafruit_BMP280::SAMPLING_X16,
Adafruit_BMP280::FILTER_X16,
Adafruit_BMP280::STANDBY_MS_500);
}
void loop()
{
temperatura = bmp.readTemperature();
pressao = bmp.readPressure();
altitude = bmp.readAltitude(PNMar);
Serial.print(temperatura, 1);
Serial.print(" \xC2\xB0"); //Código para o símbolo grau
Serial.print("C");
Serial.print("\t\t");
Serial.print(pressao, 0);
Serial.print(" Pa");
Serial.print("\t");
Serial.print(altitude, 1);
Serial.println(" m");
delay(2000);
}