Sommario:

Tecnologia PT: 3 passaggi
Tecnologia PT: 3 passaggi

Video: Tecnologia PT: 3 passaggi

Video: Tecnologia PT: 3 passaggi
Video: КАКИМ БУДЕТ PORTAL 3 2024, Luglio
Anonim
Tecnologia PT
Tecnologia PT

En este tutorial padres encontrar come hacer que la información dada for el sensor BMP180 se muestre en el LCD, fusionando los montajes y los códigos. Espero que les sea útil

Passaggio 1: materiale

Per avere un codice e una connessione sulla scheda prototipale utilizzando l'LCD e il sensore BMP180 se necessario per i materiali necessari:

1. Protoboard

2. Arduino Uno

3. LCD

4. Sensore BMP180

5. Cavi (19)

6. Potenziometro

7. Librerie previamente installate(3(LiquidCrystal, Wire, SFE_BMP180))

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

Passaggio 2: montaggio

montaggio
montaggio

Raccomandazioni: Conecte cada aparato por separado en orden (es: primero LCD, luego BMP180 y por ultimo Potenciometro)

Passaggio 3: Codigo

Se si utilizza il codice BMP altitud example proporcionado en gli esempi di installazione della libreria (BMP180) e Arduino come base del codice. Questo codice tiene conto della fusione con il codice LiquidCristal Helloworld, che include un esempio di Arduino, per il display dell'LCD se muestren los datos que manda el sensor. Il codice es el siguiente:

V10 Mike Grusin, SparkFun Electronics 2013-10-24 Aggiornamenti V1.1.2 per Arduino 1.6.4 *

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

// (Wire y LiquidCrystal figlio di librerie standard di Arduino)

#includere

#include #include

// Inicializa la libreria con los pines de interface

LCD a cristalli liquidi (12, 11, 5, 4, 3, 2);

// Necesitara crear un objet SFE_BM0180, aqui llamado "pressione":

SFE_BMP180 pressione;

doppia linea di base;

configurazione nulla()

{ Serial.begin(9600); lcd.println("RIAVVIA"); lcd.begin(16, 2); // Stampa un messaggio sul display LCD. lcd.print("");

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

if (pressione.inizio())

Serial.println("BMP180 inizializzazione riuscita"); else { // si tiene problemas o errori en el codigo, consulta la parte de arriba del codigo.

lcd.println("BMP180 inizializzazione fallita (disconnessa?)\n\n");

mentre(1); // Pausa infinita }

// Ottieni la pressione di base:

linea di base = getPressure(); lcd.print("pressione di base: "); lcd.print(linea di base); lcd.println("mb"); }

ciclo vuoto()

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

P = getPressure();

// Muestra la altitud relativa

a = pressione.altitudine(P, linea di base);

lcd.print("altitudine relativa: "); if (a >= 0.0) Serial.print(" "); // aggiungi uno spazio per i numeri positivi lcd.print(a, 1); lcd.print(" metri, "); if (a >= 0.0) Serial.print(" "); // aggiungi uno spazio per i numeri positivi lcd.print(a*3.28084, 0); lcd.println("piedi"); ritardo (500); }

double getPressure()

{ stato del carattere; doppia T, P, p0, a;

// Devi prima ottenere una misurazione della temperatura per eseguire una lettura della pressione. Debes tener una medida de temperatura antes de tener una lectura de presion

// Avvia una misurazione della temperatura:Empieza una medicina de temperatura // Si no hay errores, el numero de ms para esperar se mostrara. // Si hay errori, se mostrara un 0

stato = pressione.startTemperature();

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

ritardo (stato);

// Recupera la medida de completa de temperatura

// Esta medida esta guardada en la variabile 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

stato = pressione.getTemperature(T);

if (status != 0) { // Avvia una misura di pressione: Comienza la medicion de la presion // Il parametro è l'impostazione del sovracampionamento, da 0 a 3 (risoluzione più alta, attesa più lunga). El parametro sobremuestra la configuracion, de 0 a 3 // Si no hay errores, el numero de ms para esperar se mostrara. // Si hay errori, se mostrara un 0

stato = pressione.inizioPressione(3);

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

// Recupera la medicina completa de la presion

// Notese que la medida esta almacenada en la variable P // Usa '&P' per fornire l'indirizzo di 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

stato = pressione.getPressure(P, T);

if (stato != 0) { return(P); } else Serial.println("errore nel recupero della misurazione della pressione\n"); } else Serial.println("errore durante l'avvio della misurazione della pressione\n"); } else Serial.println("errore durante il recupero della misurazione della temperatura\n"); } else Serial.println("errore durante l'avvio della misurazione della temperatura\n"); }

Consigliato: