Isi kandungan:

Tecnologia PT: 3 Langkah
Tecnologia PT: 3 Langkah

Video: Tecnologia PT: 3 Langkah

Video: Tecnologia PT: 3 Langkah
Video: FINISH Making New Boom Lift Cylinders | Franna Crane Project | Part 3 2024, Julai
Anonim
Tecnologia PT
Tecnologia PT

Bahagian panduan tutorial, encontrar 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

Langkah 1: Bahan

Para pengacas dan pengadilan yang lebih baik dan penggunaan protoboard utilizando el LCD y el sensor BMP180 se necesitan los siguientes materiales:

1. Protoboard

2. Arduino Uno

3. LCD

4. Sensor BMP180

5. Kabel (19)

6. Potenciometro

7. Perpustakaan berlaku instalada (3 (LiquidCrystal, Wire, SFE_BMP180))

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

Langkah 2: Montaje

Montaje
Montaje

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

Langkah 3: Codigo

Se utiliza el código BMP altitud contoh proporcionado en los ejemplos de la librería instalada (BMP180) en Arduino como el código base. Este código tiene que ser fusionado con el código LiquidCristal Helloworld, que también es un ejemplo de Arduino, para que en el display del LCD se muestren los datos que manda el sensor. El código es el siguiente:

V10 Mike Grusin, SparkFun Electronics 10/24 / 2013V1.1.2 Kemas kini untuk Arduino 1.6.4 *

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

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

#sertakan

#sertakan #sertakan

// Inicializa la libreria con los pines de antaramuka

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

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

Tekanan SFE_BMP180;

garis asas berganda;

persediaan tidak sah ()

{Serial.begin (9600); lcd.println ("REBOOT"); lcd.begin (16, 2); // Cetak mesej ke LCD. lcd.print ("");

// Inicializa el sensor (es penting tener los valores calibrados guardados en el dispositivo

jika (tekanan. mulakan ())

Serial.println ("BMP180 init berjaya"); lain {// si tiene problemas o errores en el codigo, consulte la parte de arriba del codigo.

lcd.println ("BMP180 init gagal (terputus?) n / n");

sementara (1); // Pausa infinita}

// Dapatkan tekanan awal:

garis dasar = getPressure (); lcd.print ("tekanan asas:"); lcd.print (garis dasar); lcd.println ("mb"); }

gelung kosong ()

{double a, P; // Kesesuaian nuevos valores de presion

P = getPressure ();

// Muestra la altitud relativa

a = tekanan.tinggi (P, garis dasar);

lcd.print ("ketinggian relatif:"); jika (a> = 0.0) Serial.print (""); // tambahkan ruang untuk nombor positif lcd.print (a, 1); lcd.print ("meter,"); jika (a> = 0.0) Serial.print (""); // tambahkan ruang untuk nombor positif lcd.print (a * 3.28084, 0); lcd.println ("kaki"); kelewatan (500); }

getPressure berganda ()

{status char; berganda T, P, p0, a;

// Anda mesti terlebih dahulu melakukan pengukuran suhu untuk melakukan pembacaan tekanan. Debaran tener una medida de temperatura antes de tener una lectura de presion

// Mulakan pengukuran suhu: Empieza una medicion de temperatura // Tidak ada kesilapan, el numero de ms para esperar se mostrara. // Si hay errores, se mostrara un 0

status = tekanan.startTemperature ();

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

kelewatan (status);

// Recupera la medida de completa de temperatura

// Esta medida esta guardada en la variabel T // Utiliza & T para dar la direccion de T a la funcion. // Si la ffuncion muestra 1 tiada kesilapan jerami, de lo contrario marcara 0

status = tekanan.getTemperature (T);

if (status! = 0) {// Mulakan pengukuran tekanan: Comienza la medicion de la presion // Parameternya adalah pengaturan oversampling, dari 0 hingga 3 (res tertinggi, penantian terpanjang). 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 = tekanan.start Tekanan (3);

jika (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 variabel P // Gunakan '& P' untuk memberikan alamat P. Utilice & P para dar la direccion de P // Notis tambien que la funcion requiere una medida previa de temperatura // (Si la temperatura boleh didapati, puedes hacer una medicion de temperatura para las medidas de presion) // Si la ffuncion muestra 1 tiada kesilapan, de lo contrario marcara 0

status = tekanan.getPressure (P, T);

jika (status! = 0) {return (P); } lain Serial.println ("ralat mengambil pengukuran tekanan / n"); } lain Serial.println ("ralat memulakan pengukuran tekanan / n"); } lain Serial.println ("ralat mengambil pengukuran suhu / n"); } lain Serial.println ("ralat memulakan pengukuran suhu / n"); }

Disyorkan: