OLED: SSD1306 ‘Fake in China’ & Sensor de proximidad para invidentes

Sensor de proximidad para invidentes

Construcción de un sensor de proximidad con Arduino, mostrando la información de la distancia en un display gráfico OLED de 0,96″. El display OLED que he utilizado es el SSD1306 y debería tener una resolución de 128×64 pixel, pero como en China ahorran por todas partes, el display muestra los gráficos con una resolución de 128×32… ¿50% de ahorro/estafa?.
Este sensor de proximidad incluye un avisador acústico, y podría ser muy útil como complemento del bastón guía para personas invidentes. En este caso no sería imprescindible instalar el display, y la autonomía de la batería sería mayor.

Medir la distancia por ultrasonidos

Utilizar un sensor por ultrasonidos para medir distancias con precisión no es lo más adecuado, pero puede ser de gran ayuda si se utiliza para detectar obstáculos cercanos. Este sensor podría utilizarse como ayuda al aparcamiento de un coche, aunque hay otros sensores más adecuados (capacitivos, ópticos), porque las cápsulas piezoeléctricas no están pensadas para trabajar en la intemperie. El uso más adecuado para este sensor sería montarlo en un equipo portátil, y utilizarlo como avisador de obstáculos cercanos para personas invidentes (podría utilizarse como complemento del bastón guía).

Sensor HC-SR04

El sensor de ultrasonidos HC-SR04 se puede comprar por menos de 1 dólar en Internet, y tiene un alcance aproximado de 4 metros y medio.

Sensor HC-SR04

Para ver la medida de la distancia he utilizado un diminuto display gráfico de 128×64 pixel, el modelo SSD1306, con  tecnología OLED.

Oled: SSD1306

Este circuito incluye un zumbador piezoeléctrico para realizar avisos acústicos de los objetos más próximos (imprescindible para invidentes).

Esquema: Detector de proximidad

El zumbador empezará a sonar de forma intermitente cuando haya objetos a partir de una distancia de 60 cms., y se irá acelerando la cadencia a medida que se acorta la distancia con el obstáculo. Este sonido intermitente se convertirá en continuo, cuando la distancia del obstáculo esté a 5 cms. o menos del sensor.

Resolución del display SSD1306

El display OLED SSD1306 que he utilizado en este montaje lo compré por Internet, y me ha llegado con ‘sorpresa’. El display incorpora un controlador gráfico de 128×64 pixel de resolución, el cuál controla el encendido de un display OLED de 128×32 pixel. Esto supone un 50% de pérdida de resolución, o visto de otra forma, es necesario enviar al display el doble de la información que va a presentar. Cuando el display muestra textos o números utilizando su font de caracteres, sólo se puede apreciar el problema cuando el tamaño de letra es 1. El problema es que si se carga un gráfico en memoria, se pierde un 50% de su resolución, y se pierde la fidelidad del gráfico por la pérdida de puntos. Observa en la imagen siguiente, que la altura en pixel de los caracteres es la mitad de la que debería ser, teniendo en cuenta que el direccionamiento del cursor si es el correcto.

Resolución SSD1306

 

El proceso que he seguido para cargar el gráfico, ha sido convertir la resolución del archivo original de 128×64 pixel a 128×32, luego corregir con un editor de dibujo los detalles más visibles (Paint o similar), y volver a redimensionar el gráfico a 128×64 pixel para poder utilizarlo en este display sin perder fidelidad.

Si utilizas un display con una resolución correcta (128×64), este último paso no lo tienes que hacer.

Programar gráficos en el display

Si quieres generar tu propio gráfico para que aparezca en el display, puedes sustituir el código del gráfico que yo he puesto por el tuyo. Para crear este código a partir de una imagen BMP,  la forma mas sencilla de hacerlo es mediante el software: LCD Assistant

Software: LCD Assistant

Firmware

El código de programación de este sensor de proximidad,  se puede descargar desde el siguiente enlace: Sensor de proximidad

Detector de tensión por inducción, muy fácil

Construcción de un detector de tensión por inducción, fabricado con muy pocos componentes electrónicos. El detector de tensión por inducción sustituye al clásico destornillador buscapolos con lamparita de neón. La ventaja de este detector, es que además de poder localizar el hilo activo de la red (Fase) sin realizar un contacto eléctrico, puede utilizarse para localizar averías en cableados.

Buscapolos

En realidad no merece la pena fabricar un detector de tensión inductivo, porque se pueden comprar por Internet a un precio muy reducido. Sin embargo, se podría montar un detector muy sencillo utilizando componentes reciclados y con fines experimentales.

Esquema: Detector inductivo de tensión

Puede montarse el circuito básico, con la indicación óptica del diodo LED, o añadir la opción del aviso acústico incluyendo 3 componentes más: una resistencia, un transistor y un zumbador piezoeléctrico  activo.

Funcionamiento

Este circuito capta y amplifica el campo electromagnético que emite la señal alterna de la red eléctrica (50-60Hz). La intensidad del campo electromagnético es proporcional a la tensión del elemento conductor e inversamente proporcional a su distancia. Por este motivo, la sensibilidad del circuito será mayor en una instalación  de 230 VAC que en otra de 110 VAC.

El elemento captador consiste en  un trozo de cable, conectado a la base de un transistor de tipo NPN. La unión base-emisor del primer transistor hace de diodo, rectificando y amplificando el semiciclo positivo de la señal alterna inducida. Como la señal es sinusoidal y la ganancia del transistor es alta, a la salida (colector) obtendremos una señal continua pulsante con la frecuencia de la red (50-60Hz) y con una amplitud y ancho de impulso variable, dependiendo de la distancia que exista entre el punto de tensión (Fase) y el elemento captador.  En la siguiente imagen se puede observar la forma de onda que aparece en el colector del transistor de entrada, antes de montar el condensador de 100 nF.

Oscilograma de la señal inducida

El condensador de 100 nF filtra la señal alterna, convirtiendo la salida en una tensión continua de amplitud variable. Así cuando conduce el transistor de entrada se produce una corriente variable en las 2 resistencias (100K y 1M), provocando la conducción del segundo transistor (PNP). Al conducir el segundo transistor, el cuál hace la función de interruptor-regulador de tensión, se polariza el último transistor y se enciende el indicador LED. La intensidad del diodo LED varía ligeramente en función de la distancia entre el punto de tensión y el elemento captador. De esta manera es más fácil localizar el cable de Fase cuando se encuentre dentro de un mazo. Si se quisiera añadir una indicación acústica al circuito, se tendría que montar otro transistor más para que el zumbador funcionara correctamente.

Detectando la Fase

Debido a la elevada ganancia del circuito, junto con su alta impedancia de entrada, este comprobador  es muy sensible a posibles inducciones entre elementos. Dependiendo de la distancia entre soldaduras y tipo de circuito impreso utilizado, podría funcionar de forma errática.