Cov txheej txheem:

BMP180 Y LCD Con Arduino: 4 Kauj Ruam
BMP180 Y LCD Con Arduino: 4 Kauj Ruam

Video: BMP180 Y LCD Con Arduino: 4 Kauj Ruam

Video: BMP180 Y LCD Con Arduino: 4 Kauj Ruam
Video: How to Display Temperature and Pressure on 16x2 LCD Display Using Bmp180 2024, Lub Xya hli ntuj
Anonim
BMP180 Y LCD Con Arduino
BMP180 Y LCD Con Arduino

este tutorial les ayudará a todos aquellos que quieran hacer funcionar el sensor de temperatura y presión BMP180 y el LCD a través de arduino.

Kauj Ruam 1: Cov ntaub ntawv

para que este programa nos salga bien debemos tener los siguientes materiales:

cov kab

Arduino

usb kab

potenciómetro

LCD

NPE 180

tus suav

Kauj ruam 2: Montaje

Montaje
Montaje
Montaje
Montaje

Kauj ruam 3: Codigo

rau hacer funcionar el bmp180 y el LCD se tienen que fusionar dos códigos que son el de nyob zoo ntiaj teb y el qub del sensor de temperatura bmp180. Cov txheej txheem ntawm cov txheej txheem yog raws li nram no:

/* LiquidCrystal Library - Nyob Zoo Ntiaj Teb

Qhia pom kev siv 16x2 LCD zaub. Lub tsev qiv ntawv LiquidCrystal ua haujlwm nrog txhua lub LCD qhia uas tau sib xws nrog Hitachi HD44780 tus tsav tsheb. Muaj ntau ntawm lawv nyob ntawd, thiab koj tuaj yeem feem ntau qhia lawv los ntawm 16-pin interface.

Daim duab no luam tawm "Nyob Zoo Ntiaj Teb!" rau lub LCD thiab qhia lub sijhawm.

Lub Circuit Court: * LCD RS pin rau digital pin 12 * LCD Enable pin to digital pin 11 * LCD D4 pin to digital pin 5 * LCD D5 pin to digital pin 4 * LCD D6 pin to digital pin 3 * LCD D7 pin to digital pin 2 * LCD R/W tus pin rau hauv av * LCD VSS tus pin rau hauv av * LCD VCC tus pin rau 5V * 10K resistor: * xaus rau +5V thiab hauv av * wiper rau LCD VO tus pin (tus pin 3)

Lub tsev qiv ntawv tau ntxiv 18 Plaub Hlis 2008 los ntawm David A. Mellis lub tsev qiv ntawv hloov kho 5 Lub Xya Hli 2009 los ntawm Limor Fried (https://www.ladyada.net) piv txwv ntxiv 9 Lub Xya Hli 2009 los ntawm Tom Igoe hloov kho 22 Kaum Ib Hlis 2010 los ntawm Tom Igoe

Tus lej piv txwv no nyob hauv zej tsoom.

www.arduino.cc/en/Tutorial/LiquidCrystal *

/ suav nrog lub tsev qiv ntawv code: #include #include #include

// pib lub tsev qiv ntawv nrog tus lej ntawm tus lej sib cuam tshuam LiquidCrystal lcd (12, 11, 5, 4, 3, 2); SFE_BMP180 siab;

ob chav PresionBase;

ob chav Presion = 0; ob npaug Altura = 0; ob chav Kub = 0; xwm txheej xwm txheej;

void teeb () {// teeb tsa LCD tus lej ntawm kab thiab kab: lcd.begin (16, 2); Serial.begin (9600); SensorStart (); }

void loop () {// teeb tus cursor rau kab 0, kab 1 // (nco tseg: kab 1 yog kab thib ob, txij li suav pib nrog 0): lcd.setCursor (0, 1); // luam tus naj npawb ntawm vib nas this txij thaum rov pib dua: ReadSensor (); // Se imprimen las variables

lcd.print ("Kub:"); lcd.print (Kub Kub); lcd.println ("grados C"); lcd.print ("Thawj:"); lcd.print (Presion); lcd.println ("milibares"); ncua (1000); } void SensorStart () {// Secuencia de inicio del sensor yog (pressure.begin ()) Serial.println ("BMP180 init ua tau zoo"); lwm {Serial.println ("BMP180 init tsis ua tiav (txuas?) n / n"); thaum (1); } // Se inicia la lectura de temperatura xwm txheej = pressure.startTemperature (); yog (xwm txheej! = 0) {ncua sijhawm (xwm txheej); // Se lee una temperatura inicial status = pressure.getTemperature (Kub Kub); yog (xwm txheej! = 0) {// Se inicia la lectura de presiones status = pressure.startPressure (3); yog (xwm txheej! = 0) {ncua sijhawm (xwm txheej); // Se lee la presión inicial incidente sobre el sensor en la primera ejecución status = pressure.getPressure (PresionBase, Temperatura); }}}} void ReadSensor () {// En este método se hacen las lecturas de presión y temperatura y se calcula la altura // Se inicia la lectura de temperatura status = pressure.startTemperature (); yog (xwm txheej! = 0) {ncua sijhawm (xwm txheej); // Se realiza la lectura de temperatura status = pressure.getTemperature (Kub); yog (xwm txheej! = 0) {// Se inicia la lectura de presión status = pressure.startPressure (3); yog (xwm txheej! = 0) {ncua sijhawm (xwm txheej); // Se lleva a cabo la lectura de presión, // considerando la temperatura que afecta el desempeño del sensor xwm txheej = pressure.getPressure (Presion, Temperatura); yog (xwm txheej! = 0) {// Se hace el cálculo de la altura en base a la presión leída en el Setup} else Serial.println ("error en la lectura de presion / n"); } lwm Serial.println ("yuam kev iniciando la lectura de presion / n"); } lwm Serial.println ("yuam kev en la lectura de temperatura / n"); } lwm Serial.println ("yuam kev iniciando la lectura de temperatura / n"); }

este es el código del programa, pero instructables no lo deja poner como en realidad es porque quita los espacios que hay entre cada parte del código

Kauj ruam 4: Resultado

Resultado
Resultado

Thaum kawg, después de correr el programa y subirlo a Arduino le deberá aparecer lo siguiente en el LCD.

Pom zoo: