• Arduino,  Hardware

    Spencer – El asistente de voz de los creadores de MakerBuino

    Otra entrada de un producto de CircuitMess, la empresa de MakerBuino. Y no me extraña, esta gente sabe vender productos interesantes, tanto para los que nos gusta la programación de todo cacharro fuera de lo común como para los pequeños de la casa.

    En este caso es un asistente de voz. Sí, como OK Google, Cortana, Siri… Solo que este es un poco más friki y un poco (bueno, bastante) menos útil, al menos en su primera versión. Te puede contar más de un chiste malo, o cantarte alguna canción bastante friki, eso sí.

    Está basado en un ESP32-WROOM-32, un microcontrolador de doble núcleo con 448 KBytes de ROM y 520 KBytes de RAM, y tiene un pequeño integrado de FLASH de 16MBytes con interfaz serie. Como conectividad, tiene WiFi 802.11n y Bluetooth 4.2.

    El pack, al menos en la primera tanda de la campaña de IndieGoGo, se compone de dos cajas: una de herramientas (bastante buena para ser un plus) y una que contiene las piezas de Spencer.

  • Título - Nibble, la sucesora de Makerbuino
    Arduino,  Hardware

    Nibble, la sucesora de Makerbuino

    Hace un tiempo os contaba acerca de Makerbuino, una consola basada en el famoso microcontrolador ATmega328, que podías montar tú mismo y picarte algunos juegos, como mi pequeño juego basado en Fire, Firebuino.

    La empresa, CircuitMess (precioso nombre, usando CamelCase, como tiene que ser 😏), tiene varios proyectos activos, entre ellos la pequeña consola Nibble, similar a Makerbuino, pero con pantalla a color y un pedazo de microcontrolador ESP-12.

    Especificaciones:

    • Procesador: ESP-12 a 160MHz, arquitectura ARM de 32-bit
    • Almacenamiento: 4MB
    • RAM: 80KB
    • Pantalla: TFT de 1,4 pulgadas, con una resolución de 128×128 a todo color
    • Conectividad: WiFi

    160Mhz… Recuerdo mi primer PC… Un pentium I a 133Mhz… Esta cosa es más potente, y funciona con 3 pilas AAA 🤣. La tecnología es maravillosa…

  • Logo avisador de timbre
    Arduino,  Hardware

    Avisador de timbre casero

    ¡Ding-dong!

    Toda casa tiene un timbre. Ya sea más básico, más avanzado, nuevo, viejo… Pero no siempre lo escuchamos. Ya sea porque estamos en un rincón recóndito de nuestro hogar, porque estamos haciendo más ruido de lo normal (obras, aspiradora…), porque estamos disfrutando de ese temazo de moda con los auriculares, o porque nuestro sistema auditivo ha decidido no captar las ondas sonoras que nos avisan que el repartidor de Amazon está en la puerta esperando que le abramos.

    Agregar notificaciones al móvil puede ser la solución en este caso (y si tenéis un smartwatch aun mejor, porque será más difícil que se pase por alto). No me he puesto a mirar el mercado, pero seguro que hay modelos de timbre super guays del paraguay que se conectan al móvil, pero ¿por qué cambiar el timbre que ya tengo?. Me gusta mi ding-dong marca blanca, y no quiero tener otra app más del fabricante del timbre en mi teléfono.

    ¿Por qué no sacar una solución casera entonces? Vamos allá 🙂

    Mi timbre es básico y recibe corriente de 230v cuando se presiona el pulsador, estando sin corriente si no está sonando. Así que lo primero que habrá que hacer, es detectar la presencia de esos 230v, de forma segura a ser posible, para que una avería no nos fría nuestro microcontrolador. Hablando de microcontrolador, necesitaremos uno con capacidad WiFi, y qué mejor que el ya conocido ESP-01: barato, pequeño y fácil de usar.

  • Arduino,  Hardware

    Haciendo inteligente mi aire acondicionado – Epílogo

    Haciendo mantenimiento en mi casa, me decidí a arreglar el aire acondicionado del salón, un Johnson MGE-30-BC, que lleva bastante tiempo sin funcionar.

    Compré mi casa hace casi dos años, y por entonces el aire del salón no funcionaba. Siempre había dejado a un lado el proyecto de repararlo porque me esperaba lo peor (que el gas se habría escapado y habría que buscar la fuga, repararla y volver a cargarlo, que el compresor estaría estropeado y habría que cambiarlo, con la descarga y recarga de gas correspondiente, que habría que cambiar el aire acondicionado al completo… vamos, reparaciones no baratas precisamente), pero ha resultado ser la reparación más sencilla en mucho tiempo: la manguera que interconecta split y unidad exterior tiene todos los cables del mismo color, y dos de ellos estaban cambiados.

    No llego a comprender cómo llegó a ocurrir este problema… ¿el que lo instaló no lo probó? ¿pensó que estaba estropeado? ¿no persiguió al que le vendió la máquina para que le devolviese el dinero o algo? ¿le dió pereza?. Lo único que sé es que ahora funciona 😂.

    Ahora que ya estaba funcionando, y con el aire acondicionado de mi habitación modificado para poder controlarlo con el móvil, dije que el del salón no podía ser menos, por lo que me puse a descodificar los códigos del mando, igual que hice hace unos meses con el de mi habitación.

  • Arduino,  Hardware

    Haciendo inteligente mi aire acondicionado – Parte 3

    << Continuación de la parte 2

    Hora de terminar este proyecto y de ir pensando en el siguiente 😄.

    En la entrada anterior, portamos nuestro código para controlar el aire acondicionado al pequeño ESP-01. Toca hacer la instalación en el interior del aire acondicionado y cerrar todo.

    Primero, montemos una pequeña placa para alimentar al ESP-01 y con una salida para el pequeño LED infrarrojo. No necesitamos gran cosa: un regulador de tensión (en nuestro caso un LM317), un par de resistencias para configurarlo a 3,3v, un conector de 2×4 pines, y otro par de resistencias para que el ESP-01 inicie en modo normal. El diseño de la placa es el siguiente:

    Todo parece correcto. Montémosla en real a ver que tal. Lo más sencillo y rápido es usar placa perforada, aunque en un futuro empezaremos a hacerlas con ácido 😊

    ¿Qué hacer cuando no tienes resistencias de un tamaño específico? Poner varias en serie 😊
  • Banner
    Arduino,  Hardware

    Haciendo inteligente mi aire acondicionado – Parte 2

    << Continuación de la parte 1

    Vuelvo desde el inframundo para continuar con mi «aire acondicionado inteligente» 😄

    En la anterior entrada, conseguimos echar a andar un sketch de prueba que permitía controlar el aire acondicionado mediante un arduino mega. Ahora toca portar el sketch a un ESP-01 para hacer uso de su conectividad WiFi y tamaño compacto, ya que no parece haber demasiado hueco dentro de la unidad split del aire acondicionado.

    Al igual que con el proyecto de mi lavadora inteligente (que sigue funcionando genial un año después 😊), la idea sería usar MQTT para la comunicación con mi servidor central openHAB, por lo que necesitaremos la librería PubSubClient.

    #include <ESP8266WiFi.h>
    #include <WiFiClient.h>
    #include <PubSubClient.h>
    
    .
    .
    .
    
    void reconnect() {
      // Loop until we're reconnected
      while (!client.connected()) {
        // Attempt to connect
        if (client.connect(mqttClientId, mqttUser, mqttPassword)) {
          // Once connected, resubscribe
          client.subscribe(mqttPowerCommandTopic);
          client.subscribe(mqttModeCommandTopic);
          client.subscribe(mqttTempCommandTopic);
          client.subscribe(mqttSpeedCommandTopic);
        } else {
          // Wait 5 seconds before retrying
          delay(5000);
        }
      }
    }

    Para la gestión de conexiones WiFi, he encontrado una librería que nos permite configurar de nuevo la conexión WiFi en caso de que cambiemos de red, sin tener que reprogramar la placa, lo que nos viene genial. Se llama WiFiManager. En este caso, le indicamos que, en caso de no poder conectarse por WiFi a nuestro router, abra una conexión para realizar la configuración, y reintente la conexión pasados 3 minutos (180 segundos).

  • Arduino,  Hardware

    Haciendo inteligente mi lavadora – Parte 5

    << Continuación de la parte 4

    Llegó la hora de la verdad. Es hora de conectar las nuevas tripas a mi lavadora y ver si todo funciona como esperábamos. O bueno… Casi… Acabo de recordar que cuando hice las modificaciones preparatorias a mi lavadora (parte 1), no preparé el botón de inicio de lavado, que será el que puentee nuestro relé para simular que se ha pulsado el botón y con ello, mandará la orden de iniciar el lavado a la lavadora.

    La modificación debería ser sencilla. Soldar un par de cables a ambos terminales del botón de inicio de lavado. Veamos cómo termina siendo 🙂

    Primero, volvemos a abrir la parte superior de la lavadora, y buscamos cómo quitar los mandos frontales. En mi caso, con quitar cuatro tornillos, unas pestañas de plástico y desenchufar todos los cables, y ya tenía el frontal entero en mis manos.

    Manchas de dedos de fábrica incluidas en el precio
  • Arduino

    Haciendo inteligente mi lavadora – Parte 4

    << Continuación de la parte 3

    Hora de tocar la parte de software de este proyecto. Si recordamos, el requerimiento es simple: Hacer que cuando la lavadora termine el lavado (desbloquee la puerta), se lance una notificación a mi teléfono móvil.

    Para enviar notificaciones, podría elegir una de muchas rutas posibles: por e-mail, por alguno de los servicios que existen de comunicaciones, a través de una app que me diseñe yo mismo… Para ahorrar tiempo, decidí usar uno de los servicios que existen para notificaciones simples: pushbullet.

    Pushbullet te permite, entre muchas otras opciones, enviar pequeñas notificaciones de texto a todos los dispositivos que tengas enlazados. Podría entonces, desde mi microcontrolador ESP8266, enviar una notificación y recibirla en el móvil. Pero decidí ir un poco más lejos: Tengo un mini-ordenador como centro domótico en mi casa: un orange PI PC con OpenHAB, que me permite controlar centralizadamente mis enchufes inteligentes. ¿Y si conecto mi lavadora al sistema y es mi centro domótico el encargado de enviar dichas notificaciones? Así, también podré controlar el estado de la lavadora y enviar órdenes de puesta en marcha de forma remota.

    Empecemos con la forma de comunicación que va a tener el ESP-01 con mi centro domótico. En este caso, decidí elegir MQTT, por lo simple que es: Defines canales (topics) de comunicación, el dispositivo que vaya a escuchar esos canales se suscribe a ellos, y el dispositivo que vaya a enviar publica los mensajes a dicho topic. Para el uso de MQTT con los microcontroladores ESP8266, existe la librería PubSubClient, que nos facilitará el envío de mensajes entre un dispositivo y otro.

  • Arduino,  Hardware

    Haciendo inteligente mi aire acondicionado – Parte 1

    ¿Qué hay mejor que tener en manos un proyecto de mejora de un aparato electrónico (véase Haciendo Inteligente mi lavadora)? ¡Tener en mano dos proyectos de mejora de aparatos electrónicos!

    Tengo un aire acondicionado en mi habitación marca Daitsu. Es un modelo antiguo, el DSG-07HRN2. Mis planes son: quiero manejarlo desde mi móvil, y poder programarlo según X criterios (temperatura, época del año, si voy a estar o no en casa…). La mayoría de estas funciones se pueden programar en OpenHAB, pero por supuesto, primero deberé conectar mi aire acondicionado a mi servidor OpenHAB, cosa que, sin modificaciones, no es posible.

    Podría usar algún aparatito mágico (y caro) para manejar aparatos de infrarrojos desde el móvil (sé de su existencia), pero… ¿donde está la diversión? :P. Mi idea es meter otro microcontrolador ESP-01 en mi aire, que inyecte comandos en la placa receptora de infrarrojos, simulando que se ha recibido una señal infrarroja del mando. Y estoy seguro que va a ser una aventura interesante 🙂

    Primero, para investigar el protocolo con el que el mando se comunica con la unidad split, he usado el sketch de ejemplo IRrecvDumpV2 de la librería Arduino-IRRemote, creada por Ken Shirriff y con varios contribuidores.

    Cuando probé el mando de mi aire con mi arduino MEGA, me quedé extrañado de que decía que usaba protocolo de SAMSUNG. Curioso.

    ¿Samsung? ¿Daitsu? ¿Usan el mismo protocolo? ¿O es un error del sketch? ¿Lo averiguaremos?
  • Arduino,  Hardware

    Haciendo inteligente mi lavadora – Parte 3

    << Continuación de la parte 2

    Empecemos con el montaje de la placa que controlará el estado de lavado de la lavadora. Para que sea más sencillo de entender, lo separaremos en cuatro partes: El microcontrolador, su alimentación (ya que funciona a 3,3 voltios, en lugar de los 5 del adaptador de corriente que estoy usando), la detección de bloqueo de puerta y la actuación sobre el botón de inicio de lavado.

    El ESP-01 necesita alimentación a 3,3 voltios, como decía arriba, masa por supuesto, y para que funcione correctamente, necesita tener a positivo (mediante una resistencia, por ejemplo, de 10K) los pines GPIO0 y GPIO2. Después de eso nos queda un pin de salida (hacia el relé actuador del botón de inicio de lavado) y un pin de entrada, para la detección de bloqueo.

    La alimentación de 3,3 voltios la podemos conseguir, por ejemplo, de un LM317T, el famosísimo regulador de voltaje lineal que, a través de dos resistencias, nos permite obtener un voltaje específico. A través de una de las muchas calculadoras online, se puede calcular qué resistencias necesitas. En mi caso, utilicé ésta.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver
Privacidad