Innholdsfortegnelse:
Video: Tecnologia PT: 3 trinn
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
En este tutorial tutorials encontrar como hacer que the informationacada dada por el sensor BMP180 se muestre en el LCD, fusionando los montajes and los codigos. Espero que les sea útil
Trinn 1: Materialer
For hacer un código and una conexión en el protoboard utilizando el LCD y el sensor BMP180 se necesitan los signuientes materiales:
1. Protoboard
2. Arduino Uno
3. LCD
4. Sensor BMP180
5. Kabler (19)
6. Potensiometro
7. Libraries previamente instaladas (3 (LiquidCrystal, Wire, SFE_BMP180))
*La libreria de BMP180 er tilgjengelig for nedlasting på sparkfun.com
Trinn 2: Montaje
Anbefalinger: Conecte cada aparato por separado en orden (ej: primero LCD, luego BMP180 y por ultimo Potenciometro)
Trinn 3: Codigo
Se bruk av BMP -høydeeksempler for proporcionado og los ejemplos de la librería instalada (BMP180) og Arduino como el código base. Este código tiene que ser fusionado con el código LiquidCristal Helloworld, que también es un ememplo de Arduino, para que en el display of LCD for muestren los datos que manda el sensor. El código es el seuiente:
V10 Mike Grusin, SparkFun Electronics 2013-24-10 V1.1.2 oppdateringer for Arduino 1.6.4 *
/ Debes incluir las librerias BMP180, Wire y LiquidCrystal en este proyecto
// (Wire y LiquidCrystal son librerias standard de Arduino)
#inkludere
#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 "press":
SFE_BMP180 trykk;
dobbel grunnlinje;
ugyldig oppsett ()
{Serial.begin (9600); lcd.println ("REBOOT"); lcd.begin (16, 2); // Skriv ut en melding til LCD -skjermen. lcd.print ("");
// Inicializa el sensor (es importante tener los valores calibrados guardados en el dispositivo
hvis (press.begin ())
Serial.println ("BMP180 init suksess"); annet {// si tiene problemas o errores en el codigo, consulte la parte de arriba del codigo.
lcd.println ("BMP180 init fail (frakoblet?) n / n");
mens (1); // Pausa infinita}
// Få grunnlinjetrykket:
baseline = getPressure (); lcd.print ("grunnlinjetrykk:"); lcd.print (grunnlinje); lcd.println ("mb"); }
hulrom ()
{dobbelt a, P; // Consigue nuevos valores de presion
P = getPressure ();
// Muestra la altitud relativa
a = trykkhøyde (P, grunnlinje);
lcd.print ("relativ høyde:"); hvis (a> = 0.0) Serial.print (""); // legg til et mellomrom for positive tall lcd.print (a, 1); lcd.print ("meter"); hvis (a> = 0.0) Serial.print (""); // legg til et mellomrom for positive tall lcd.print (a*3.28084, 0); lcd.println ("fot"); forsinkelse (500); }
dobbel getPressure ()
{char status; dobbelt T, P, p0, a;
// Du må først få en temperaturmåling for å utføre en trykkavlesning. Debes tener una medida de temperatura antes de tener una lectura de presion
// Start en temperaturmåling: 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 = press.startTemperature ();
if (status! = 0) {// Espere a que se termine la medicion de la temperatura
forsinkelse (status);
// Recupera la medida de completea 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
status = press.getTemperature (T);
if (status! = 0) {// Start en trykkmåling: Comienza la medicion de la presion // Parameteren er oversampling -innstillingen, fra 0 til 3 (høyeste oppløsning, lengste ventetid). El parametro sobremuestra la konfiguracion, de 0 a 3 // Si no hay errores, el numero de ms para esperar se mostrara. // Si hay errores, se mostrara un 0
status = press.startPressure (3);
if (status! = 0) {// Espere a que termine la medicion de la presion delay (status);
// Recupere la medicion completea de la presion
// Notese que la medida esta almacenada en la variable P // Bruk '& P' for å oppgi adressen til 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
status = press.getPressure (P, T);
hvis (status! = 0) {retur (P); } annet Serial.println ("feil ved henting av trykkmåling / n"); } annet Serial.println ("feil ved start av trykkmåling / n"); } annet Serial.println ("feil ved henting av temperaturmåling / n"); } annet Serial.println ("feil ved start av temperaturmåling / n"); }