Съдържание:

Tecnologia PT: 3 стъпки
Tecnologia PT: 3 стъпки

Видео: Tecnologia PT: 3 стъпки

Видео: Tecnologia PT: 3 стъпки
Видео: Відкрийте для себе приховану технологію майстерної обробки дерева (частина 3) 2024, Юли
Anonim
Tecnologia PT
Tecnologia PT

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

Стъпка 1: Материали

За хакера и кодиго, както и за съвместно свързване и използване на прототипна платка, LCD и сензор BMP180 са необходими следните материали:

1. Protoboard

2. Arduino Uno

3. LCD

4. Сензор BMP180

5. Кабели (19)

6. Потенциометър

7. Предварително инсталирани библиотеки (3 (LiquidCrystal, Wire, SFE_BMP180))

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

Стъпка 2: Монтадже

Монтадже
Монтадже

Препоръки: Conecte cada aparato por separado en orden (ej: primero LCD, luego BMP180 y port ultimo Potenciometro)

Стъпка 3: Codigo

Използвайте 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, за que en el дисплей на LCD се виждат най -лошите файлове с que манда ел сензор. El código es el siguiente:

V10 Mike Grusin, SparkFun Electronics 2013-24-10 V1.1.2 Актуализации за Arduino 1.6.4 *

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

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

#включва

#включи #включи

// Inicializa la libreria con los pines de interface

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

// Necesitara crear un objet SFE_BM0180, aqui llamado "pressure":

SFE_BMP180 налягане;

двойна базова линия;

void setup ()

{Serial.begin (9600); lcd.println ("REBOOT"); lcd.begin (16, 2); // Отпечатайте съобщение на LCD дисплея. lcd.print ("");

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

ако (pressure.begin ())

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

lcd.println ("BMP180 init fail (изключен?) n / n");

докато (1); // Pausa infinita}

// Вземете базовото налягане:

baseline = getPressure (); lcd.print ("изходно налягане:"); lcd.print (базова линия); lcd.println ("mb"); }

void loop ()

{двойно a, P; // Consigue nuevos valores de presion

P = getPressure ();

// Muestra la altitud relativa

a = налягане. надморска височина (P, базова линия);

lcd.print ("относителна надморска височина:"); if (a> = 0.0) Serial.print (""); // добавяме интервал за положителни числа lcd.print (a, 1); lcd.print ("метри"); if (a> = 0.0) Serial.print (""); // добавяме интервал за положителни числа lcd.print (a*3.28084, 0); lcd.println ("крака"); забавяне (500); }

double getPressure ()

{char status; двойно T, P, p0, a;

// Първо трябва да получите измерване на температурата, за да извършите отчитане на налягането. Debes tener una medida de temperature antes de tener una lectura de presion

// Стартиране на измерване на температурата: Empieza una medicion de temperature // Si no sey 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 temperature

забавяне (състояние);

// Recupera la medida de completeta de temperature

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

status = pressure.getTemperature (T);

if (status! = 0) {// Започнете измерване на налягане: Comienza la medicion de la presion // Параметърът е настройката за свръхдискретизация, от 0 до 3 (най -висока резолюция, най -дълго чакане). 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 // Използвайте '& P', за да предоставите адреса на P. Utilice & P para dar la direccion de P // Notese tambien que la funcion requiere una medida previa de temperature // (Si la temperatura es estable, puedes hacer una medicion de temperature 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 ("грешка при извличане на измерване на налягане / n"); } else Serial.println ("грешка при стартиране на измерването на налягането / n"); } else Serial.println ("грешка при извличане на измерване на температурата / n"); } else Serial.println ("грешка при измерване на температурата при стартиране / n"); }

Препоръчано: