Mündəricat:

Texnologiya PT: 3 addım
Texnologiya PT: 3 addım

Video: Texnologiya PT: 3 addım

Video: Texnologiya PT: 3 addım
Video: СЭКОНОМИЛ И ПОПАЛ на 100к 2024, Noyabr
Anonim
Texnologiya PT
Texnologiya PT

Təlimatçılar BMP180 -in LCD və LCD -lərlə əlaqəli bütün məlumatları bir -birinə bağladıqdan sonra, montaj və quraşdırma işlərinin ən yüksək səviyyəsini təmin edəcəklər. Dəniz sahilinə qədər

Addım 1: Materiallar

Məlumat üçün BMP180 -dən istifadə etmək üçün bütün lazımi məlumatları əldə edə bilərsiniz:

1. Protoboard

2. Arduino Uno

3. LCD

4. BMP180 sensoru

5. Kabellər (19)

6. Potensiometro

7. Kitabxanalar əvvəlcədən quraşdırılmışdır (3 (LiquidCrystal, Wire, SFE_BMP180))

*BMP180 kitabxanası, sparkfun.com saytından yüklənir

Addım 2: Montaje

Montaje
Montaje

Tövsiyələr: cihazları ayırmaq (məsələn, LCD, BMP180 və ya Potenciometro)

Addım 3: Codigo

BMP hündürlüyünə nümunə olaraq kitabxananın quraşdırılması (BMP180) və Arduino -nun əsas baza nümunələri göstərilir. LiquidCristal Helloworld və ya Arduino ilə əlaqə qurarkən, LCD ekranda ən böyük sensoru tapacaqsınız. Əlavə məlumat:

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

/ BMP180, Wire y LiquidCrystal kitabxana kitabxanaları da daxil olmaqla

// (Wire y LiquidCrystal son kitabxanaları standart Arduino)

#daxil edin

#daxil edin #daxil edin

// İnterfeys kitabxanası

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

// SFE_BM0180, "təzyiq" lövhəsi:

SFE_BMP180 təzyiqi;

ikiqat təməl;

boş quraşdırma ()

{Serial.begin (9600); lcd.println ("Yenidən Başla"); lcd.begin (16, 2); // LCD -yə mesaj yazın. lcd.print ("");

// Məlumat sensoru

əgər (təzyiq.başla ())

Serial.println ("BMP180 başlanğıc uğuru"); başqa { / si ən böyük səhvlər isə codigo ilə əlaqəli problemlərlə əlaqədardır.

lcd.println ("BMP180 init uğursuz oldu (əlaqəsi kəsildi?) n / n");

isə (1); // Pausa sonsuz}

// Əsas təzyiqi alın:

baza = getPressure (); lcd.print ("əsas təzyiq:"); lcd.print (əsas xətt); lcd.println ("mb"); }

boşluq döngəsi ()

{ikiqat a, P; // Consue nuevos valores de presion

P = getPressure ();

// Muestra la yükseklik relativiyası

a = təzyiq hündürlüyü (P, başlanğıc);

lcd.print ("nisbi yüksəklik:"); əgər (a> = 0.0) Serial.print (""); // müsbət ədədlər üçün boşluq əlavə edin lcd.print (a, 1); lcd.print ("metr,"); əgər (a> = 0.0) Serial.print (""); // pozitiv ədədlər üçün boşluq əlavə edin lcd.print (a*3.28084, 0); lcd.println ("ayaqlar"); gecikmə (500); }

ikiqat getPressure ()

{char statusu; ikiqat T, P, p0, a;

// Bir təzyiq oxunuşunu yerinə yetirmək üçün əvvəlcə bir temperatur ölçüsü almalısınız. Mövzular və mövzular haqqında danışmaq üçün heç bir səbəb yoxdur

// Temperaturun ölçülməsinə başlayın: Temperaturun ölçülməsi // Əməliyyat səhvləri yoxlanıldıqda, heç bir problem yoxdur. // Səmən səhvlər, 0 -a baxın

status = təzyiq.startTemperatur ();

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

gecikmə (vəziyyət);

// Temperaturun tamamlanması

// Dəyişən T -nin ən böyük dəyişikliyi T // Faydalı funksiyalar. // Sifarişdən əvvəl 1 səhv yoxdur, əksinə marcara 0

status = təzyiq.getTemperature (T);

if (status! = 0) {// Təzyiq ölçməsinə başlayın: Comienza la medicion de la presion // Parametr, 0 -dan 3 -ə qədər olan həddindən artıq nümunə götürmə parametridir (ən yüksək res, ən uzun gözləmə). Konfiqurasiya parametrləri, 0 və ya 3 -dən çox olmayan / səhvlər yoxlanıldıqda, bu məlumatların sayını təyin edin. // Səmə səhvlər, 0 -a baxın

status = təzyiq.başlama təzyiqi (3);

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

// Tibbi müalicə tamamlandı

// Notes que la medida esta almacenada en la variable P // P. & U ünvanını təmin etmək üçün '& P' istifadə edin. la temperatura es estable, puedes hacer una medicion de temperatura para las medidas de presion) // Si la ffuncion muestra 1 saman səhvləri yoxdur, de lo contrario marcara 0

status = təzyiq.get təzyiq (P, T);

if (status! = 0) {qayıt (P); } else Serial.println ("təzyiq ölçümü alınarkən səhv / n"); } else Serial.println ("təzyiqin ölçülməsi xətası / n"); } else Serial.println ("temperaturun ölçülməsi xətası / n"); } else Serial.println ("temperaturun ölçülməsi zamanı səhv / n"); }

Tövsiyə: