Vídeo: Tecnologia PT: 3 etapas
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
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
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"); }