ዝርዝር ሁኔታ:

Tecnologia PT: 3 ደረጃዎች
Tecnologia PT: 3 ደረጃዎች

ቪዲዮ: Tecnologia PT: 3 ደረጃዎች

ቪዲዮ: Tecnologia PT: 3 ደረጃዎች
ቪዲዮ: How Online Business Works in 3 steps ኦንላይን ቢዝነስ በ 3 ደረጃዎች እንዴት እንደሚሰራ|Habesha online Business 2024, ህዳር
Anonim
Tecnologia PT
Tecnologia PT

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 የባሕር útil

ደረጃ 1: Materiales

Para hacer un código y una conexión en el protoboard utilizando el LCD y el sensor BMP180 se necesitan los siguientes materiales:

1. ፕሮቶቦርድ

2. አርዱዲኖ ኡኖ

3. ኤል.ሲ.ዲ

4. ዳሳሽ BMP180

5. ኬብሎች (19)

6. ፖቴሲዮሜትሮ

7. ቤተመፃህፍት previamente instaladas (3 (LiquidCrystal ፣ Wire ፣ SFE_BMP180))

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

ደረጃ 2 ሞንታጄ

ሞንታጄ
ሞንታጄ

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

ደረጃ 3: Codigo

Se utiliza el código BMP altitud example 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. ኤል ኮዲጎ እስ ኤል ሲጉኢንተ ፦

V10 ማይክ ግሩሲን ፣ SparkFun ኤሌክትሮኒክስ 2013-24-10V1.1.2 ዝመናዎች ለአርዱዲኖ 1.6.4 *

/ ደበስ ላስ ሊብሬሪያስ BMP180 ፣ ሽቦ እና LiquidCrystal en este proyecto

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

#ያካትቱ

#አካትት #አካትት

// Inicializa la libreria con los pines de በይነገጽ

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

// Necesitara crear un objet SFE_BM0180 ፣ aqui llamado “ግፊት”:

SFE_BMP180 ግፊት;

ድርብ መነሻ;

ባዶነት ማዋቀር ()

{Serial.begin (9600); lcd.println ("ዳግም አስነሳ"); lcd.begin (16, 2); // መልእክት ወደ ኤልሲዲ ያትሙ። lcd.print ("");

// Inicializa el sensor (በጣም አስፈላጊው ቴነር ሎስ ቫሎሬስ ካሊብራዶስ ዋርዶዶስ ኤ ኤል ዲስፖዚቲቮ)

ከሆነ (ግፊት.ጀማሪ ())

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

lcd.println ("BMP180 init fail (ተቋርጧል?) n / n");

ሳለ (1); // Pausa infinita}

// የመነሻውን ግፊት ያግኙ -

መነሻ መስመር = getPressure (); lcd.print ("የመነሻ ግፊት:"); lcd.print (መነሻ); lcd.println ("mb"); }

ባዶነት loop ()

{ድርብ ሀ ፣ ፒ; // Consigue nuevos valores de presion

P = getPressure ();

// Muestra ላ altitud relativa

ሀ = ግፊት። ከፍታ (ፒ ፣ መነሻ);

lcd.print ("አንጻራዊ ከፍታ:"); ከሆነ (a> = 0.0) Serial.print (""); // ለአዎንታዊ ቁጥሮች ቦታ ይጨምሩ lcd.print (a, 1); lcd.print ("ሜትሮች"); ከሆነ (a> = 0.0) Serial.print (""); // ለአዎንታዊ ቁጥሮች ቦታ ይጨምሩ lcd.print (ሀ*3.28084 ፣ 0); lcd.println ("እግሮች"); መዘግየት (500); }

ድርብ getPressure ()

{የቻር ሁኔታ; ድርብ ቲ ፣ ገጽ ፣ p0 ፣ ሀ;

// የግፊት ንባብን ለማከናወን በመጀመሪያ የሙቀት መለኪያ ማግኘት አለብዎት። Debes tener una medida de temperatura antes de tener una lectura de presion

// የሙቀት መጠን መለካት ይጀምሩ - Empieza una medicion de temperatura // Si no hay errores, el numero de ms para esperar se mostrara. // ሲ hay errores, se mostrara un 0

ሁኔታ = pressure.startTemperature ();

ከሆነ (ሁኔታ! = 0) {// Espere a que se termine la medicion de la temperatura

መዘግየት (ሁኔታ);

// Recupera la medida de completa de temperatura

// ኢስታ ሜዲዳ ኢስታ ጋርዳ በ ላ ተለዋዋጭ T // Utiliza & T para dar la direccion de T a la funcion. // Si la ffuncion muestra 1 no hay errores, de lo contrario marcara 0

ሁኔታ = ግፊት.getTemperature (T);

ከሆነ (ሁኔታ! = 0) {// የግፊት መለኪያ ይጀምሩ - Comienza la medicion de la presion // መለኪያው ከመጠን በላይ የመጫን ቅንብር ነው ፣ ከ 0 እስከ 3 (ከፍተኛው ረዥሙ ፣ ረጅሙ መጠበቅ)። El parametro sobremuestra la configuracion, de 0 a 3 // Si no hay errores, el numero de ms para esperar se mostrara. // ሲ hay errores, se mostrara un 0

ሁኔታ = ግፊት። ጀምር ግፊት (3);

ከሆነ (ሁኔታ! = 0) {// Espere a que termine la medicion de la presion delay (status);

// ሬኩፔሬ ላ መድሐኒት የተሟላ ዴ ላ presion

// Notese que la medida esta almacenada en la ተለዋዋጭ P // የ ‹ፒቲሊቲ & ፒ ፓራ ዳር ላ ዳይሬክሽን ዲ ፒ› አድራሻ ለማቅረብ ‹& P› ን ይጠቀሙ ‹Notese tambien que la funcion requiere una medida previa de temperatura // (Si ላ temperatura es estable, puedes hacer una medicion de temperatura para las medidas de presion) // Si la ffuncion muestra 1 no hay errores, de lo contrario marcara 0

ሁኔታ = ግፊት.getPressure (P, T);

ከሆነ (ሁኔታ! = 0) {ተመለስ (P); } ሌላ Serial.println ("የግፊት መለኪያ ማምጣት ስህተት / n"); } ሌላ Serial.println ("የግፊት መለካት ስህተት / n"); } ሌላ Serial.println ("የሙቀት መጠን መለካት ስህተት / n"); } ሌላ Serial.println ("የሙቀት መለኪያ መለካት ስህተት / n"); }

የሚመከር: