Programació d'automatismes i robots amb Arduino, Processing i Android
9.7 Baròmetre BMP180
1) Connecta el baròmetre de la forma següent:
2) Baixa la llibreria SFE_BMP180 de github i deixa-la descomprimida a la carpeta on Arduino té les llibreries. Sols ser /home/«usuari»/Arduino/libraries
3) Carrega el següent programa:
// Font1: https://www.luisllamas.es/medir-presion-del-aire-y-altitud-con-arduino-y-barometro-bmp180/
// Font2: https://www.sunfounder.com/learn/Sensor-Kit-v2-0-for-Arduino/lesson-7-barometer-sensor-kit-v2-0-for-arduino.html
// Llibreria: https://github.com/LowPowerLab/SFE_BMP180
#include <SFE_BMP180.h>
#include <Wire.h>
//Declarem el objecte "barometre" que rebrà les dades de SFE_BMP180
SFE_BMP180 barometre;
void setup()
{
Serial.begin(9600);
if (barometre.begin())
Serial.println("Baròmetre iniciat");
else
{
Serial.println("Error a l'iniciar el Baròmetre");
while(1); // bucle infinit
}
}
void loop()
{
char status;// Definim la variable "status" char
double T,P; // Definim T i P per rebre la Temperatura en ºC i la Pressió en mil·libars
status = barometre.startTemperature(); //Inici de lectura de temperatura
if (status != 0)
{
delay(status); //Pausa per tal que finalitze la lectura
status = barometre.getTemperature(T); //Obtenim la temperatura
if (status != 0)
{
status = barometre.startPressure(P); //Inicia lectura de pressió
if (status != 0)
{
delay(status); //Pausa per tal que finalitze la lectura
status = barometre.getPressure(P,T); //Obtenim la pressió
if (status != 0)
{
Serial.print("Temperatura: ");
Serial.print(T,3);// amb 3 decimals si no canvies el número
Serial.print(" ºC , ");
Serial.print(" "); //
Serial.print(" "); // Posem 3 espais en blanc per facilitar la lectura
Serial.print(" "); //
Serial.print("Pressió: ");
Serial.print(P,2); // amb dos decimals si no canvies el número
Serial.println(" mb");
}
}
}
}
delay(1000); // esperem un segon i torna a començar el bucle
}// final de void_loop
Llicenciat sota la Llicència Creative Commons Reconeixement NoComercial CompartirIgual 3.0