{"id":2535,"date":"2008-07-31T19:33:04","date_gmt":"2008-07-31T17:33:04","guid":{"rendered":"http:\/\/www.carballada.com\/?p=2535"},"modified":"2008-08-01T00:22:57","modified_gmt":"2008-07-31T22:22:57","slug":"temperatura-y-arduino","status":"publish","type":"post","link":"https:\/\/www.carballada.com\/wordpress\/2008\/07\/temperatura-y-arduino","title":{"rendered":"Temperatura y Arduino"},"content":{"rendered":"<p><a href=\"http:\/\/www.carballada.com\/wp-content\/uploads\/ds18b20v2.jpg\"><img loading=\"lazy\" class=\"alignleft size-thumbnail wp-image-2554\" title=\"ds18b20\" src=\"http:\/\/www.carballada.com\/wp-content\/uploads\/ds18b20v2-128x109.jpg\" alt=\"\" width=\"128\" height=\"109\" srcset=\"https:\/\/www.carballada.com\/wordpress\/wp-content\/uploads\/ds18b20v2-128x109.jpg 128w, https:\/\/www.carballada.com\/wordpress\/wp-content\/uploads\/ds18b20v2-300x257.jpg 300w, https:\/\/www.carballada.com\/wordpress\/wp-content\/uploads\/ds18b20v2.jpg 400w\" sizes=\"(max-width: 128px) 100vw, 128px\" \/><\/a>Sigo a\u00f1adiendo cosas y jugando con las posibilidades del <a title=\"arduino\" href=\"http:\/\/www.arduino.cc\/\">Arduino<\/a> que compr\u00e9 hace poco.<\/p>\n<p>Anteriormente ya he conseguido a\u00f1adir un<strong> reloj en tiempo real<\/strong>, para que sepa en que fecha vive, lo contaba en el art\u00edculo <a title=\"Permalink a 'Fecha, Hora y Arduino'\" rel=\"bookmark\" href=\"http:\/\/www.carballada.com\/2008\/07\/fecha-hora-y-arduino\">Fecha, Hora y Arduino<\/a>.<\/p>\n<p>Para medir temperaturas con un <em>microcontrolador <\/em>como el <strong>Atmel168<\/strong> lo primero que se te ocurre despu\u00e9s de buscar un poco por Internet es utilizar un <a title=\"termistor en wiki\" href=\"http:\/\/es.wikipedia.org\/wiki\/Termistor\">Termistor<\/a>, aunque <strong>no <\/strong>lo utilizar\u00e9.<\/p>\n<p>Un <a title=\"termistor en wiki\" href=\"http:\/\/es.wikipedia.org\/wiki\/Termistor\">Termistor<\/a> es una <em>resistencia <\/em>que var\u00eda su valor en funci\u00f3n de la <strong>temperatura <\/strong>a la que es sometida, esa <em>resistencia <\/em>se puede medir con una <strong>entrada anal\u00f3gica<\/strong> del <a title=\"arduino\" href=\"http:\/\/www.arduino.cc\/\">Arduino<\/a> y por tanto buscar una equivalencia en grados.<\/p>\n<p><!--more-->Hay un ejemplo muy <em>sencillito <\/em>en <a href=\"http:\/\/www.arduino.cc\/playground\/ComponentLib\/Thermistor\">arduino.cc<\/a> en el que se utiliza una <em>tabla de equivalencias<\/em>.<\/p>\n<p>Pero este m\u00e9todo es un m\u00e9todo <strong>anal\u00f3gico <\/strong>y dif\u00edcilmente puedes utilizar muchas sondas.<\/p>\n<p>Despu\u00e9s de jugar un tiempo empec\u00e9 a pensar en utilizar una lectura <strong>digital<\/strong>.<\/p>\n<p>Para obtener una <strong>lectura digital<\/strong> de temperatura encontr\u00e9 el integrado <strong>DS18B20<\/strong> de la gente de <strong>Dallas<\/strong>. (el <a class=\"urllink\" rel=\"nofollow\" href=\"http:\/\/datasheets.maxim-ic.com\/en\/ds\/DS18B20.pdf\">data sheet del DS18B20 aqu\u00ed<\/a>)<\/p>\n<p>El <strong>DS18B20 <\/strong>es otra maravilla de integrado, tiene un tama\u00f1o min\u00fasculo y solamente tres patas.<\/p>\n<p>No necesita alimentaci\u00f3n exclusiva, se puede alimentar en modo par\u00e1sito por la misma l\u00ednea de datos.<\/p>\n<p><a href=\"http:\/\/www.carballada.com\/wp-content\/uploads\/esquemas-hora-y-temp.jpg\"><img loading=\"lazy\" class=\"alignleft size-thumbnail wp-image-2555\" title=\"esquemas-hora-y-temp\" src=\"http:\/\/www.carballada.com\/wp-content\/uploads\/esquemas-hora-y-temp-128x72.jpg\" alt=\"\" width=\"128\" height=\"72\" srcset=\"https:\/\/www.carballada.com\/wordpress\/wp-content\/uploads\/esquemas-hora-y-temp-128x72.jpg 128w, https:\/\/www.carballada.com\/wordpress\/wp-content\/uploads\/esquemas-hora-y-temp-300x169.jpg 300w, https:\/\/www.carballada.com\/wordpress\/wp-content\/uploads\/esquemas-hora-y-temp.jpg 1280w\" sizes=\"(max-width: 128px) 100vw, 128px\" \/><\/a>Para comunicarse con el <a title=\"arduino\" href=\"http:\/\/www.arduino.cc\/\">Arduino<\/a> utiliza el protocolo <strong>1-wire<\/strong> utilizando una sola entrada digital de \u00e9ste (en mi caso la <strong>10<\/strong>) y se utiliza esa \u00fanica entrada para todas las sondas que quieras poner en l\u00ednea.<\/p>\n<p>Para alimentarlo en modo par\u00e1sito hay que hacer un <a title=\"pull-up en wiki\" href=\"http:\/\/en.wikipedia.org\/wiki\/Pull-up_resistor\">pull-up<\/a> de <em>4.7K<\/em> a <strong>5Vcc<\/strong> en esa misma entrada digital.<\/p>\n<p>Hay una librer\u00eda <em>adaptada <\/em>para su programaci\u00f3n en el IDE del <a title=\"arduino\" href=\"http:\/\/www.arduino.cc\/\">Arduino<\/a>.<\/p>\n<p>El c\u00f3digo de ejemplo est\u00e1 aqu\u00ed:<\/p>\n<p><a href=\"http:\/\/www.carballada.com\/wp-content\/uploads\/tempds18b20.zip\">temperatura ds18b20<\/a><\/p>\n<p>Es capaz de escanear todos los <em>integrados <\/em>de la l\u00ednea y preguntar por la temperatura de <strong>cada uno de ellos<\/strong> haciendo una salida por el <strong>serie<\/strong>.<\/p>\n<p>Compr\u00e9 cuatro <strong>DSB18B20 <\/strong>en <a title=\"ebay\" href=\"http:\/\/ebay.com\">ebay.com<\/a> por unos <strong>11\u20ac<\/strong> los cuatro con gastos incluidos. Eso es unos <strong>3\u20ac<\/strong> por micro.<\/p>\n<p>En cualquier caso, cuando me pueda hacer con un integrado <strong>DS1701 <\/strong>que utiliza el protocolo <a href=\"http:\/\/en.wikipedia.org\/wiki\/I%C2%B2C\">I2C<\/a> igual que el <a title=\"Permalink a 'Fecha, Hora y Arduino'\" rel=\"bookmark\" href=\"http:\/\/www.carballada.com\/2008\/07\/fecha-hora-y-arduino\">integrado del reloj<\/a> pero mide temperaturas, hago unas pruebas para no perder otra entrada digital.<\/p>\n<p>Mi <a title=\"arduino\" href=\"http:\/\/www.arduino.cc\/\">Arduino<\/a> ya tiene <strong>hora <\/strong>y ya sabe la <strong>temperatura<\/strong>, ahora tengo que pensar en manejar un m\u00ednimo de <em>ocho <\/em>aparatos el\u00e9ctricos.<\/p>\n<p><em>Me pongo<\/em> a ello, pronto m\u00e1s.<\/p>\n<p>Toda la info que he usado en el proyecto en:<\/p>\n<p><a href=\"http:\/\/www.arduino.cc\/playground\/ComponentLib\/Thermistor\">arduino.cc<\/a><br \/>\n<a href=\"http:\/\/www.phanderson.com\/arduino\/ds18b20_1.html\">phanderson.com<\/a><br \/>\n<a href=\"http:\/\/deadlylittlepills.com\/michael\/spring2008.php?page=ds18b20\">deadlylittlepills.com<\/a><br \/>\n<a href=\"http:\/\/www.arduino.cc\/playground\/Learning\/OneWire\">arduino.cc<\/a><br \/>\n<a href=\"http:\/\/www.oopic.com\/i2capp3.htm\">oopic.com<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sigo a\u00f1adiendo cosas y jugando con las posibilidades del Arduino que compr\u00e9 hace poco. Anteriormente ya he conseguido a\u00f1adir un reloj en tiempo real, para que sepa en que fecha vive, lo contaba en el art\u00edculo Fecha, Hora y Arduino. Para medir temperaturas con un microcontrolador como el Atmel168 lo primero que se te ocurre [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[10],"tags":[218,233],"geo":null,"_links":{"self":[{"href":"https:\/\/www.carballada.com\/wordpress\/wp-json\/wp\/v2\/posts\/2535"}],"collection":[{"href":"https:\/\/www.carballada.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.carballada.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.carballada.com\/wordpress\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.carballada.com\/wordpress\/wp-json\/wp\/v2\/comments?post=2535"}],"version-history":[{"count":0,"href":"https:\/\/www.carballada.com\/wordpress\/wp-json\/wp\/v2\/posts\/2535\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.carballada.com\/wordpress\/wp-json\/wp\/v2\/media?parent=2535"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.carballada.com\/wordpress\/wp-json\/wp\/v2\/categories?post=2535"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.carballada.com\/wordpress\/wp-json\/wp\/v2\/tags?post=2535"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}