Talaan ng mga Nilalaman:

Tecnologia PT: 3 Mga Hakbang
Tecnologia PT: 3 Mga Hakbang

Video: Tecnologia PT: 3 Mga Hakbang

Video: Tecnologia PT: 3 Mga Hakbang
Video: Лекция JADAM Часть 3. ДВА секретных ключевых слова сельскохозяйственных технологий. 2024, Hulyo
Anonim
Tecnologia PT
Tecnologia PT

Ito ang 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

Hakbang 1: Mga Materyales

Para sa 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. Mga Cable (19)

6. Potenciometro

7. Mga previamente ng library sa pag-install (3 (LiquidCrystal, Wire, SFE_BMP180))

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

Hakbang 2: Montaje

Montaje
Montaje

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

Hakbang 3: Codigo

Se utiliza el código BMP altitud halimbawa proporcionado en los ejemplos de la librería installada (BMP180) at 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 sa iyong pagpapakita ng LCD sa iyong pinakamataas na datos que manda el sensor. El código es el siguiente:

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

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

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

# isama

# isama ang # isama

// 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":

Presyon ng SFE_BMP180;

dobleng baseline;

walang bisa ang pag-setup ()

{Serial.begin (9600); lcd.println ("REBOOT"); lcd.begin (16, 2); // I-print ang isang mensahe sa LCD. lcd.print ("");

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

kung (pressure.begin ())

Serial.println ("BMP180 init tagumpay"); iba pa {// si tiene problemas o errores en el codigo, kumunsulta sa bahagi ng arriba del codigo.

lcd.println ("BMP180 init fail (naka-disconnect?) n / n");

habang (1); // Pausa infinita}

// Kunin ang presyon ng baseline:

baseline = getPressure (); lcd.print ("presyon ng baseline:"); lcd.print (baseline); lcd.println ("mb"); }

walang bisa loop ()

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

P = getPressure ();

// Muestra la altitud relativa

a = pressure.altitude (P, baseline);

lcd.print ("kamag-anak altitude:"); kung (a> = 0.0) Serial.print (""); // magdagdag ng isang puwang para sa mga positibong numero lcd.print (a, 1); lcd.print ("metro,"); kung (a> = 0.0) Serial.print (""); // magdagdag ng isang puwang para sa mga positibong numero lcd.print (a * 3.28084, 0); lcd.println ("mga paa"); pagkaantala (500); }

double getPressure ()

{katayuan ng char; dobleng T, P, p0, a;

// Kailangan mo munang makakuha ng isang pagsukat ng temperatura upang maisagawa ang pagbabasa ng presyon. Debes tener una medida de temperatura antes de tener una lectura de presion

// Magsimula ng pagsukat ng 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

katayuan = pressure.startTemperature ();

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

pagkaantala (katayuan);

// Recupera la medida de kompleta 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 no hay errores, de lo contrario marcara 0

katayuan = pressure.getTemperature (T);

kung (status! = 0) {// Magsimula ng isang pagsukat ng presyon: Comienza la medicion de la presion // Ang parameter ay ang setting ng labis na pagsisikap, mula 0 hanggang 3 (pinakamataas na res, pinakamahabang paghihintay). 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

katayuan = pressure.startPressure (3);

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

// Recupere la medicion kompleta de la presion

// Notese que la medida esta almacenada en la variable P // Use '& P' to give the address of 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 no hay errores, de lo contrario marcara 0

katayuan = pressure.getPressure (P, T);

kung (status! = 0) {return (P); } iba pa Serial.println ("error sa pagkuha ng pagsukat ng presyon / n"); } iba pa Serial.println ("error sa pagsisimula ng pagsukat ng presyon / n"); } iba pa Serial.println ("error sa pagkuha ng pagsukat ng temperatura / n"); } iba pa Serial.println ("error sa pagsisimula ng pagsukat ng temperatura / n"); }

Inirerekumendang: