Índice:

Tecnologia PT: 3 etapas
Tecnologia PT: 3 etapas

Vídeo: Tecnologia PT: 3 etapas

Vídeo: Tecnologia PT: 3 etapas
Vídeo: Как СОБЯНИН спасал завод ЗИЛ 2024, Julho
Anonim
Tecnologia PT
Tecnologia PT

Neste tutorial, os padres encontram-se como hacer que a informação dada pelo sensor BMP180 se muestre no LCD, fusionando os montajes e os códigos. Espero que les sea útil

Etapa 1: materiais

Para obter um código e uma conexão ao protoboard usando o LCD e o sensor BMP180, se necessário, os materiais seguintes:

1. Protoboard

2. Arduino Uno

3. LCD

4. Sensor BMP180

5. Cabos (19)

6. Potenciômetro

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

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

Etapa 2: Montaje

Montaje
Montaje

Recomendações: Conecte cada dispositivo por separado em orden (ej: LCD primero, luego BMP180 e por último Potenciômetro)

Etapa 3: Codigo

Se utiliza o código BMP, o exemplo de altitude, é proporcionado aos ejemplos da biblioteca instalada (BMP180) em Arduino como o código base. Este código tem que ser fundido com o código LiquidCristal Helloworld, que também é um ejemplo de Arduino, para que o display do LCD mude os dados que manda o sensor. El código é o siguiente:

V10 Mike Grusin, SparkFun Electronics 2013-10-24 Atualizações V1.1.2 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 #include

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

Pressão SFE_BMP180;

linha de base dupla;

void setup ()

{Serial.begin (9600); lcd.println ("REBOOT"); lcd.begin (16, 2); // Imprime uma mensagem no LCD. lcd.print ("");

// Inicializar o sensor (é importante ter os valores calibrados guardados no dispositivo

if (pressure.begin ())

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

lcd.println ("Falha de inicialização BMP180 (desconectada?) n / n");

enquanto (1); // Pausa infinita}

// Obtenha a pressão de linha de base:

linha de base = getPressure (); lcd.print ("pressão de linha de base:"); lcd.print (linha de base); lcd.println ("mb"); }

void loop ()

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

P = obter pressão ();

// Muestra la altitud relativa

a = pressure.altitude (P, linha de base);

lcd.print ("altitude relativa:"); if (a> = 0,0) Serial.print (""); // adiciona um espaço para números positivos lcd.print (a, 1); lcd.print ("metros"); if (a> = 0,0) Serial.print (""); // adiciona um espaço para números positivos lcd.print (a * 3.28084, 0); lcd.println ("pés"); atraso (500); }

double getPressure ()

{status char; duplo T, P, p0, a;

// Você deve primeiro obter uma medição de temperatura para realizar uma leitura de pressão. Debes tener una medida de temperatura antes de tener una lectura de presion

// Iniciar uma medição 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

atraso (status);

// Recupera la medida de completa de temperatura

// Esta medida esta guardada na variável T // Utiliza & T para dar a direção de T a la função. // Si la ffuncion muestra 1 no hay errores, de lo contrario marcara 0

status = pressure.getTemperature (T);

if (status! = 0) {// Iniciar uma medição de pressão: Comienza la medicion de la presion // O parâmetro é a configuração de sobreamostragem, de 0 a 3 (resolução mais alta, espera mais longa). 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

// Nota que a medida esta almacenada na variável P // Use '& P' para fornecer o endereço de P. Utilice & P para dar a direção de P // Nota também que a função requer uma medida prévia 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 ("erro ao recuperar medição de pressão / n"); } else Serial.println ("erro ao iniciar medição de pressão / n"); } else Serial.println ("erro ao recuperar medição de temperatura / n"); } else Serial.println ("erro ao iniciar medição de temperatura / n"); }

Recomendado: