Taula de continguts:

Tecnologia PT: 3 passos
Tecnologia PT: 3 passos

Vídeo: Tecnologia PT: 3 passos

Vídeo: Tecnologia PT: 3 passos
Vídeo: Tecnologia como diferencial: 3 passos para alavancar seus negócios 2024, Juliol
Anonim
Tecnologia PT
Tecnologia PT

En aquest tutorial es troben com fer que la informació donada pel sensor BMP180 es mostri al LCD, fusionant els muntatges i els codis. Espero que les sea útil

Pas 1: materials

Per fer un codi i una connexió al protobord utilitzant el LCD i el sensor BMP180 es necessiten els següents materials:

1. Protoboard

2. Arduino Uno

3. LCD

4. Sensor BMP180

5. Cables (19)

6. Potenciometro

7. Biblioteques prèviament instal·lades (3 (LiquidCrystal, Wire, SFE_BMP180))

* La libreria de BMP180 pot descarregar-se a sparkfun.com

Pas 2: muntatge

Muntatge
Muntatge

Recomanacions: Conecte cada aparat per separat en ordre (ej: primer LCD, luego BMP180 y por ultimo Potenciometro)

Pas 3: Codigo

Utilitzeu el codi BMP altitud exemple proporcionat en els exemples de la biblioteca instal·lada (BMP180) en Arduino com el codi base. Aquest codi té que sigui fusionat amb el codi LiquidCristal Helloworld, que també és un exemple d’Arduino, per a que en la pantalla del LCD es mostrin els dades que mana el sensor. El codi és el següent:

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

/ Debes inclou les llibreries BMP180, Wire y LiquidCrystal en aquest projecte

// (Wire y LiquidCrystal son librerias standard de Arduino)

#incloure

#include #include

// Inicialitza la biblioteca amb els pins d’interfície

LiquidCrystal lcd (12, 11, 5, 4, 3, 2);

// Necessita crear un objecte SFE_BM0180, aqui llamado "pressure":

SFE_BMP180 pressió;

doble línia de base;

configuració nul·la ()

{Serial.begin (9600); lcd.println ("REBOT"); lcd.begin (16, 2); // Imprimiu un missatge a la pantalla LCD. lcd.print ("");

// Inicialitzar el sensor (és important tenir els valors calibrats guardats en el dispositiu

if (pressure.begin ())

Serial.println ("èxit inicial BMP180"); else {// si té problemes o errors en el codigo, consulta la part de dalt del codigo.

lcd.println ("Falla d'inici BMP180 (desconnectat?) n / n");

mentre que (1); // Pausa infinita}

// Obteniu la pressió inicial:

línia de base = getPressure (); lcd.print ("pressió inicial:"); lcd.print (línia de base); lcd.println ("mb"); }

bucle buit ()

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

P = getPressure ();

// Mostra la altitud relativa

a = pressió.altitud (P, línia base);

lcd.print ("altitud relativa:"); if (a> = 0,0) Serial.print (""); // afegiu un espai per a nombres positius lcd.print (a, 1); lcd.print ("metres"); if (a> = 0,0) Serial.print (""); // afegiu un espai per a nombres positius lcd.print (a * 3.28084, 0); lcd.println ("peus"); retard (500); }

doble getPressure ()

{estat de caràcter; doble T, P, p0, a;

// Primer heu de mesurar la temperatura per realitzar una lectura de pressió. Debes tener una medida de temperatura antes de tener una lectura de presión

// Start a temperature treatment: Empieza una medicion de temperatura // Si no hay errores, el número de ms para esperar se mostrara. // Si hay errores, se mostrara un 0

estat = pressió.startTemperatura ();

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

retard (estat);

// Recupera la mesura de completa de temperatura

// Esta medida esta guardada en la variable T // Utilitza & T per donar la direcció de T a la funció. // Si la ffuncion mostra 1 no hay errores, de lo contrario marcara 0

estat = pressió.getTemperatura (T);

if (status! = 0) {// Inicieu un mesurament de la pressió: Comença la medició de la presió // El paràmetre és el paràmetre de sobre mostreig, de 0 a 3 (màxima resolució, espera més llarga). El parametro sobremuestra la configuració, de 0 a 3 // Si no hi ha errors, el número de ms per esperar es mostra. // 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

// Notese que la medida esta almacenada en la variable P // Use '& P' to provide the address of P. Utilice & P para dar la direccion de P // Notese tambien que la función requiere una medida previa de temperatura // (Si la temperatura és estable, pots fer una medició de temperatura per a les mesures de presió) // Si la ffunció mostra 1 no hi ha errors, del contrari marcara 0

estat = pressió.get Pressió (P, T);

if (estat! = 0) {retorn (P); } else Serial.println ("error en recuperar la mesura de la pressió / n"); } else Serial.println ("error en iniciar la mesura de la pressió / n"); } else Serial.println ("error en recuperar la mesura de temperatura / n"); } else Serial.println ("error en iniciar la mesura de la temperatura / n"); }

Recomanat: