Daftar Isi:

PT Tecnologia: 3 Langkah
PT Tecnologia: 3 Langkah

Video: PT Tecnologia: 3 Langkah

Video: PT Tecnologia: 3 Langkah
Video: Current Transformer (C.T.) connected with Ammeter Selector Switch and Ammeter 2024, November
Anonim
PT Teknologi
PT Teknologi

En este tutorial padres 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 til

Langkah 1: Materi

Para hacer un código y una conexión en el protoboard utilizando el LCD y el sensor BMP180 sesuai kebutuhan bahan-bahan:

1. Protoboard

2. Arduino Uno

3. LCD

4. Sensor BMP180

5. Kabel (19)

6. Potensiometro

7. Perpustakaan sebelum diinstal(3(LiquidCrystal, Wire, SFE_BMP180))

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

Langkah 2: Montaje

Montaj
Montaj

Rekomendasi: Conecte cada aparato por separado en orden (mis: 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 libreria instalada (BMP180) di Arduino como el código base. Pertahankan pengaturan untuk penggabungan aplikasi LiquidCristal Helloworld, perintah untuk menjalankan Arduino, untuk menampilkan semua LCD dan sensor. El codigo es el siguiente:

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

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

// (Kawat dan LiquidCrystal son librerias standar dari Arduino)

#termasuk

#sertakan #sertakan

// Inicializa la libreria con los pines de interface

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

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

tekanan SFE_BMP180;

dasar ganda;

batalkan pengaturan()

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

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

jika (tekanan.begin())

Serial.println("BMP180 init berhasil"); else { // masalah masalah dan kesalahan en el codigo, konsultasikan dengan parte de arriba del codigo.

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

sementara(1); // jeda tak terhingga }

// Dapatkan tekanan dasar:

baseline = getPressure(); lcd.print("tekanan awal: "); lcd.print(dasar); lcd.println("mb"); }

lingkaran kosong()

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

P = getPressure();

// Muestra la altitud relativa

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

lcd.print("ketinggian relatif: "); if (a >= 0.0) Serial.print(" "); // tambahkan spasi untuk bilangan positif lcd.print(a, 1); lcd.print("meter, "); if (a >= 0.0) Serial.print(" "); // tambahkan spasi untuk bilangan positif lcd.print(a*3.28084, 0); lcd.println("kaki"); penundaan (500); }

getPressure ganda ()

{ status karakter; ganda T, P, p0, a;

// Anda harus terlebih dahulu mendapatkan pengukuran suhu untuk melakukan pembacaan tekanan. Debes tener una medida de temperaturea antes de tener una lectura de presion

// Mulai pengukuran suhu:Empieza una medicion de temperaturea // Tidak ada kesalahan, angka-angka untuk esperar se mostrara. // Si hay errores, se mostrara un 0

status = tekanan.startTemperature();

if (status != 0) { // Esper a que se termine la medicion de la temperaturea

penundaan (status);

// Recupera la medida de completa de suhu

// Esta medida esta guardada en la variabel T // Gunakan &T untuk mengarahkan ke fungsi T a la. // Si la funcion muestra 1 tidak ada kesalahan, de lo contrario marcara 0

status = tekanan.getSuhu(T);

if (status != 0) { // Mulai pengukuran tekanan: Comienza la medicion de la presion // Parameternya adalah pengaturan oversampling, dari 0 hingga 3 (res tertinggi, tunggu terlama). El parametro sobremuestra la configuracion, de 0 a 3 // Tidak ada kesalahan, el numero de ms para esperar se mostrara. // Si hay errores, se mostrara un 0

status = tekanan.startTekanan(3);

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

// Recupere la medicion completa de la presion

// Catatan que la medida esta almacenada en la variabel P // Gunakan '&P' untuk memberikan alamat P. Utilice &P para dar la direccion de P // Catatan tambien que la funcion requiere una medida previa de suhu // (Si la temperaturea es estable, puedes hacer una medicion de temperaturea para las medidas de presion) // Si la ffuncion muestra 1 tidak ada kesalahan, de lo contrario marcara 0

status = tekanan.getTekanan(P, T);

if (status != 0) { kembali(P); } else Serial.println("kesalahan saat mengambil pengukuran tekanan\n"); } else Serial.println("kesalahan saat memulai pengukuran tekanan\n"); } else Serial.println("kesalahan saat mengambil pengukuran suhu\n"); } else Serial.println("kesalahan saat memulai pengukuran suhu\n"); }

Direkomendasikan: