İçindekiler:

Tecnologia PT: 3 Adım
Tecnologia PT: 3 Adım

Video: Tecnologia PT: 3 Adım

Video: Tecnologia PT: 3 Adım
Video: Bilgisayar Hileleri Pt.3 Mavi Ekran Hatası Çözümü #shorts 2024, Kasım
Anonim
Teknoloji PT
Teknoloji PT

En este öğretici padler encontrar como hacer que la enformasyon dada por el sensörü BMP180 en el LCD, füzyon ve los códigos montajları ve montajları. Espero que les sea útil

Adım 1: Malzemeler

BMP180 için gerekli malzemeler:

1. Anakart

2. Arduino Uno

3. LCD

4. Sensör BMP180

5. Kablolar (19)

6. Potensiometro

7. Kitaplıklar kurulum öncesi(3(LiquidCrystal, Wire, SFE_BMP180))

*Skıvılcım.com'da ücretsiz olarak sunulan BMP180 puede ser descargada

2. Adım: Montaj

montaj
montaj

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

Adım 3: Codigo

BMP irtifa örneği proporcionado en los ejemplos de la librería instaada (BMP180) ve Arduino como el código tabanını kullanın. Sıvı Kristal Helloworld, Arduino'nun çalışmasının bir parçasıdır. El código es el siguiente:

V10 Mike Grusin, SparkFun Electronics 2013-10-24V1.1.2 Arduino 1.6.4 için Güncellemeler *

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

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

#Dahil etmek

#include #include

// Inicializa la libreria con los pines de interface

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

// Necesitara crear un objet SFE_BM0180, aqui llamado "basınç":

SFE_BMP180 basıncı;

çift taban çizgisi;

geçersiz kurulum()

{ Serial.başlangıç(9600); lcd.println("YENİDEN BAŞLAT"); lcd.başla(16, 2); // LCD'ye bir mesaj yazdırın. lcd.print("");

// Inicializa el sensörü (önemli olan en önemli şey los valores calibrados guardados en el dispositivo

if (basınç.begin())

Serial.println("BMP180 başlangıç başarısı"); else { // si tiene problems o errores en el codigo, la parte de arriba del codigo'ya danışın.

lcd.println("BMP180 başlatma başarısız (bağlantı kesildi mi?)\n\n");

süre(1); // Sonsuz duraklama }

// Temel basıncı alın:

temel = getPressure(); lcd.print("temel basınç:"); lcd.print(temel); lcd.println("mb"); }

boşluk döngüsü()

{ çift a, P; // Consigue nuevos valores de presion

P = getPressure();

// Muestra la irtifa göreceli

a = basınç.yükseklik(P, taban çizgisi);

lcd.print("göreceli yükseklik:"); if (a >= 0.0) Serial.print(" "); // pozitif sayılar için bir boşluk ekle lcd.print(a, 1); lcd.print("metre,"); if (a >= 0.0) Serial.print(" "); // pozitif sayılar için bir boşluk ekleyin lcd.print(a*3.28084, 0); lcd.println("ayak"); gecikme(500); }

çift getPressure()

{ karakter durumu; çift T, P, p0, a;

// Basınç okuması yapabilmek için önce bir sıcaklık ölçümü almalısınız. Debes tener medida de de temperatura antes de tener un lectura de presion

// Bir sıcaklık ölçümü başlatın: Empieza una medicion de temperatura // Saman hatası yok, el numero de ms para esperar se Mostrara. // Si hay hatalar, se Mostrara un 0

durum = basınç.startTemperature();

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

gecikme(durum);

// Recupera la medida de tam sıcaklık

// Esta medida esta guardada en la değişken T // Utiliza &T para dar la direccion de Ta la işlevi. // Si la ffuncion muestra 1 saman hatası yok, de lo contrario marcara 0

durum = basınç.getTemperature(T);

if (status != 0) { // Bir basınç ölçümü başlatın: Comienza la medicion de la presion // Parametre, 0 ile 3 arasında (en yüksek çözünürlük, en uzun bekleme) aşırı örnekleme ayarıdır. El parametro sobremuestra la configuracion, de 0 a 3 // Saman hatası yok, en çok sayıda para esperar e numero de ms. // Si hay hatalar, se Mostrara un 0

durum = basınç.başlangıçBasınç(3);

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

// Recupere la medicion tamamlandı

// Not que la medida esta almacenada en la değişken P // P'nin adresini sağlamak için '&P' kullanın. la temperatura es estable, puedes hacer una medicion de temperatura para las medidas de presion) // Si la ffuncion muestra 1 saman hatası yok, de lo contrario marcara 0

durum = basınç.getBasınç(P, T);

if (durum != 0) { dönüş(P); } else Serial.println("basınç ölçümü alınırken hata\n"); } else Serial.println("basınç ölçümünü başlatma hatası\n"); } else Serial.println("sıcaklık ölçümü alınırken hata\n"); } else Serial.println("sıcaklık ölçümünü başlatma hatası\n"); }

Önerilen: