Cov txheej txheem:

Tecnologia PT: 3 Kauj Ruam
Tecnologia PT: 3 Kauj Ruam

Video: Tecnologia PT: 3 Kauj Ruam

Video: Tecnologia PT: 3 Kauj Ruam
Video: Peb Tug Ceg Kos pt2 with English Sub (Full Movie) 2024, Lub Xya hli ntuj
Anonim
Tecnologia PT UA
Tecnologia PT UA

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 hiav txwv útil

Kauj Ruam 1: Cov ntaub ntawv

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. Cov tsev qiv ntawv ua tiav kev teeb tsa (3 (LiquidCrystal, Hlau, SFE_BMP180))

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

Kauj ruam 2: Montaje

Montaje
Montaje

Cov neeg tau txais txiaj ntsig: Ua kom pom kev zoo ntawm cov khoom sib txawv (piv txwv: primero LCD, luego BMP180 y por ultimo Potenciometro)

Kauj ruam 3: Codigo

Se utiliza el código BMP altitud piv txwv proporcionado en los ejemplos de la librería instalada (BMP180) en Arduino como el código puag. 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 2013-24-10V1.1.2 Hloov tshiab rau Arduino 1.6.4 *

/ Debes suav nrog librerias BMP180, Hlau thiab LiquidCrystal en este proyecto

// (Hlau y LiquidCrystal tus tub librerias tus qauv de Arduino)

#suav nrog

#ncig #ncig

// Inicializa la libreria con los pines de interface

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

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

SFE_BMP180 siab;

ob chav pib;

void teeb tsa ()

{Serial.begin (9600); lcd.println ("rov pib dua"); lcd.begin (16, 2); // Luam tawm cov lus rau LCD. lcd.print ("");

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

yog (siab.begin ())

Serial.println ("BMP180 pib ua tiav"); lwm tus {// si tiene problemas o errores en el codigo, sab laj la parte de arriba del codigo.

lcd.println ("BMP180 init tsis ua tiav (txuas tsis tau?) n / n");

thaum (1); // Pausa infinita}

// Tau txais lub hauv paus siab:

lub hauv paus = getPressure (); lcd.print ("lub hauv paus siab:"); lcd.print (hauv paus); lcd.println ("mb"); }

void lub voj ()

{ob npaug, P; // Consigue nuevos valores de presion

P = tau siab ();

// Muestra la altitudinal relativa

a = pressure.altitude (P, lub hauv paus);

lcd.print ("txheeb ze qhov siab:"); yog (a> = 0.0) Serial.print (""); // ntxiv qhov chaw rau tus lej zoo lcd.print (a, 1); lcd.print ("ntsuas,"); yog (a> = 0.0) Serial.print (""); // ntxiv qhov chaw rau tus lej zoo lcd.print (a*3.28084, 0); lcd.println ("ko taw"); ncua (500); }

muab ob npaug nias ()

{char xwm txheej; ob npaug T, P, p0, a;

// Koj yuav tsum xub ntsuas qhov ntsuas kub kom ua qhov ntsuas siab. Debes tener una medida de temperatura antes de tener una lectura de presion

// Pib ntsuas kub: Empieza una medicion de temperatura // Si no hay errores, el numero de ms para esperar se mostrara. // Yog hais tias tsis yog, se feem ntau yog 0

xwm txheej = pressure.startTemperature ();

yog (xwm txheej! = 0) {// Espere a que se termine la medicion de la temperatura

ncua (xwm txheej);

// 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 ffuncion muestra 1 tsis muaj quav nyab, de lo contrario marcara 0

xwm txheej = pressure.getTemperature (T);

yog (xwm txheej! = 0) {// Pib ntsuas kev ntsuas siab: Comienza la medicion de la presion // Qhov ntsuas yog ntsuas qhov ntsuas, ntawm 0 txog 3 (siab tshaj plaws, tos ntev tshaj). El parametro sobremuestra la configuracion, de 0 a 3 // Si no tsis muaj quav nyab, el numero de ms para esperar se mostrara. // Yog hais tias tsis yog, se feem ntau yog 0

xwm txheej = pressure.startPressure (3);

yog (xwm txheej! = 0) {// Espere a que termine la medicion de la presion ncua (xwm txheej);

// Recupere la medicion ua tiav de la presion

// Notese que la medida esta almacenada en la variable P // Siv '& P' los muab chaw nyob ntawm P. Utilice & 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 tsis muaj quav nyab, de lo contrario marcara 0

xwm txheej = pressure.getpressure (P, T);

yog (xwm txheej! = 0) {rov qab (P); } lwm Serial.println ("yuam kev rov ntsuas qhov ntsuas / n"); } lwm Serial.println ("yuam kev pib ntsuas ntsuas / n"); } lwm Serial.println ("yuam kev rov ntsuas ntsuas kub / n"); } lwm Serial.println ("yuam kev pib ntsuas kub / n"); }

Pom zoo: