{"id":2900,"date":"2015-04-14T16:02:38","date_gmt":"2015-04-14T14:02:38","guid":{"rendered":"http:\/\/www.diarioelectronicohoy.com\/blog\/?p=2900"},"modified":"2019-06-13T19:02:10","modified_gmt":"2019-06-13T17:02:10","slug":"termometro-con-lm35-y-lcd-3310","status":"publish","type":"post","link":"https:\/\/www.diarioelectronicohoy.com\/blog\/termometro-con-lm35-y-lcd-3310","title":{"rendered":"Term\u00f3metro con LM35 y LCD 3310"},"content":{"rendered":"<h3><span style=\"color: #000080;\">Introducci\u00f3n.<\/span><\/h3>\n<p style=\"text-align: justify;\">En este art\u00edculo volvemos a sumergirnos una vez m\u00e1s, en este mundo que nos brindan las pantallas gr\u00e1ficas LCD. Un proyecto que utiliza un LCD gr\u00e1fico le da realmente una buen aspecto y la flexibilidad de mostrar caracteres y formas diferentes. Estas pantallas LCD, difieren bastante de las t\u00edpicas LCD de cristal l\u00edquido de 16&#215;2, 20&#215;4 o similares, con la librer\u00eda LiquidCrystal, las cuales necesitan un m\u00ednimo de 6 pines o registros para su control, si no utilizamos el el controlador serie bus I2C, con lo que sensiblemente se encarece.<\/p>\n<p style=\"text-align: justify;\">El LCD Nokia 3310 proporciona una gratificante soluci\u00f3n en su proyecto, a muy bajo costo, por a\u00f1adir una peque\u00f1a pantalla gr\u00e1fica y tambi\u00e9n es bueno para el prop\u00f3sito de aprendizaje. Pocos elementos pueden dar un mejor aspecto e interacci\u00f3n a nuestros proyectos DIY que una pantalla que cumple con su cometido, elegiremos entre distintos tipos de pantallas: LCD de caracteres, LCD monocrom\u00e1ticos, gr\u00e1ficos a color, TFT, TFT t\u00e1ctil, etc. La pantalla LCD, como venimos comentando en estos tutoriales, es compatible con el bus SPI, ahorrando muchos pines del micro, para otros usos, el \u00fanico inconveniente manifiesto es que funciona a 3.3V.<!--more--><\/p>\n<p style=\"text-align: justify;\">Es cierto que, se trata de un viejo y antiguo modelo de pantalla LCD que, presenta un p\u00e9simo conector a la placa de cristal y as\u00ed mismo, podemos tener dificultad para hacer unas conexiones a los 8 pines de entrada del LCD. Sin embargo, ofrece una interface muy simple que nos permite controlar m\u00e1s de 4.000 p\u00edxeles (84&#215;48) a un bajo precio, naturalmente ser\u00e1n menos los problemas si se adquiere la pantalla LCD en un comercio especializado, esto no garantiza la capacidad de p\u00edxeles que muestre, como si puede tener un LCD recuperado de un viejo m\u00f3vil, ese ha sido testado y aprobado por una empresa que ofrece garant\u00edas (o deber\u00eda decir que, ofreci\u00f3 garant\u00edas al poner en venta dicho dispositivo).<\/p>\n<p style=\"text-align: justify;\">Seg\u00fan el fabricante, el PCD8544 es un controlador CMOS de bajo consumo, dise\u00f1ado para manejar una pantalla LCD gr\u00e1fica de 48 filas y 84 columnas. Todas las funciones necesarias para la pantalla son proporcionadas en un solo chip, incluyendo la generaci\u00f3n de suministro on-chip de LCD y tensiones de polarizaci\u00f3n, lo que resulta en un m\u00ednimo de componentes externos y bajo consumo de energ\u00eda. La pantalla, realmente es de muy bajo consumo, por lo que la convierte en una pantalla ideal para proyectos alimentados a bater\u00edas o pilas. El PCD8544 se comunica con los microcontroladores a trav\u00e9s de un interface de bus serie SPI.<\/p>\n<p style=\"text-align: justify;\">Algunas cosas buenas que presenta el LCD recuperado funcionar\u00e1 (siempre que funcione), el rango l\u00f3gico de voltaje suministro VDD a VSS: 2.7 a 3.3 V, puede operar tanto a 2MHz como a altas velocidades, de hecho el LCD, con esa tensi\u00f3n, puede funcionar, pero el contraste se resiente y r\u00e1pidamente se desvanece y probablemente los l\u00edmites l\u00f3gicos del propio microcontrolador.<\/p>\n<p style=\"text-align: justify;\">Sin embargo, a estas alturas, despu\u00e9s de haber seguido los dos anteriores t\u00edtulos, LCD gr\u00e1ficos y Pantallas LCD. Considero un buen momento para abordar una aplicaci\u00f3n m\u00e1s concreta. Por cierto, lo que se describe con referencia a los Nokia3310, sirve perfectamente para los Nokia5110, ya que normalmente vienen equipados con el mismo controlador PCD8544.<\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/fuente-multiple\/lcd5110-x\" rel=\"attachment wp-att-2502\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2502 size-thumbnail\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2013\/12\/lcd5110-x-150x150.jpg\" alt=\"lcd5110-x\" width=\"150\" height=\"150\" \/><\/a><\/p>\n<h3 style=\"text-align: justify;\"><span style=\"color: #000080;\">CARACTER\u00cdSTICAS DEL PCD8544.<\/span><\/h3>\n<p style=\"text-align: justify;\">Como se ha mencionado antes, la pantalla, se comunica mediante el bus SPI, t\u00e9ngase en cuenta que, en un Arduino UNO, este bus, est\u00e1 compuesto por los pines 10, 11, 12 y 13 si empleamos la librer\u00eda original de Arduino. Para que podamos seleccionar los pines a nuestras necesidades mediante software, deberemos utilizar una librer\u00eda externa a Arduino.<\/p>\n<p style=\"text-align: justify;\">S\u00f3lo de pasada, creo que para entender en parte c\u00f3mo funciona la pantalla, ya he dicho que la pantalla es de 84 pixeles de ancho por 48 pixeles de alto, lo que significa que funciona con 84 bits de ancho por 48 bits de alto. Teniendo en cuenta que, un car\u00e1cter tiene 8 p\u00edxeles de alto por 6 bits de ancho, la altura de 48 bits, nos permite 6 l\u00edneas de alto y 14 caracteres de ancho.<\/p>\n<p style=\"text-align: justify;\">Resumiendo, el direccionamiento de la pantalla se realiza de esta forma: 6 bytes de alto por 84 bits de ancho, y en sentido anti-reloj, vea el gr\u00e1fico. Si usted est\u00e1 interesado en conocer m\u00e1s detalles sobre esta pantalla, le recomiendo que lea las hojas del fabricante. Quiz\u00e1s la siguiente imagen del gr\u00e1fico, aclare mejor este comentario.<\/p>\n<p style=\"text-align: justify;\">\u00a0<a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/termometro-con-lm35-y-lcd-3310\/estructuradatos_sec\" rel=\"attachment wp-att-2904\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-2904\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2015\/04\/estructuradatos_sec-300x136.gif\" alt=\"estructuradatos_sec\" width=\"300\" height=\"136\" \/><\/a>Veamos las caracter\u00edsticas b\u00e1sicas a tener en cuenta, de este controlador de LCD, que suelen utilizar los celulares de Nokia3310 y 5110. T\u00e9cnicamente los m\u00e1ximos absolutos de la controladora PCD8544 pueden manejar niveles l\u00f3gicos de 5V, sin embargo, la duraci\u00f3n de la vida del dispositivo se ver\u00e1 r\u00e1pidamente agotado por este motivo. Motivo por el cual recomiendo limitarse a los datos siguientes:<\/p>\n<pre style=\"text-align: justify;\">CARACTER\u00cdSTICAS.\r\n\u00b7 Simple chip controlador\/driver de LCD\r\n\u00b7 48 filas, 84 salidas de columnas\r\n\u00b7 RAM de datos Pantalla 48 x 84 bits\r\n\u00b7 En el chip:\r\nGeneraci\u00f3n de tensi\u00f3n de alimentaci\u00f3n LCD (alimentaci\u00f3n externa Tambi\u00e9n es posible)\r\n- Generaci\u00f3n de tensiones de polarizaci\u00f3n intermedios LCD\r\n- Oscilador no requiere componentes externos (externos reloj tambi\u00e9n es posible).\r\n\u00b7 RES externo (reset) pin de entrada\r\n\u00b7 interfaz Serial M\u00e1xima 4,0 Mbits \/ s\r\n\u00b7 Entradas compatibles CMOS\r\n\u00b7 Tasa de Mux: 48\r\n\u00b7 L\u00f3gica rango de tensi\u00f3n de alimentaci\u00f3n VDD a VSS: 2.7 a 3.3 V\r\n\u00b7 Visualizaci\u00f3n rango de tensi\u00f3n de alimentaci\u00f3n VLCD a VSS\r\n- 6,0-8,5 V con tensi\u00f3n LCD generados internamente (generador de tensi\u00f3n habilitada)\r\n- 6,0-9,0 V con tensi\u00f3n de alimentaci\u00f3n externa LCD (generador de tensi\u00f3n desconectada).\r\n\u00b7 Bajo consumo de energ\u00eda, adecuado para pilas sistemas\r\n\u00b7 Compensaci\u00f3n de temperatura de VLCD\r\n\u00b7 Rango de temperatura: -25 a +70 \u00b0 C.<\/pre>\n<p style=\"text-align: justify;\">\u00a0Una de las cosas m\u00e1s b\u00e1sicas que podemos hacer con esta pantalla LCD, es mostrar texto en ella. La biblioteca hace que esto sea muy f\u00e1cil, pero hay algunas cosas que usted debe tener en cuenta sobre c\u00f3mo se hace. La pantalla se divide en 6 l\u00edneas de texto. Cada l\u00ednea es de 8 p\u00edxeles de alto y 84 p\u00edxeles de ancho. Usted puede cambiar el texto a la izquierda y la derecha sobre los 84 p\u00edxeles de la pantalla, sin embargo, cada cambio de arriba abajo, saltar\u00e1 una l\u00ednea de texto.<\/p>\n<p>T\u00e9ngase en cuenta que, dado que estas pantallas son monocrom\u00e1ticas, s\u00f3lo admiten dos colores: negro o blanco. Un punto mostrado es NEGRO y para borrar un p\u00edxel es puesto a BLANCO. Aclarados estos puntos, seguimos con nuestro proyecto.<\/p>\n<h3><span style=\"color: #000080;\">TERM\u00d3METRO CON EL LM35.<\/span><\/h3>\n<p style=\"text-align: justify;\">Para realizar nuestro term\u00f3metro, adem\u00e1s de una pantalla (LCD3310\/5110), necesitamos un microcontrolador (p.ej. Arduino) y lo m\u00e1s importante, un sensor que sea capaz de convertir en tensi\u00f3n, los cambios que se registren en la temperatura ambiente. Encontraremos disponibles, distintos sensores (sensores pasivos; diodo 1N4148, PTC, NTC y sensores activos; LM35, DS18B20, LM385B-2.5, etc.). Seg\u00fan el sensor que elijamos, deberemos conocer sus caracter\u00edsticas y adaptar los par\u00e1metros a ese sensor, de \u00e9l dependen, el margen de temperaturas a registrar y la exactitud de los resultados.<\/p>\n<table>\n<tbody>\n<tr>\n<td><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-2908\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2015\/04\/ntc.jpg\" alt=\"ntc\" width=\"120\" height=\"63\" \/><\/td>\n<td><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-2907\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2015\/04\/lm35-300x238.jpg\" alt=\"lm35\" width=\"164\" height=\"130\" srcset=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2015\/04\/lm35-300x238.jpg 300w, https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2015\/04\/lm35.jpg 388w\" sizes=\"auto, (max-width: 164px) 100vw, 164px\" \/><\/td>\n<td><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-2906\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2015\/04\/ds18b20-.jpg\" alt=\"ds18b20-\" width=\"128\" height=\"128\" srcset=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2015\/04\/ds18b20-.jpg 188w, https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2015\/04\/ds18b20--150x150.jpg 150w\" sizes=\"auto, (max-width: 128px) 100vw, 128px\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"text-align: justify;\">En esta ocasi\u00f3n utilizaremos un sensor anal\u00f3gico pasivo, en otras palabras una NTC que es una resistencia que depende de la temperatura. Seg\u00fan las notas del fabricante, el LM35 es un sensor de temperatura en cent\u00edgrados de precisi\u00f3n que (puede descargar de aqu\u00ed), son circuitos integrados de precisi\u00f3n, sensores de temperatura, cuya tensi\u00f3n de salida, es linealmente proporcional a la temperatura Celsius (cent\u00edgrados). El LM35 por lo tanto tiene una ventaja sobre los sensores de temperatura lineales calibradas en \u00b0 Kelvin. El LM35 no requiere ninguna calibraci\u00f3n externa o el recorte para proporcionar precisiones t\u00edpicas de \u00b1 1\/4 \u00b0C a temperatura ambiente y \u00b1 3\/4 \u00b0C durante un gama completa -55-150 temperatura \u00b0C.<\/p>\n<p style=\"text-align: justify;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-2910\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2015\/04\/simbolo_lm35-300x155.jpg\" alt=\"simbolo_lm35\" width=\"300\" height=\"155\" srcset=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2015\/04\/simbolo_lm35-300x155.jpg 300w, https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2015\/04\/simbolo_lm35.jpg 400w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p style=\"text-align: justify;\">Un sencillo y econ\u00f3mico sensor que, podemos encontrar en el mercado es el NTC (56K) o incluso un LM35, como vemos en las im\u00e1genes anteriores. En un pr\u00f3ximo tutorial, abordaremos otro proyecto con un sensor digital, como es el DS18B20 de Dallas. El montaje correspondiente a nuestro proyecto, lo podemos ver en la imagen que sigue:<\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/termometro-con-lm35-y-lcd-3310\/termometrolm35\" rel=\"attachment wp-att-2912\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-2912\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2015\/04\/termometrolm35-300x215.jpg\" alt=\"termometrolm35\" width=\"300\" height=\"215\" srcset=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2015\/04\/termometrolm35-300x215.jpg 300w, https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2015\/04\/termometrolm35.jpg 401w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<pre>Veamos como se establecen las conexiones de la pantalla, con los pines de Arduino. \r\n  Por supuesto que los terminales de VCC (3,3V) y GND ya se supone est\u00e1n descritos por pasiva. \r\n  La entrada de reloj SCLK, es el pin por el que Arduino manda la se\u00f1al de reloj que permitir\u00e1 la comunicaci\u00f3n. \r\n  La entrada de datos DN a pantalla, tambi\u00e9n conocida por (MOSI, Master Out Slave IN) o DNI.\r\n  La entrada D\/C (Data \/ Command select).\r\n  La entrada de RST (reset).\r\n  La entrada CS (Chip Select) o SCE, tambi\u00e9n se conoce como SS (Slave Select) en comunicaci\u00f3n SPI.<\/pre>\n<p style=\"text-align: justify;\">\u00a0El c\u00f3digo que vamos a utilizar, para comprobar la eficacia de este sensor LM35 aplicado a la pantalla LCD 3310, que es la que tengo disponible en estos momentos, se puede ver a continuaci\u00f3n. Por cierto, las librer\u00edas que debe utilizar, las puede descargar, de las p\u00e1ginas Adafruit-PCD8544 y los gr\u00e1ficos Adafruit-GFX, se instalan como es habitual, en una sub-carptea, dentro de la carpeta \\libraries. Sigamos.<\/p>\n<p style=\"text-align: justify;\">La primera l\u00ednea de c\u00f3digo, asigna los pines de comunicaci\u00f3n SPI entre Arduino y la LCD, la he modificado para que se adapte a mi criterio, queda as\u00ed:<\/p>\n<pre>  \/\/ Arduino\r\n  \/\/ pin 3 - Serial clock out (SCLK)\r\n  \/\/ pin 4 - Serial data out (DIN)\r\n  \/\/ pin 5 - Data\/Command select (D\/C)\r\n  \/\/ pin 7 - LCD chip select (CS)\r\n  \/\/ pin 6 - LCD reset (RST)\r\n\r\n  Adafruit_PCD8544 display = Adafruit_PCD8544(3, 4, 5, 7, 6);<\/pre>\n<p style=\"text-align: justify;\">Veamos el c\u00f3digo:<\/p>\n<pre style=\"background-color: #f6f6f6; background-position: initial initial; background-repeat: initial initial; border: 1px dashed #cccccc; font-family: arial; font-size: 12px; height: 200px; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 96%;\">\/* ================================================================\r\ntermodigital.pde\r\n\r\nSketch de ejemplo de uso de la pantalla LCD grafica de 84x48 pixeles\r\ndisponible en Ardutienda.\r\n\r\nAutor: Antonio Moles.\r\nVersi\u00f3n: 0.2\r\nFecha: 22 de mayo de 2012\r\n\r\nDescripci\u00f3n: term\u00f3metro de ambiente con LM35D y pantalla LCD gr\u00e1fica\r\nde 84x48 pixeles\r\n================================================================= *\/ \r\n\r\n#include \"Adafruit_GFX.h\"\r\n#include \"Adafruit_PCD8544.h\"\r\n\r\n\/\/ pin 3 - Serial clock out (SCLK)\r\n\/\/ pin 4 - Serial data out (DIN)\r\n\/\/ pin 5 - Data\/Command select (D\/C)\r\n\/\/ pin 7 - LCD chip select (CS)\r\n\/\/ pin 6 - LCD reset (RST)\r\nAdafruit_PCD8544 display = Adafruit_PCD8544(3, 4, 5, 7, 6);\r\n\r\n\/\/Control temperatura\r\nint analogPin = 0; \/\/ Pin analogico 0 de Arduino\r\nfloat temperature = 0.0;\r\nint grados, decimas, gradR, deciR;\r\nint lm35read, tmedia;\r\nint val,cnt;\r\n\r\nvoid setup() { \r\n\/\/ Iniciamos comunicaci\u00f3n serie \r\n  Serial.begin(9600);\r\n\r\n\/\/ Iniciamos comunicaci\u00f3n con la pantalla\r\n  display.begin();\r\n\r\n\/\/ Establecemos el contraste\r\n  display.setContrast(45);\r\n\r\n\/\/ Mostramos la pantalla de inicio durante 2 segundos\r\n\/\/display.display();\r\n\/\/delay(2000);\r\n\/\/ borramos la pantalla\r\n  display.clearDisplay(); \r\n}\r\n\r\nvoid loop() {\r\n\/\/ inicializamos el valor de tmedia\r\n  tmedia=0;\r\n\r\n\/\/ medimos la temperatura 10 veces y la almacenamos en tmedia\r\nfor ( cnt=0; cnt&lt; 20; cnt++) {\r\n  lm35read = analogRead(analogPin);\r\n  tmedia=tmedia+lm35read;\r\n}\r\n\r\n\/\/ calculamos la media de las medidas\r\ntmedia=tmedia\/cnt; \r\n\r\n\/\/ convertimos tmedia en un valor en grados, pero\r\n\/\/ dadas las caracter\u00edsticas del sensor la precisi\u00f3n es de \r\n\/\/ 0.5 grados y los decimales son .4 o .9\r\ntemperature = (5.0 * float(tmedia) * 100.0)\/1024.0;\r\n\r\n\/\/ mapeamos el valor tmedia para que nos de\r\n\/\/ la temperatura en d\u00e9cimas de grado\r\nval = map(tmedia,0,1023,0,4990);\r\n\r\n\/\/ ahora los grados los obtenemos dividiendo por 10\r\ngrados=val\/10;\r\n\r\n\/\/ y las d\u00e9cimas de grado son el resto de la divisi\u00f3n\r\n\/\/ por 10\r\n decimas=val%10;\r\n\r\n\/\/ Redondeamos los decimales a 0 o a 5\r\nif (decimas&lt; 3) {   gradR=grados;   deciR=0; }  if ((decimas &gt; 2)&amp;(decimas&lt; 7)) { \r\n  gradR=grados;\r\n  deciR=5;\r\n}\r\n  else {\r\n  gradR=grados+1;\r\n  deciR=0;\r\n} \r\n\r\n\/\/ Sacamos los datos por el puerto serie \r\n   Serial.print(\"Lectura en bruto \");\r\n  Serial.print(lm35read);\r\n   Serial.print(\" temperatura sin redondear \");\r\n   Serial.print(temperature);\r\n   Serial.print(\"C \");\r\n   Serial.print(\"temperatura redondeada \");\r\n   Serial.print(grados);\r\n   Serial.print(\".\");\r\n   Serial.println(deciR);\r\n\r\n\/\/ Y por ultimo lo mandamos a la pantalla LCD\r\n   display.setTextSize(1); \/\/ el valor entre parentesis es tama\u00f1o de texto \r\n   display.println(\" \"); \r\n   display.println(\" Temperatura\"); \r\n   display.println(\" \");\r\n   display.print(\" \"); \r\n   display.setTextSize(2);  \/\/ el valor entre parentesis es tama\u00f1o de texto \r\n   display.print(gradR);\r\n   display.print(\",\");   display.print(deciR);\r\n   display.print(\" \"); \r\n   display.print(\"C\");\r\n   display.print(\" \");\r\n   display.display();\r\n   delay(10.0);\r\n   display.clearDisplay(); \r\n}<\/pre>\n<p style=\"text-align: justify;\">\u00a0<a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/termometro-con-lm35-y-lcd-3310\/termologico2\" rel=\"attachment wp-att-2914\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-2914\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2015\/04\/termologico2-300x225.jpg\" alt=\"termologico2\" width=\"300\" height=\"225\" srcset=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2015\/04\/termologico2-300x225.jpg 300w, https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2015\/04\/termologico2.jpg 440w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">En la foto, se aprecia como la sonda LM35, se acerca a un objeto fr\u00edo, a cero grados, con la ayuda de un l\u00e1piz para as\u00ed, bajar la temperatura de la sonda (estamos en verano). Un detalle que se pone de manifiesto es el ancho de la pantalla, tiene una barra vertical a la derecha y otra horizontal abajo, en negro. Esto tambi\u00e9n es pantalla grafica y no se est\u00e1 aprovechando, esto es una cuesti\u00f3n de librer\u00edas. As\u00ed que, m\u00e1s adelante, en otra ocasi\u00f3n mostrar\u00e9 los resultados de mis indagaciones sobre las distintas librer\u00edas que circulan de diferentes autores, a los que desde aqu\u00ed, hoy les muestro gratitud, por su colaboraci\u00f3n y dedicaci\u00f3n. \u00a1Gracias!<\/p>\n<p style=\"text-align: justify;\">Como siempre, seleccione el c\u00f3digo y gu\u00e1rdelo con un nombre representativo, con la extensi\u00f3n pde o ino, seg\u00fan su IDE de Arduino. Atr\u00e9vase, a poner en pr\u00e1ctica este term\u00f3metro digital y compruebe su eficacia. El c\u00f3digo, est\u00e1 bastante explicado y descriptivo. Sin embargo, es bueno conocer ciertas rutina del c\u00f3digo que, podemos encontrar en las librer\u00edas, har\u00e9 hincapi\u00e9 en alguna sub-rutina, para conocer que hace.<\/p>\n<p style=\"text-align: justify;\"><em><strong>display()<\/strong><\/em>, nos mostrar\u00e1 el logo que incluye Adafruit y que se puede apreciar en el v\u00eddeo.<\/p>\n<p style=\"text-align: justify;\"><em><strong>setCursor(int x, int y)<\/strong><\/em>, posiciona el cursor en la coordenada (x, y) para escribir texto o dibujar a continuaci\u00f3n.<\/p>\n<p style=\"text-align: justify;\"><em><strong>setPixel(int x,int y, color)<\/strong><\/em>, dibuja en pantalla, un \u00fanico p\u00edxel, en la posici\u00f3n x\/y, el color se refiere a encendido <strong>WHITE<\/strong> (negro) o apagado <strong>BLACK<\/strong> (claro).<\/p>\n<p style=\"text-align: justify;\"><em><strong>drawline(int x0, int y0, int x1, int y1, color)<\/strong><\/em>, esta sub-rutina, dibuja una l\u00ednea del punto (x0, y0) al punto (x1, y1) en cuanto al color, hace lo mismo que antes.<\/p>\n<p style=\"text-align: justify;\"><em><strong>drawcircle(int x, int y, int radio, color)<\/strong><\/em>, dibujar\u00e1 una circunferencia con el centro en (x, y), del radio y color especificados.<\/p>\n<p style=\"text-align: justify;\"><em><strong>fillcircle(int x, int y, int radio, color)<\/strong><\/em>, dibujar\u00e1 una circunferencia s\u00f3lida con el centro en (x, y), del radio y color especificados.<\/p>\n<p style=\"text-align: justify;\"><em><strong>drawrect(int x, int y, int ancho, int alto, color)<\/strong><\/em>, dibujar\u00e1 con una l\u00ednea, un rect\u00e1ngulo con una esquina en el punto (x, y) con el ancho, alto y color que le especifiquemos.<\/p>\n<p style=\"text-align: justify;\"><em><strong>fillrect(int x, int y, int ancho, int alto, int color)<\/strong><\/em>, dibuja un rect\u00e1ngulo s\u00f3lido o relleno, desde el punto (x, y) con el ancho, alto y color que le especifiquemos.<\/p>\n<p style=\"text-align: justify;\"><em><strong>drawbitmap(int x, int y, bitmap, int ancho, int alto, color)<\/strong><\/em>, dibuja un mapa de bits guardado en formato hexadecimal en el array bitmap; de ancho, alto y color especificados, a partir de la coordenada (x, y).<\/p>\n<p style=\"text-align: justify;\"><em><strong>for ( cnt=0; cnt&lt; 20; cnt++) {<br \/>\nlm35read = analogRead(analogPin);<br \/>\ntmedia=tmedia+lm35read;<br \/>\n}<\/strong><\/em><br \/>\nPor que este bucle <em>for<\/em>, la toma de datos de la sonda, se produce tan r\u00e1pido que su lectura se convierte en un problema, por ese motivo, es conveniente poner el bucle, con el cual se toman 10 o m\u00e1s muestras de las cuales se extrae una media y esa media es la que se muestra en pantalla.<\/p>\n<p style=\"text-align: justify;\">Estas son las sub-rutinas que considero m\u00e1s importantes y era preciso hacer alg\u00fan comentario que aclarase lo que hac\u00edan. Conviene revisar el c\u00f3digo, comprendiendo lo que ocurre en cada momento, esto har\u00e1 que nos familiaricemos con el c\u00f3digo y su desarrollo, facilit\u00e1ndonos un seguimiento de lo que ocurre y si hubiera un fallo o error, tendremos una idea de donde y cuando se produce, lo que ayudar\u00e1 a resolver el fallo, en el caso de ocurrir.<\/p>\n<h3 style=\"text-align: justify;\"><span style=\"color: #000080;\">\u00a0OTRO TERM\u00d3METRO.<\/span><\/h3>\n<p style=\"text-align: justify;\">En este ejemplo de term\u00f3metro digital, basado en el LM35, vamos a utilizar una librer\u00eda diferente, si bien, las librer\u00edas de Adafruit son muy completas, las podemos adaptar a nuestras necesidades. Por contra, las librer\u00edas compatibles, PCD8544 &#8211; Interface with Philips, de Carlos Rodrigues &lt;cefrodrigues@gmail.com&gt;, me parecen m\u00e1s compactas, en el sentido de que sus gr\u00e1ficos, tablas ASCII, etc., est\u00e1n contenidas en las mismas, siendo transparentes para el usuario, permitiendo una mejor presentaci\u00f3n del c\u00f3digo que est\u00e1 realizando. Veamos como se comporta este c\u00f3digo:<\/p>\n<h4 style=\"text-align: justify;\">\u00a0<span style=\"color: #000080;\">Term\u00f3metro digital con LM35 y LCD 3310.<\/span><\/h4>\n<p style=\"text-align: justify;\">Es el segundo de los term\u00f3metros de ejemplo que mostraremos con el LM35.<\/p>\n<pre style=\"background-color: #f6f6f6; background-position: initial initial; background-repeat: initial initial; border: 1px dashed #cccccc; font-family: arial; font-size: 12px; height: 200px; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 96%;\">\/*\r\n* Thermometerlm35.pde - read temperature using an LM35 sensor\r\n* and display it on a PCD8544 LCD.\r\n* Copyright (c) 2010 Carlos Rodrigues &lt;cefrodrigues@gmail.com&gt;\r\n*\r\n* Se concede permiso, de forma gratuita, a cualquier persona que obtenga\r\n* una copia de este software y archivos de documentaci\u00f3n asociados\r\n* (el \"Software\"), para tratar el Software sin restricci\u00f3n, incluyendo sin\r\n* limitaci\u00f3n, los derechos para usar, copiar , modificar, fusionar,\r\n* publicar, distribuir, sublicenciar y \/ o vender copias del Software, y\r\n* para permitir a las personas a las que el Software suministra a hacerlo,\r\n* con sujeci\u00f3n a las siguientes condiciones:\r\n* El aviso de copyright anterior y este aviso de permiso se incluir\u00e1n en\r\n* todas las copias o partes sustanciales del Software.\r\n*\r\n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\r\n* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\n* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\n* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT\r\n* OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR\r\n* THE USE OR OTHER DEALINGS IN &lt;THE SOFTWARE.br \/&gt;\r\n*\r\n* Modif. y adaptado by V. Garcia\r\n* Funciona OK 06\/07\/13 ver.0023\r\n*\/\r\n\r\n#include \"PCD8544.h\"\r\n\r\nint analogPin = 0;\r\nfloat temperature = 0.0;\r\nint grados, decimas, gradR, deciR;\r\nint lm35read, tmedia;\r\nint val,cnt;\r\n\r\nstatic const byte sensorPin = 0;\r\nstatic const byte ledPin = 13;\r\n\r\n\/\/ The dimensions of the LCD (in pixels)...\r\nstatic const byte LCD_WIDTH = 92;\r\nstatic const byte LCD_HEIGHT = 48;\r\n\r\n\/\/ The number of lines for the temperature chart...\r\nstatic const byte CHART_HEIGHT = 5;\r\n\r\n\/\/ A custom \"degrees\" symbol...\r\nstatic const byte DEGREES_CHAR = 1;\r\nstatic const byte degrees_glyph[] = { 0x00, 0x07, 0x05, 0x07, 0x00 };\r\n\r\n\/\/ A bitmap graphic (10x2) of a thermometer...\r\nstatic const byte THERMO_WIDTH = 10;\r\nstatic const byte THERMO_HEIGHT = 2;\r\nstatic const byte thermometer[] = {\r\n0x00, 0x00, 0x48, 0xfe, 0x01, 0xfe, 0x00, 0x02, 0x05, 0x02,\r\n0x00, 0x00, 0x62, 0xff, 0xfe, 0xff, 0x60, 0x00, 0x00, 0x00};\r\n\r\nstatic PCD8544 lcd;\r\n\r\nvoid setup() {\r\nSerial.begin(9600);\r\n\r\nlcd.begin(LCD_WIDTH, LCD_HEIGHT);\r\nlcd.clear();\r\n\/\/ Register the custom symbol...\r\nlcd.createChar(DEGREES_CHAR, degrees_glyph);\r\n\r\npinMode(ledPin, OUTPUT);\r\n\r\n\/\/ La referencia 1.1 V interno proporciona una mejor\r\n\/\/ Resoluci\u00f3n del LM35, y tambi\u00e9n es m\u00e1s estable\r\n\/\/ Cuando se alimenta de una bater\u00eda o USB ...\r\nanalogReference(INTERNAL);\r\nlcd.clear();\r\n}\r\n\r\nvoid loop() {\r\n\/\/ inicializamos el valor de tmedia\r\ntmedia=0;\r\n\r\n\/\/ medimos la temperatura 10 veces y la almacenamos en tmedia\r\nfor ( cnt=0; cnt&lt;20; cnt++) {\r\nlm35read = analogRead(sensorPin);\r\ntmedia=tmedia+lm35read;\r\n}\r\n\r\n\/\/ calculamos la media de las medidas\r\ntmedia=tmedia\/cnt;\r\n\r\n\/\/ convertimos tmedia en un valor en grados, pero\r\n\/\/ dadas las caracteristicas del sensor la precision es de\r\n\/\/ 0.5 grados, redondeamos los decimales .4 o .9\r\ntemperature = (1.1 * tmedia * 100.0) \/ 1024;\r\n\r\n\/\/ mapeamos el valor tmedia para que nos de\r\n\/\/ la temperatura en decimas de grado\r\nval = map(tmedia,0,1023,0,4990);\r\n\r\n\/\/ ahora los grados los obtenemos dividiendo por 10\r\ngrados=val\/10;\r\n\r\n\/\/ y las decimas de grado son el resto de la division\r\n\/\/ por 10\r\ndecimas=val%10;\r\n\r\n\/\/ Redondeamos los decimales a 0 o a 5\r\nif (decimas&lt; 3) {\r\ngradR=grados;\r\ndeciR=0;\r\n}\r\nif ((decimas &gt; 2)&amp;(decimas&lt;7)) {\r\ngradR=grados;\r\ndeciR=5;\r\n}\r\nelse {\r\ngradR=grados+1;\r\ndeciR=0;\r\n}\r\n\r\nSerial.print(\"Lectura en bruto \");\r\nSerial.print(lm35read);\r\nSerial.print(\" temp. sin redondear \");\r\nSerial.print(temperature);\r\nSerial.print(\" temp. redondeada \");\r\nSerial.print(grados);\r\nSerial.print(\".\");\r\nSerial.print(deciR); Serial.print(\" \");\r\nSerial.println(val\/10);\r\n\r\n\/\/ Inicio m\u00e1s all\u00e1 del borde de la pantalla ...\r\nstatic byte xChart = LCD_WIDTH;\r\n\r\ndigitalWrite(ledPin, HIGH);\r\n\r\n\/\/ Imprimir temperatura (utilizando el s\u00edmbolo personalizado \"grados\")...\r\nlcd.setCursor(6, 1);\r\nlcd.print(\" Temperatura \");\r\nlcd.setCursor(9, 2);\r\nlcd.print(\" Ambiente: \");\r\nlcd.setCursor(24, 4);\r\nlcd.print(temperature, 2);\r\nlcd.print(\" \\001C \");\r\nlcd.setCursor(18, 5);\r\nlcd.print(\" \");\r\nlcd.print(((temperature*9)\/5)+32, 2);\r\nlcd.print(\" \");\r\nlcd.print(\" \\001F \");\r\n\/\/Dibujar el mapa de bits term\u00f3metro en la esquina inferior izquierda...\r\nlcd.setCursor(4, LCD_HEIGHT\/8 - THERMO_HEIGHT);\r\nlcd.drawBitmap(thermometer, THERMO_WIDTH, THERMO_HEIGHT);\r\n\r\n\/\/ Envuelva la posici\u00f3n actual del cuadro...\r\nif (xChart &gt;= LCD_WIDTH) {\r\nxChart = THERMO_WIDTH + 2;\r\n}\r\n\r\n\/\/ Actualizaci\u00f3n de la tabla de temperaturas...\r\nlcd.setCursor(xChart, 2);\r\nxChart++;\r\n\r\ndigitalWrite(ledPin, LOW);\r\ndelay(500);\r\n}\r\n\/* EOF - Thermometerlm35.ino *\/<\/pre>\n<p style=\"text-align: justify;\">\u00a0Se aprecian ciertas diferencias entre el presente ejemplo y el anterior, ya desde el principio, en el propio c\u00f3digo, como dec\u00eda, en este no muestra la tabla ASCII que, aunque la sigue teniendo, es totalmente transparente al usuario. Sin duda, este c\u00f3digo es mucho m\u00e1s compacto y reducido para su estudio y seguimiento. Dar\u00e9, algunas descripciones para aclarar los puntos que considero m\u00e1s cr\u00edticos.<\/p>\n<p style=\"text-align: justify;\">En principio, la f\u00f3rmula: &#8216;<strong>temperature = (1.1 * tmedia * 100.0)\/1024;<\/strong>&#8216; es directamente la responsable de la conversi\u00f3n de tensi\u00f3n a grados Celsius (\u00baC).<\/p>\n<p style=\"text-align: justify;\">Donde, <strong>tmedia<\/strong> es la temperatura a considerar.<\/p>\n<p style=\"text-align: justify;\">Resultado de extraer la media del array que crea, el bucle <strong>for, (lm35read = analogRead(sensorPin); tmedia = tmedia + lm35read;)<\/strong>, donde hemos almacenado temporalmente, las 10 o 20 tomas del sensor LM35, en cada instante. Adem\u00e1s, he a\u00f1adido (esto es m\u00e1s sencillo), la presentaci\u00f3n de la temperatura en grados Fahrenheit, con s\u00f3lo aplicar la f\u00f3rmula:<\/p>\n<p style=\"text-align: justify;\"><strong> \u00baF = (temperature*1&#8217;8)+32.<\/strong><\/p>\n<p style=\"text-align: justify;\">En el c\u00f3digo, se dice:<\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #008000;\">\/\/ convertimos tmedia en un valor en grados, pero<\/span><br \/>\n<span style=\"color: #008000;\">\/\/ dadas las caracter\u00edsticas del sensor la precisi\u00f3n es de <\/span><br \/>\n<span style=\"color: #008000;\">\/\/ 0.5 grados, redondeamos los decimales a .4 o .9<\/span><br \/>\nY es cierto, sin embargo, he considerado que estar\u00eda bien mostrar ciertas las posibilidades que presenta la librer\u00eda. As\u00ed, cuando ya disponemos del valor de tmedia, s\u00f3lo queda presentarlo en la pantalla. Veamos estas directivas:<\/p>\n<p style=\"text-align: justify;\">Antes de continuar, creo que este es un buen momento para decir que, cuando tenemos un term\u00f3metro digital, si le a\u00f1adimos una funci\u00f3n que permita tomar decisiones, ante un cambio entre ciertos par\u00e1metros, lo que tendremos se acerca bastante a un termostato. S\u00f3lo tenemos que incluir una rutina dentro del bucle principal loop(), para que ejecute una tarea cuando se cumpla la condici\u00f3n prevista. Este es un lugar digitalWrite(ledPin, HIGH);, donde se puede a\u00f1adir una funci\u00f3n que se puede aplicar directamente, en lugar de s\u00f3lo encender un LED. Pero eso, lo dejar\u00e9 al buen criterio del usuario.<\/p>\n<p style=\"text-align: justify;\">Si usted, ha decidido realizar este ejemplo, pronto habr\u00e1 descubierto a simple vista, las principales diferencias. En primer lugar (siempre que disponga de una pantalla Nokia 3310), la pantalla se ha &#8216;rellenado&#8217;, es decir, se puede cubrir la pantalla en toda su extensi\u00f3n. Ahora, ya no est\u00e1 muy claro lo de 84 p\u00edxeles por 48 p\u00edxeles de alto, en una pantalla normal, obtendremos las 6 filas. Este no es el caso, (al menos mi pantalla, dispone de 96 p\u00edxeles de ancho (cuente los caracteres de ancho y las filas) que con 7 filas por 8 p\u00edxeles por car\u00e1cter, son 56 p\u00edxeles de alto).<\/p>\n<table>\n<tbody>\n<tr>\n<td><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2918\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2015\/04\/termologico-2.jpg\" alt=\"termologico-2\" width=\"197\" height=\"108\" \/><\/td>\n<td><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/termometro-con-lm35-y-lcd-3310\/temp102\" rel=\"attachment wp-att-2919\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-2919\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2015\/04\/temp102-300x155.jpg\" alt=\"temp102\" width=\"206\" height=\"106\" srcset=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2015\/04\/temp102-300x155.jpg 300w, https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2015\/04\/temp102.jpg 487w\" sizes=\"auto, (max-width: 206px) 100vw, 206px\" \/><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"text-align: justify;\"><span style=\"color: #008000;\">\u00a0\/\/ Imprimir temperatura (utilizando el s\u00edmbolo personalizado \u00abgrados\u00bb)&#8230;<\/span><br \/>\n<span style=\"color: #008000;\">\/\/ aqu\u00ed cabe. lcd.setCursor(0, 0);<\/span><br \/>\n<span style=\"color: #008000;\"> lcd.setCursor(6, 1); \/\/ columna 6, fila 1.<\/span><br \/>\n<span style=\"color: #008000;\"> lcd.print(\u00bb Temperatura \u00ab);<\/span><br \/>\n<span style=\"color: #008000;\"> lcd.setCursor(9, 2); \/\/ columna 9, fila 2.<\/span><br \/>\n<span style=\"color: #008000;\"> lcd.print(\u00bb Ambiente: \u00ab); <\/span><br \/>\n<span style=\"color: #008000;\">\/\/ lcd.setCursor(0, 3); <\/span><br \/>\n<span style=\"color: #008000;\"> lcd.setCursor(24, 4); \/\/ columna 24, fila 4.<\/span><br \/>\n<span style=\"color: #008000;\"> lcd.print(temperature, 2); \/\/ muestra temp.<\/span><br \/>\n<span style=\"color: #008000;\"> lcd.print(\u00bb \\001C \u00ab); \/\/ y \u00baC.<\/span><br \/>\n<span style=\"color: #008000;\"> lcd.setCursor(18, 5); \/\/ columna 18, fila 5.<\/span><br \/>\n<span style=\"color: #008000;\"> lcd.print(\u00bb \u00ab); \/\/ vac\u00eda para fig. term\u00f3metro.<\/span><br \/>\n<span style=\"color: #008000;\"> lcd.print(((temperature*9)\/5)+32, 2); <\/span><br \/>\n<span style=\"color: #008000;\"> lcd.print(\u00bb \u00ab); <\/span><br \/>\n<span style=\"color: #008000;\"> lcd.print(\u00bb \\001F \u00ab); \/\/ muestra \u00baF.<\/span><br \/>\n<span style=\"color: #008000;\"> lcd.setCursor(0, 6); \/\/ columna 0, fila 6.<\/span><br \/>\n<span style=\"color: #008000;\"> lcd.print(\u00ab1&#8230;5&#8230;.0&#8230;.5.\u00bb); \u00a0<\/span><\/p>\n<p style=\"text-align: justify;\">En conclusi\u00f3n, en la \u00faltima fila se puede leer hasta 16 caracteres. Esto no es del todo cierto, ya que la fila 6, si la usamos, no se podr\u00e1 borrar. El siguiente es un peque\u00f1o v\u00eddeo que muestra el funcionamiento de este c\u00f3digo de ejemplo. Se puede descargar el ejemplo: Thermometerlm35.pde, con las librer\u00edas, desde <a title=\"termometrolm35\" href=\"http:\/\/hispavila.com\/3ds\\atmega\\termicas_files\\thermometerlm35.rar\" target=\"_blank\" rel=\"noopener noreferrer\">\u00e9ste sitio<\/a>. Si no puede ver el v\u00eddeo, desc\u00e1rguelo de aqu\u00ed.<\/p>\n<div class=\"center\"><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/qn0isIm7mmY\" width=\"420\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/div>\n<div class=\"center\" style=\"text-align: justify;\">\n<p>\u00a0Se puede apreciar que la \u00faltima fila, no se borra incluso cuando se reinicia la aplicaci\u00f3n. Por este motivo, se recomienda utilizar s\u00f3lo las 7 primeras filas (0 a 6).Con la seguridad de que su prototipo funcione, como es de esperar, doy por terminado este tutorial de inicio en la aventura de las LCDs. En otra ocasi\u00f3n, trataremos el sensor de Dallas DS18B20, algo m\u00e1s sofisticado. En caso de tener alguna consulta que hacer, no dude en plantearla en el apartado Soporte y tratar\u00e9 de responder.Las practicas de este tutorial, con las librer\u00edas que utiliza las puede descargar en este lugar:<\/p>\n<pre><a href=\"http:\/\/hispavila.com\/3ds\/atmega\/termicas_files\/adafruit-pcd8544-nokia-5110-lcd-library-master.zip\">Adafruit-PCD8544-Nokia-5110<\/a>\r\n<a href=\"http:\/\/hispavila.com\/3ds\/atmega\/termicas_files\/dafruit-gfx-library-master.zip\">Adafruit-GFX<\/a><\/pre>\n<p><strong>Exenci\u00f3n de responsabilidad:<\/strong><br \/>\nEste es un software y hardware experimental. \u00daselo bajo su propio riesgo. El software y hardware presentado en estas p\u00e1ginas aunque ha sido probado por el mantenedor\/desarrollador de estas paginas, no se hace responsable bajo ninguna circunstancia por los da\u00f1os de hardware o software, p\u00e9rdida de datos o cualquier otro da\u00f1o directo o indirecto, como resultado del uso de este software o hardware. Ni del mal uso que usted haga con \u00e9l.<\/p>\n<\/div>\n<div class=\"center\" style=\"text-align: justify;\">Si usted no est\u00e1 de acuerdo con estas condiciones, no podr\u00e1 utilizar o distribuir m\u00e1s este software o utilizar cualquiera plantillas para piezas, para la construcci\u00f3n que aqu\u00ed se presenta.<\/div>\n<p style=\"text-align: justify;\">\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n. En este art\u00edculo volvemos a sumergirnos una vez m\u00e1s, en este mundo que nos brindan las pantallas gr\u00e1ficas LCD. Un proyecto que utiliza un LCD gr\u00e1fico le da realmente una buen aspecto y la flexibilidad de mostrar caracteres y formas diferentes. Estas pantallas LCD, difieren bastante de las t\u00edpicas LCD de cristal l\u00edquido de [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":2919,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[22,15,351],"tags":[260,262,261,104,224,221],"class_list":["post-2900","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","category-microcontroladores","category-termometro-con-lm35-y-lcd-3310","tag-260","tag-ds18b20","tag-lm35","tag-lm358","tag-nokia-5110","tag-pcd8544"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/posts\/2900","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/comments?post=2900"}],"version-history":[{"count":19,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/posts\/2900\/revisions"}],"predecessor-version":[{"id":4814,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/posts\/2900\/revisions\/4814"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/media\/2919"}],"wp:attachment":[{"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/media?parent=2900"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/categories?post=2900"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/tags?post=2900"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}