En este breve post os dejo un pequeño programa para verificar el valor que genera en la entrada A0 el teclado del LCD Keypad Shield para Arduino. Este display dispone de un teclado que se conecta a la entrada analógica A0 a través de un divisor resistivo, y en función del valor de la tensión que se genera en esta entrada al pulsar cada una de sus teclas, obtendremos un valor numérico que usaremos para discriminar cada tecla cuando las usemos en nuestros programas.
Se preguntarán, ¿por qué necesitamos esto? La razón es que para cada LCD Keypad Shield que compremos, debido a la importante tolerancia de los resistores empleados en este divisor, los valores obtenidos en A0 serán distintos. Esto no es sólo un test, como los que en la web del display con teclado podemos encontrar, es un test que nos da directamente el valor que obtenemos en esa entrada, y para verificación, usando la función int read_LCD_buttons(), también dispondremos de un número, entre el 0 y el 5, para cada tecla:
Sé que he estado locamente enamorado antes, pero cómo podría estar contigo. ¿Cómo puedes tener un día sin una noche? Al igual que un alma sin una mente en un cuerpo sin corazón, me estoy perdiendo alguna parte.
Hoy os entregaré una entrada que indaga en la intimidad de un sensor de humedad y temperatura, el DHT11, y en la de un display LCD SMC-1602-Acon un bus de comunicaciones serie I²C(Inter-Integrated Circuit). El circuito de la imagen anterior lo usaremos para visualizar la humedad y la temperatura de ambiente, el índice de calor o index heat (que yo llamo Huella de Calor) y el ambiente (si es seco, normal o húmedo, lo mostrará de forma explícita cuando pulsemos el pulsador P1). Tanto el display como el sensor precisan de un par de librerías que deben estar instaladas en el entorno IDE de programación de Arduino, y deben ser llamadas en el código con #include (#include le indica al compilador que debe incluir un determinado archivo con un código adicional para poder usar estos elementos). Para cargar las dos librerías en el entorno IDE, tenemos que ir a Programa -> Include Library -> Manage Libraries... Las librerías son dos archivos zip que podremos bajar previamente de los siguientes sítios: Para el display con I²C de aquí. Los detalleslos podéis ver aquí. Parael sensor de humedad y temperatura DHT11 aquí. Los detalles sobre esta libreríalos encontraréis aquí.
Acabo de descubrir que disponemos de más de 700 fuentes de letras para descargar desde la página web de fuentes tipográficas de Google: Google Fonts. Unas fuentes tipográficas serán más atractivas que otras, pero todas son de código abierto, pudiendo así compartirlas, usarlas libremente (en casa, en el comercio, en vuestra web), modificarlas, o colaborar con su creador para mejorarlas. Por supuesto, totalmente gratis. Google Fonts trabaja con diseñadores de todo el mundo para incluir en su web tipografías de gran calidad. Google Fonts busca buenos diseñadores; si se considera usted uno de ellos, ya sabe, póngase en contacto, están interesados. Tanto para LibreOffice 5 como para WPS, estas fuentes son fácilmente instalables y desinstalables en *buntu con una sencilla aplicación llamada TypeCatcher. La instalación de TypeCatcher la podemos realizar desde el Centro de Software de Ubuntu o desde el Terminal.
Después de cambiar el equipo del trabajo por uno considerablemente más moderno, la impresora que usaba conectada a un puerto paralelo DB25, una HP Laserjet 1200, ahora me vi obligado a conectarla a un puerto USB. Después de bajar el archivo desde HPLIP para poder configurarla, y luego de instalarla como mandan los cánones, me encontré con la desagradable sorpresa de que era imposible imprimir un archivo PDF, y en ocasiones, si el archivo era de pequeño tamaño, lo lograba al cabo de un millón de años. En fin, no sabía qué hacer. En uno de esos momentos en que uno ya desespera y ya tiene ganas de tirar con todo, me armé de paciencia y coraje, y empecé a tirar del hilo para intentar solucionar el problema. Observé que la configuración por defecto usa un archivo PostScript, que con un montón de narices tiene asociado una coletilla que pone "Recomendado". Pensando en lo que es un archivo PostScript, nada más y nada menos que un archivo que le dice a una máquina, es decir, a nuestra impresora, punto por punto, dónde y cómo debe imprimir, teniendo que digerir nuestra impresora todo el código que le envía. En fin, me puedo imaginar a una impresora como la mía y a muchas otras, intentando procesar la información en lenguaje PostScript (no nativo de una impresora) con los microprocesadores que tienen y la limitada memoria RAM con que cuentan. Pensé si podría disponer de un driver o controlador que funcionara como un elemento intermedio, y que procesara el archivo PostScript, por ejemplo, al lenguaje nativo de la máquina que imprime, cargando así todo el trabajo del procesamiento de imagen al ordenador. ¡Bingo!!! Vi en "Fabricante y modelo" un controlador con la palabra Foomatic, que alguien en una ocasión, que ya no recuerdo cuándo, me habló de una especie de filtro que usan los controladores de las impresoras PPD en Linux para procesar el lenguaje PostScript al lenguaje de la máquina que imprime, que luego digiere como si fuera miel. ¿Será verdad? ¡¡Alucinante!!! Todas las pruebas, con archivos PDFs pesadísimos, con una carga gráfica que ni de coña imprimiría con un PostScript, ahora a la velocidad del rayo, y sin un puñetero fallo. Probé con otra máquina, que aunque los digería como PostScript sin los problemas de la HP, una Ricoh, ahora va considerablemente más rápida. Aquí os dejo como configurar la impresora, echando mano de la valiosa experiencia que yo viví usando este estupendo recurso.
Que estos días sean maravillosos depende de ti. Espectacular estampa navideña interpretada por Kylie. Muchas gracias por leer este blog. Feliz Navidad y Próspero Año Nuevo. Gracias 2015. Gracias a ti.