Introduction: PT Temperatura Y Milibares , Lcd and BMP180
Hola este DIY te va a enseñar como usar un Arduino Uno, BMP180 y un display LCD para poder calcular la temperatura y la presión del area en el que estas.
Primero lo que tienes que hacer es soldar el BMP180 a 4 cables y el LCD
Después de que hagas esto ya estas listo para armar tu montage
Step 1: Materiales
Los materiales necesitados para realizar este montaje son:
- 20 Cables
- Display lcd
- Arduino Uno
- Protoboard (Grande)
- Resistencia de 220
- Potencio-metro de 10k
-Cuando haz verificado de que tienes estos materiales puedes empezar a armar el montaje
Step 2: Montage
Realizar el montaje que esta arriba, pero al conectar el bmp180 conectado con estos instrucciones
VIN --- 3.3 v
GND --- GND
SCL --- A5
SDA --- A4
Step 3: Descargar Arduino Y El Codigo
Antes de copiar y pegar este codigo en Arduino es MANDATORIO que descarges esta libreria. Abajo encontrara el link de la página, solo tiene que descargarlo e instalarlo en Arduino.
https://learn.sparkfun.com/tutorials/bmp180-barome...
Después de que descargues la librería copiar este código y pegarlo en arduino
// include the library
code:
#include
#include
#include
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
SFE_BMP180 pressure;
double PresionBase;
double Presion = 0;
double Altura = 0;
double Temperatura = 0;
char status;
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
Serial.begin(9600);
SensorStart();
}
void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
ReadSensor();
//Se imprimen las variables
lcd.print("Temperatura: ");
lcd.print(Temperatura);
lcd.println(" grados C");
lcd.print("Presion: ");
lcd.print(Presion);
lcd.println(" milibares");
delay(1000);
}
void SensorStart() {
//Secuencia de inicio del sensor
if (pressure.begin())
Serial.println("BMP180 init success");
else
{
Serial.println("BMP180 init fail (disconnected?)\n\n");
while (1);
}
//Se inicia la lectura de temperatura
status = pressure.startTemperature();
if (status != 0) {
delay(status);
//Se lee una temperatura inicial
status = pressure.getTemperature(Temperatura);
if (status != 0) {
//Se inicia la lectura de presiones
status = pressure.startPressure(3);
if (status != 0) {
delay(status);
//Se lee la presión inicial incidente sobre el sensor en la primera ejecución
status = pressure.getPressure(PresionBase, Temperatura);
}
}
}
}
void ReadSensor() {
//En este método se hacen las lecturas de presión y temperatura y se calcula la altura
//Se inicia la lectura de temperatura
status = pressure.startTemperature();
if (status != 0)
{
delay(status);
//Se realiza la lectura de temperatura
status = pressure.getTemperature(Temperatura);
if (status != 0)
{
//Se inicia la lectura de presión
status = pressure.startPressure(3);
if (status != 0)
{
delay(status);
//Se lleva a cabo la lectura de presión,
//considerando la temperatura que afecta el desempeño del sensor
status = pressure.getPressure(Presion, Temperatura);
if (status != 0)
{
//Se hace el cálculo de la altura en base a la presión leída en el Setup
}
else Serial.println("error en la lectura de presion\n");
}
else Serial.println("error iniciando la lectura de presion\n");
}
else Serial.println("error en la lectura de temperatura\n");
}
else Serial.println("error iniciando la lectura de temperatura\n");
}
Step 4: Terminar
Sube el código a Arduino y te debe funcionar representando a la temperatura en C y la presión en milibares. Te debería enseñar algo como el imagen arriba.