{"id":215,"date":"2020-02-18T11:49:06","date_gmt":"2020-02-18T10:49:06","guid":{"rendered":"http:\/\/blog.e-ika.com\/?p=215"},"modified":"2020-03-01T13:52:10","modified_gmt":"2020-03-01T12:52:10","slug":"bmp280-sensor-de-presion-atmosferica","status":"publish","type":"post","link":"https:\/\/www.turibot.es\/blog\/index.php\/2020\/02\/18\/bmp280-sensor-de-presion-atmosferica\/","title":{"rendered":"BMP280. Sensor de presi\u00f3n atmosf\u00e9rica"},"content":{"rendered":"\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\" style=\"grid-template-columns:40% auto\"><figure class=\"wp-block-media-text__media\"><img decoding=\"async\" loading=\"lazy\" width=\"470\" height=\"340\" src=\"http:\/\/blog.e-ika.com\/wp-content\/uploads\/2020\/02\/BMP280.png\" alt=\"BMP280. Sensor de presi\u00f3n atmosf\u00e9rica.\" class=\"wp-image-216\" srcset=\"https:\/\/www.turibot.es\/blog\/wp-content\/uploads\/2020\/02\/BMP280.png 470w, https:\/\/www.turibot.es\/blog\/wp-content\/uploads\/2020\/02\/BMP280-300x217.png 300w\" sizes=\"(max-width: 470px) 100vw, 470px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p>El BMP280 es un sensor que permite medir la presi\u00f3n barom\u00e9trica y la temperatura ambiente. As\u00ed mismo, dado que la altitud sobre el nivel del mar est\u00e1 relacionada con la presi\u00f3n, puede hacer estimaciones sobre la altitud local con una precisi\u00f3n de \u00b1 1m.<\/p>\n\n\n\n<p>Es el sucesor del conocido <strong><a href=\"https:\/\/cdn-shop.adafruit.com\/datasheets\/BST-BMP180-DS000-09.pdf\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"BMP180 (opens in a new tab)\">BMP180<\/a> <\/strong>al que mejora en prestaciones.<\/p>\n<\/div><\/div>\n\n\n\n<section class=\"wp-block-uagb-section uagb-section__wrap uagb-section__background-color uagb-block-929c39eb-1c53-4b8f-8d3d-2768e914c752\"><div class=\"uagb-section__overlay\"><\/div><div class=\"uagb-section__inner-wrap\">\n<h4 class=\"wp-block-heading\">Caracter\u00edsticas generales<\/h4>\n\n\n\n<ul><li>Rango de presi\u00f3n: 300 &#8211; 1100 hPa \u00b1 1hPa<\/li><li>Rango de temperatura: -40 &#8211; 85 \u00baC \u00b1 1,0 \u00baC<\/li><li>Nivel l\u00f3gico: 3,3V<\/li><li>Consumo: 2,7 \u00b5A<\/li><li>Comunicaci\u00f3n: I2C, SPI<\/li><\/ul>\n\n\n\n<p class=\"has-text-align-right\"><em>M\u00e1s informaci\u00f3n en el <a rel=\"noreferrer noopener\" aria-label=\"datasheet (opens in a new tab)\" href=\"http:\/\/blog.e-ika.com\/wp-content\/uploads\/2020\/02\/Datasheet_BMP280.pdf\" target=\"_blank\"><strong>datasheet<\/strong><\/a>.<\/em><\/p>\n<\/div><\/section>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Conexi\u00f3n<\/h3>\n\n\n\n<p>Dado que el BMP280 tiene un nivel l\u00f3gico de 3,3V no podemos conectarlo directamente al bus del Arduino, tendr\u00edamos que usar un <a href=\"https:\/\/www.e-ika.com\/convertidor-de-8-canales-33v-5v-txs0108e\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"adaptador de niveles (opens in a new tab)\"><strong>adaptador de niveles<\/strong><\/a>. No obstante, podemos usar un par de resistencias pull-up de 4,7K tal como sugiere Arduino Playground en <strong><a rel=\"noreferrer noopener\" aria-label=\"I2C bi-directional level shifter (se abre en una nueva pesta\u00f1a)\" href=\"https:\/\/playground.arduino.cc\/Main\/I2CBi-directionalLevelShifter\/\" target=\"_blank\">I<sup>2<\/sup>C bi-directional level shifter<\/a><\/strong>. As\u00ed podemos conectar un componente de l\u00f3gica 3,3V directamente al bus I2C de Arduino.<\/p>\n\n\n\n<section class=\"wp-block-uagb-section uagb-section__wrap uagb-section__background-undefined uagb-block-7df4f257-e0be-4888-b89e-b86649014685\"><div class=\"uagb-section__overlay\"><\/div><div class=\"uagb-section__inner-wrap\">\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Arduino<\/strong><\/td><td><strong>BMP280<\/strong><\/td><\/tr><tr><td>3,3V<\/td><td>VCC<\/td><\/tr><tr><td>GND<\/td><td>GND<\/td><\/tr><tr><td>A4<\/td><td>SDA<\/td><\/tr><tr><td>A5<\/td><td>SCL<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div><\/section>\n\n\n\n<div class=\"wp-block-group has-very-light-gray-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-flow\">\n<p class=\"has-background has-very-light-gray-background-color\">Adem\u00e1s de los pines de alimentaci\u00f3n <span class=\"su-label su-label-type-important\"><strong>VCC<\/strong><\/span> y <span class=\"su-label su-label-type-black\"><strong>GND<\/strong><\/span>, conectaremos el pin <span class=\"su-label su-label-type-success\"><strong>A4<\/strong><\/span> de Arduino al <span class=\"su-label su-label-type-success\"><strong>SDA<\/strong><\/span><strong> <\/strong>del sensor y el pin <span class=\"su-label su-label-type-warning\"><strong>A5<\/strong><\/span><strong> <\/strong>de Arduino al  <span class=\"su-label su-label-type-warning\"><strong>SCL<\/strong><\/span><strong> <\/strong>del sensor.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/blog.e-ika.com\/wp-content\/uploads\/2020\/02\/BMP280_conexion-I2C2.png\" alt=\"\" class=\"wp-image-275\" width=\"487\" height=\"286\" srcset=\"https:\/\/www.turibot.es\/blog\/wp-content\/uploads\/2020\/02\/BMP280_conexion-I2C2.png 901w, https:\/\/www.turibot.es\/blog\/wp-content\/uploads\/2020\/02\/BMP280_conexion-I2C2-300x176.png 300w, https:\/\/www.turibot.es\/blog\/wp-content\/uploads\/2020\/02\/BMP280_conexion-I2C2-768x452.png 768w\" sizes=\"(max-width: 487px) 100vw, 487px\" \/><\/figure><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-advanced-gutenberg-blocks-notice is-variation-info has-icon is-style-full\" data-type=\"info\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"><\/line><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"8\"><\/line><\/svg><p class=\"wp-block-advanced-gutenberg-blocks-notice__title\">IMPORTANTE<\/p><p class=\"wp-block-advanced-gutenberg-blocks-notice__content\"> Debemos tener en cuenta que el pin  <span class=\"su-label su-label-type-default\"><strong>SDO<\/strong><\/span>  del sensor nos permite especificar la direcci\u00f3n I2C que queremos usar en funci\u00f3n de si lo conectamos a  <span class=\"su-label su-label-type-black\"><strong>GND<\/strong><\/span>  o a  <span class=\"su-label su-label-type-important\"><strong>3,3V<\/strong><\/span>. <br\/><span class=\"su-label su-label-type-default\"><strong>SDO<\/strong><\/span><code> = <\/code><span class=\"su-label su-label-type-black\"><strong>GND<\/strong><\/span><code>. Direcci\u00f3n I2C 0x76 <\/code><br\/><span class=\"su-label su-label-type-default\"><strong>SDO<\/strong><\/span><code> = <\/code><span class=\"su-label su-label-type-important\"><strong>3,3V<\/strong><\/span><code>. Direcci\u00f3n I2C 0x77 <\/code> <\/p><\/div>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">C\u00f3digo Arduino<\/h3>\n\n\n\n<p>Para hacer las lecturas del sensor podemos usar la librer\u00eda <a rel=\"noreferrer noopener\" aria-label=\"Adafruit_BMP280_Library (se abre en una nueva pesta\u00f1a)\" href=\"https:\/\/github.com\/adafruit\/Adafruit_BMP280_Library\" target=\"_blank\"><strong>Adafruit_BMP280_Library<\/strong><\/a> desarrollada por Adafruit. En esta librer\u00eda, la direcci\u00f3n por defecto I2C est\u00e1 definida en el archivo <code>Adafruit_BMP280.h<\/code>, en la instrucci\u00f3n <code>define BMP280_ADDRESS  (0x77)<\/code>.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: arduino; title: ; notranslate\" title=\"\">\n#include &lt;Adafruit_Sensor.h&gt;\n#include &quot;Adafruit_BMP280.h&quot;\n\nAdafruit_BMP280 bmp;\n\nfloat presion;\nfloat temperatura;\nint altitud;\n\nvoid setup() {\n   bmp.begin();\n}\n\nvoid loop() {\n   presion = bmp.readPressure()\/100;\n   temperatura = bmp.readTemperature();\n   altitud = bmp.readAltitude (1015); \/\/ Ajustar con el valor local\n    \n   delay(1000);\n}\n<\/pre><\/div>\n\n\n<div class=\"wp-block-advanced-gutenberg-blocks-notice is-variation-info has-icon is-style-full\" data-type=\"info\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"><\/line><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"8\"><\/line><\/svg><p class=\"wp-block-advanced-gutenberg-blocks-notice__title\">NOTA<\/p><p class=\"wp-block-advanced-gutenberg-blocks-notice__content\">El c\u00e1lculo de la altitud se hace mediante una estimaci\u00f3n. Para que esta estimaci\u00f3n sea fiable, en la instrucci\u00f3n <code>bmp.readAltitude()<\/code> tenemos que pasar la presi\u00f3n atmosf\u00e9rica a nivel del mar que se usa como referencia. Esto es un poco desconcertante ya que esta presi\u00f3n variar\u00e1 de un momento a otro, tendr\u00edamos que tener un sensor de presi\u00f3n situado a nivel del mar que nos enviara la presi\u00f3n de referencia.<\/p><\/div>\n\n\n<div class=\"e-pnt-maindiv\">\r\n<a href=\"https:\/\/www.e-ika.com\/modulo-bmp280-para-medir-la-presion-barometrica\" target=\"_blanc\">\r\n<table class=\"e-pnt-maintable\">\r\n\t<tr class=\"e-pnt-tr\">\r\n\t\t<td style=\"width:70px; border: none;\">\r\n\t\t\t<img decoding=\"async\" src=\"https:\/\/blog.e-ika.com\/wp-content\/uploads\/2020\/02\/logo-e-ika.png\" style=\"width:60px;\">\r\n\t\t<\/td>\r\n\t\t<td style=\"text-align: left; border: none;\">\r\n\t\t\t<p style=\"margin-bottom: 0; font-weight: bold; font-size: 20px\">Producto en nuestra tienda<\/p>\r\n\t\t\t<h3 style=\"color: darkblue; border: none; padding: 0\">Modulo BMP280 para medir la presi\u00f3n barom\u00e9trica<\/h3>\r\n\t\t<\/td>\r\n\t<\/tr>\r\n\t<tr class=\"e-pnt-tr\">\r\n\t\t<td colspan=\"2\" style=\"text-align: left; border: none;\">\r\n\t\t\t<p>El BMP280 es el sucesor del BMP180 con mayor precisi\u00f3n en las medidas. Soporta I2C y SPI. Viene calibrado de f\u00e1brica.<\/p>\n\t\t<\/td>\r\n\t<\/tr>\r\n<\/table>\r\n<\/a>\r\n\r\n<\/div>","protected":false},"excerpt":{"rendered":"<p>El BMP280 es un sensor que permite medir la presi\u00f3n barom\u00e9trica y la temperatura ambiente. As\u00ed mismo, dado que la altitud sobre el nivel del mar est\u00e1 relacionada con la presi\u00f3n, puede hacer estimaciones&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":231,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":""},"categories":[2,5],"tags":[],"uagb_featured_image_src":{"full":["https:\/\/www.turibot.es\/blog\/wp-content\/uploads\/2020\/02\/GY-BMP280-300x270-1.png",300,270,false],"thumbnail":["https:\/\/www.turibot.es\/blog\/wp-content\/uploads\/2020\/02\/GY-BMP280-300x270-1-150x150.png",150,150,true],"medium":["https:\/\/www.turibot.es\/blog\/wp-content\/uploads\/2020\/02\/GY-BMP280-300x270-1.png",300,270,false],"medium_large":["https:\/\/www.turibot.es\/blog\/wp-content\/uploads\/2020\/02\/GY-BMP280-300x270-1.png",300,270,false],"large":["https:\/\/www.turibot.es\/blog\/wp-content\/uploads\/2020\/02\/GY-BMP280-300x270-1.png",300,270,false],"1536x1536":["https:\/\/www.turibot.es\/blog\/wp-content\/uploads\/2020\/02\/GY-BMP280-300x270-1.png",300,270,false],"2048x2048":["https:\/\/www.turibot.es\/blog\/wp-content\/uploads\/2020\/02\/GY-BMP280-300x270-1.png",300,270,false],"thumb-small":["https:\/\/www.turibot.es\/blog\/wp-content\/uploads\/2020\/02\/GY-BMP280-300x270-1-160x160.png",160,160,true],"thumb-standard":["https:\/\/www.turibot.es\/blog\/wp-content\/uploads\/2020\/02\/GY-BMP280-300x270-1.png",300,270,false],"thumb-medium":["https:\/\/www.turibot.es\/blog\/wp-content\/uploads\/2020\/02\/GY-BMP280-300x270-1-300x245.png",300,245,true],"thumb-large":["https:\/\/www.turibot.es\/blog\/wp-content\/uploads\/2020\/02\/GY-BMP280-300x270-1.png",300,270,false],"thumb-xlarge":["https:\/\/www.turibot.es\/blog\/wp-content\/uploads\/2020\/02\/GY-BMP280-300x270-1.png",300,270,false],"thumb-xxlarge":["https:\/\/www.turibot.es\/blog\/wp-content\/uploads\/2020\/02\/GY-BMP280-300x270-1.png",300,270,false]},"uagb_author_info":{"display_name":"Vicente Gras","author_link":"https:\/\/www.turibot.es\/blog\/index.php\/author\/vicen\/"},"uagb_comment_info":1,"uagb_excerpt":"El BMP280 es un sensor que permite medir la presi\u00f3n barom\u00e9trica y la temperatura ambiente. As\u00ed mismo, dado que la altitud sobre el nivel del mar est\u00e1 relacionada con la presi\u00f3n, puede hacer estimaciones&#46;&#46;&#46;","_links":{"self":[{"href":"https:\/\/www.turibot.es\/blog\/index.php\/wp-json\/wp\/v2\/posts\/215"}],"collection":[{"href":"https:\/\/www.turibot.es\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.turibot.es\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.turibot.es\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.turibot.es\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=215"}],"version-history":[{"count":38,"href":"https:\/\/www.turibot.es\/blog\/index.php\/wp-json\/wp\/v2\/posts\/215\/revisions"}],"predecessor-version":[{"id":669,"href":"https:\/\/www.turibot.es\/blog\/index.php\/wp-json\/wp\/v2\/posts\/215\/revisions\/669"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.turibot.es\/blog\/index.php\/wp-json\/wp\/v2\/media\/231"}],"wp:attachment":[{"href":"https:\/\/www.turibot.es\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=215"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.turibot.es\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=215"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.turibot.es\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=215"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}