Tabla de contenido:

Tecnologia PT: 3 pasos
Tecnologia PT: 3 pasos

Video: Tecnologia PT: 3 pasos

Video: Tecnologia PT: 3 pasos
Video: PASOS ACTIVE DIRECTORY - PT3 2024, Mes de julio
Anonim
Tecnologia PT
Tecnologia PT

En este tutorial padres encontrar como hacer que la información dada por el sensor BMP180 se muestre en el LCD, fusionando los montajes y los códigos. Espero que les sea útil

Paso 1: Materiales

Para hacer un código y una conexión en el protoboard utilizando el LCD y el sensor BMP180 se necesitan los siguientes materiales:

1. Protoboard

2. Arduino Uno

3. LCD

4. Sensor BMP180

5. Cables (19)

6.potenciometro

7. Bibliotecas previamente instaladas (3 (LiquidCrystal, Wire, SFE_BMP180))

* La libreria de BMP180 puede ser descargada en sparkfun.com

Paso 2: Montaje

Montaje
Montaje

Recomendaciones: Conecte cada aparato por separado en orden (ej: primero LCD, luego BMP180 y por ultimo Potenciometro)

Paso 3: Codigo

Se utiliza el código BMP altitud example proporcionado en los ejemplos de la librería instalada (BMP180) en Arduino como el código base. Este código tiene que ser fusionado con el código LiquidCristal Helloworld, que también es un ejemplo de Arduino, para que en el display del LCD se muestren los datos que manda el sensor. El código es el siguiente:

V10 Mike Grusin, SparkFun Electronics 10/24 / 2013V1.1.2 Actualizaciones para Arduino 1.6.4 *

/ Debes incluir las librerias BMP180, Wire y LiquidCrystal en este proyecto

// (Wire y LiquidCrystal son librerias standard de Arduino)

#incluir

#include #incluya

// Inicializa la libreria con los pines de interface

LiquidCrystal lcd (12, 11, 5, 4, 3, 2);

// Necesitara crear un objet SFE_BM0180, aqui llamado "presión":

Presión SFE_BMP180;

línea de base doble;

configuración vacía ()

{Serial.begin (9600); lcd.println ("REINICIAR"); lcd. comienzo (16, 2); // Imprime un mensaje en la pantalla LCD. lcd.print ("");

// Inicializa el sensor (es importante tener los valores calibrados guardados en el dispositivo

si (presión.begin ())

Serial.println ("BMP180 init exitoso"); else {// si tiene problemas o errores en el codigo, consulte la parte de arriba del codigo.

lcd.println ("Error de inicio de BMP180 (¿desconectado?) n / n");

mientras (1); // Pausa infinita}

// Obtenga la presión de referencia:

línea de base = getPressure (); lcd.print ("presión de referencia:"); lcd.print (línea de base); lcd.println ("mb"); }

bucle vacío ()

{doble a, P; // Consigue nuevos valores de presion

P = getPressure ();

// Muestra la altitud relativa

a = presión.altitud (P, línea de base);

lcd.print ("altitud relativa:"); if (a> = 0.0) Serial.print (""); // agrega un espacio para números positivos lcd.print (a, 1); lcd.print ("metros"); if (a> = 0.0) Serial.print (""); // agrega un espacio para números positivos lcd.print (a * 3.28084, 0); lcd.println ("pies"); retraso (500); }

doble getPressure ()

{estado de carácter; doble T, P, p0, a;

// Primero debe obtener una medición de temperatura para realizar una lectura de presión. Debes tener una medida de temperatura antes de tener una lectura de presion

// Iniciar una medición de temperatura: Empieza una medicion de temperatura // Si no hay errores, el numero de ms para esperar se mostrara. // Si hay errores, se mostrara un 0

status = pressure.startTemperature ();

if (status! = 0) {// Espere a que se termine la medicion de la temperatura

retraso (estado);

// Recupera la medida de completa de temperatura

// Esta medida esta guardada en la variable T // Utiliza & T para dar la direccion de T a la funcion. // Si la función muestra 1 no hay errores, de lo contrario marcara 0

status = pressure.getTemperature (T);

if (status! = 0) {// Iniciar una medición de presión: Comienza la medicion de la presion // El parámetro es el ajuste de sobremuestreo, de 0 a 3 (resolución más alta, espera más larga). El parametro sobremuestra la configuracion, de 0 a 3 // Si no hay errores, el numero de ms para esperar se mostrara. // Si hay errores, se mostrara un 0

status = pressure.startPressure (3);

if (status! = 0) {// Espere a que termine la medicion de la presion delay (status);

// Recupere la medicion completa de la presion

// Notese que la medida esta almacenada en la variable P // Use '& P' para proporcionar la dirección de P. Use & P para dar la direccion de P // Notese tambien que la funcion requiere una medida previa de temperatura // (Si la temperatura es estable, puedes hacer una medicion de temperatura para las medidas de presion) // Si la ffuncion muestra 1 no hay errores, de lo contrario marcara 0

status = pressure.getPressure (P, T);

if (status! = 0) {return (P); } else Serial.println ("error al recuperar la medición de presión / n"); } else Serial.println ("error al iniciar la medición de presión / n"); } else Serial.println ("error al recuperar la medición de temperatura / n"); } else Serial.println ("error al iniciar la medición de temperatura / n"); }

Recomendado: