
Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-23 12:52

En este tutorial padres 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
Schritt 1: Materialien
Para hacer un código y una conexión en el protoboard utilizando el LCD y el Sensor BMP180 sene notwendige Materialien:
1. Protoboard
2. Arduino Uno
3. LCD
4. Sensor BMP180
5. Kabel (19)
6. Potenziometer
7. Bibliotheken previamente instaladas(3(LiquidCrystal, Wire, SFE_BMP180))
*La libreria de BMP180 puede ser descargada en sparkfun.com
Schritt 2: Montaje

Empfehlenswert: Conecte cada aparato por separado en orden (zB: primeo LCD, luego BMP180 y por ultimo Potenciometro)
Schritt 3: Codigo
Verwenden Sie das Código-BMP-Höhenbeispiel-Proporcionado und die freie Installation (BMP180) und die Arduino-Como-Código-Basis. Dies ist eine Kombination aus einer Fusion mit LiquidCristal Helloworld, einer Kombination aus Arduino und einem LCD-Display, das für den Sensor verwendet wird. El código es el siguiente:
V10 Mike Grusin, SparkFun Electronics 24.10.2013V1.1.2 Updates für Arduino 1.6.4 *
/ Debes incluir las librerias BMP180, Wire y LiquidCrystal und este proyecto
// (Wire y LiquidCrystal Son Librerias Standard de Arduino)
#enthalten
#einschließen #einschließen
// Inicializa la libreria con los pines de interface
Flüssigkristall-LCD (12, 11, 5, 4, 3, 2);
// Necesitara crear un objet SFE_BM0180, aqui lamado "Druck":
SFE_BMP180-Druck;
doppelte Grundlinie;
Void-Setup ()
{ Serial.begin (9600); lcd.println("REBOOT"); lcd.begin(16, 2); // Eine Nachricht auf dem LCD ausgeben. lcd.print("");
// Inicializa el sensor (es wichtig tener los valores calibrados guardados en el dispositivo
if (Druck. Begin())
Serial.println ("BMP180-Initialisierung erfolgreich"); else { // si tiene problemas o errores en el codigo, consulte la parte de arriba del codigo.
lcd.println("BMP180-Init fehlgeschlagen (getrennt?)\n\n");
während(1); // Pause infinita }
// Holen Sie sich den Grundliniendruck:
Grundlinie = getPressure(); lcd.print("Basisliniendruck: "); lcd.print (Grundlinie); lcd.println("mb"); }
Leere Schleife ()
{Doppela, P; // Consigue nuevos valores de presion
P = getPressure();
// Muestra la altitud relativa
a = Druck. Höhe (P, Grundlinie);
lcd.print("relative Höhe: "); if (a >= 0.0) Serial.print (" "); // Leerzeichen für positive Zahlen hinzufügen lcd.print(a, 1); lcd.print(" Meter, "); if (a >= 0.0) Serial.print (" "); // füge ein Leerzeichen für positive Zahlen hinzu lcd.print(a*3.28084, 0); lcd.println("Füße"); Verzögerung (500); }
doppelter getPressure()
{ Zeichenstatus; doppeltes T, P, p0, a;
// Sie müssen zuerst eine Temperaturmessung durchführen, um eine Druckmessung durchzuführen. Debes tener una medida de temperatura antes de tener una lectura de presion
// Starten Sie eine Temperaturmessung: Empieza una medicion de temperatura // Si no hay errores, el numero de ms para esperar se mostrara. // Si Heufehler, se mostrara un 0
status = pressure.startTemperature();
if (status != 0) {// Espere a que se termine la medicion de la temperatura
Verzögerung (Status);
// 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 keine Heufehler, de lo contrario marcara 0
Status = Druck.getTemperature(T);
if (status != 0) { // Druckmessung starten: Comienza la medicion de la presion // Der Parameter ist die Oversampling-Einstellung von 0 bis 3 (höchste Auflösung, längste Wartezeit). El parametro sobremuestra la configuracion, de 0 a 3 // Si no hay errores, el numero de ms para esperar se mostrara. // Si Heufehler, se mostrara un 0
Status = Druck.startDruck(3);
if (status != 0) {// Espere a que termine la medicion de la presion delay (status);
// Recupere la medicion completa de la presion
// Notese que la medida esta almacenada en la variable P // Verwenden Sie '&P', um die Adresse von P anzugeben. Utilice &P para dar la direccion de P // Notese tambien que la funcion requiere una medida previa de temperature la temperatura 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 = Druck.getPressure(P, T);
if (status != 0) { return(P); } else Serial.println ("Fehler beim Abrufen der Druckmessung / n"); } else Serial.println ("Fehler beim Starten der Druckmessung / n"); } else Serial.println ("Fehler beim Abrufen der Temperaturmessung / n"); } else Serial.println ("Fehler beim Starten der Temperaturmessung\n"); }