{"id":621,"date":"2019-11-21T12:53:55","date_gmt":"2019-11-21T11:53:55","guid":{"rendered":"https:\/\/www.pinguytaz.net\/?p=621"},"modified":"2019-11-21T12:53:56","modified_gmt":"2019-11-21T11:53:56","slug":"termometro-arduino-display-3-4","status":"publish","type":"post","link":"https:\/\/www.pinguytaz.net\/index.php\/2019\/11\/21\/termometro-arduino-display-3-4\/","title":{"rendered":"Term\u00f3metro Arduino (Display) 3\/4"},"content":{"rendered":"\n<p>Llega el momento de hablar del elemento que nos permitir\u00e1 ver la temperatura, podr\u00edamos haber usado la consola pero la idea es independizarse del PC, y dentro de los diferentes interfaz de visualizaci\u00f3n:segmentos de led, barras de leds, LCDs, pantallas tactiles. Usaremos un LCD 20&#215;4 con conexi\u00f3n I2C.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignright size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/11\/image-13.png\" alt=\"\" class=\"wp-image-626\" width=\"227\" height=\"99\" srcset=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/11\/image-13.png 432w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/11\/image-13-300x131.png 300w\" sizes=\"auto, (max-width: 227px) 100vw, 227px\" \/><figcaption>LCD-I2C PCF8574<\/figcaption><\/figure><\/div>\n\n\n\n<p>La conexi\u00f3n del LCD podr\u00eda realizarse directamente al Bus de 16 hilos o a\u00f1adiendo un interfaz LCD-I2c (PCF8574) que nos permite una comunicaci\u00f3n de 2 Hilos (ademas de la masa y lo 5V) y ademas en este BUS podr\u00edamos tener varios dispositivos hablando con esos dos Hilos, por eso sera el m\u00e9todo que utilizaremos.<\/p>\n\n\n\n<p>Se puede ver m\u00e1s informaci\u00f3n de los displays en el cuaderno t\u00e9cnico \u00ab<a href=\"https:\/\/github.com\/pinguytaz\/libros\/blob\/master\/Arduino\/Com_ExteriorHum.pdf\">comunicaci\u00f3n exterior<\/a>\u00bb <\/p>\n\n\n\n<p>La conexi\u00f3n es muy sencilla, la alimentaci\u00f3n a masa y +5V y el BUS (SDA y SCL) a las correspondientes patilla del arduino que en el UNO (es el que estamos utilizando) son A4 para SDA (Serial Data) y SCL (Reloj) en el A5 .<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><strong>OJO<\/strong> se trata de los pines Analogicos, por eso anteponemos la <strong>A<\/strong><\/p><\/blockquote>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/11\/image-12.png\" alt=\"\" class=\"wp-image-625\" width=\"442\" height=\"260\" srcset=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/11\/image-12.png 822w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/11\/image-12-300x177.png 300w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/11\/image-12-768x453.png 768w\" sizes=\"auto, (max-width: 442px) 100vw, 442px\" \/><\/figure><\/div>\n\n\n\n<p>La programaci\u00f3n es muy sencilla, lo primero que hacemos es crear el objeto e inicializar el display, indicando que se active la retroiluminaci\u00f3n.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;Wire.h>\n#include &lt;LiquidCrystal_I2C.h>\n\nLiquidCrystal_I2C lcd(0x27,20,4); \/\/ Poner la direcci\u00f3n localizada con el scaner I2C \n\nlcd.backlight(); \/\/Activar la retroiluminaci\u00f3n.\nlcd.init();   \/\/ Iniciar el LCD para trabajar<\/code><\/pre>\n\n\n\n<p>Es interesante conocer la direcci\u00f3n del display, dispositivo I2C, que normalmente es 0x3F o como es nuestro caso 0x27, pero tambi\u00e9n podemos localizarla con el programa <a href=\"https:\/\/github.com\/pinguytaz\/Arduino\/blob\/master\/Temperatura\/Preparaci%C3%B3n\/Display\/Test_I2C\/Test_I2C.ino\">Scanner-I2C<\/a> que nos dara la direcci\u00f3n de todos los dispositivos I2C que se encuentren el el BUS.<\/p>\n\n\n\n<p>Teniendo en cuenta que el cursos se inicia en 0,0 y se posicionando seg\u00fan escribamos en la siguiente posici\u00f3n o en la posici\u00f3n que le indiquemos. Las funciones b\u00e1sicas y que m\u00e1s utilizaremos son:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>clear()<\/strong>: Para limpiar la pantalla.<\/li><li><strong>print(TEXTO)<\/strong>: imprime el texto y reposiciona cursos.<\/li><li><strong>setCursos(columna, fila)<\/strong>: Posiciona el cursor.<\/li><\/ul>\n\n\n\n<p>Si se desea obtener todo el potencial del DISPLAY, se puede acceder a las especificaciones, nuestro caso <a href=\"http:\/\/www.site2241.net\/lcm1602c\/HD44780.pdf\">HD44780<\/a>, y programarlo directamente con sus comandos pero el uso de librer\u00edas sino queremos alguna opci\u00f3n que no tenga la librer\u00eda nos facilita mucho las cosas.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Ejemplo<\/h4>\n\n\n\n<p>El ejemplo, esquema descrito arriba, es muy sencillo sondea el valor del potenciometro y lo escribe en la pantalla.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;Wire.h>\n\/\/#include &lt;LiquidCrystal_PCF8574.h>\n#include &lt;LiquidCrystal_I2C.h>\n\nLiquidCrystal_I2C lcd(0x27,20,4); \/\/ Poner la direcci\u00f3n localizada con el scaner I2C \n\nvoid setup() \n{\n  lcd.backlight(); \/\/ Ponemos luz trasera\n  lcd.init();\n}\n\nvoid loop() \n{\n  lcd.clear();\n  lcd.print(\" www.pinguytaz.net\");\n  lcd.setCursor(0, 2); \/\/ Ponemos el cursos en la linea 1\n  lcd.print(\"Display: \");\n  lcd.setCursor(9, 2); \n\n  lcd.print((millis()\/1000)); \/\/ Segundos desde el reset.\n  lcd.print(\" seg.\");\n\n  lcd.setCursor(0, 3); \n  lcd.print(\"Potenciometro: \");\n  lcd.print(analogRead(A0));\n  delay(1500);\n}<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"360\" style=\"aspect-ratio: 640 \/ 360;\" width=\"640\" controls src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2019\/11\/video_2019-11-21_00-15-05.mp4\"><\/video><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Llega el momento de hablar del elemento que nos permitir\u00e1 ver la temperatura, podr\u00edamos haber usado la consola pero la idea es independizarse del PC, y dentro de los diferentes interfaz de visualizaci\u00f3n:segmentos de led, barras de leds, LCDs, pantallas tactiles. Usaremos un LCD 20&#215;4 con conexi\u00f3n I2C. La conexi\u00f3n del LCD podr\u00eda realizarse directamente [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":636,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-container-style":"default","site-container-layout":"default","site-sidebar-layout":"default","disable-article-header":"default","disable-site-header":"default","disable-site-footer":"default","disable-content-area-spacing":"default","footnotes":""},"categories":[3],"tags":[129,127,126,128],"class_list":["post-621","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","tag-hd44780","tag-i2c","tag-lcd","tag-pcf8574"],"_links":{"self":[{"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/posts\/621","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/comments?post=621"}],"version-history":[{"count":8,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/posts\/621\/revisions"}],"predecessor-version":[{"id":638,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/posts\/621\/revisions\/638"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/media\/636"}],"wp:attachment":[{"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/media?parent=621"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/categories?post=621"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/tags?post=621"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}