HowTo: ESPEasy: conecte el codificador rotatorio al ESP8266 y evalúelo

Especialmente si su propio circuito tiene una pantalla para mostrar valores, el siguiente paso suele ser conectar una opción operativa.

Puede conectar botones o interruptores. Una forma relativamente genial de equipar su propio circuito con una opción de entrada, por otro lado, es el codificador rotatorio.

A primera vista, un codificador rotatorio parece un potenciómetro. A diferencia del potenciómetro, el codificador rotatorio se puede girar infinitamente en ambas direcciones. Además, muchos modelos están equipados con un botón. Conectado a un microcontrolador, este puede reconocer en última instancia cuánto en qué dirección se giró e incluso si se presionó el botón.

Gracias al complemento adecuado, los codificadores rotatorios se pueden leer muy fácilmente con la ayuda de ESPEasy y las entradas se pueden reaccionar.

El siguiente artículo describe cómo conectar uno (o dos) codificadores rotatorios a un Wemos D1 Mini o ESP8266 y configurar correctamente ESPEasy.


Instrucciones de seguridad

Sé que las siguientes notas siempre son un poco molestas y parecen innecesarias. Desafortunadamente, muchas personas que sabían "mejor" han perdido ojos, dedos u otras cosas debido a un descuido o se lesionaron. La pérdida de datos es casi insignificante en comparación, pero incluso estos pueden ser realmente molestos. Por lo tanto, tómese cinco minutos para leer las instrucciones de seguridad. Porque incluso el proyecto más genial no vale la pena lesionarse u otros problemas.
https://www.nerdiy.de/sicherheitshinweise/

Enlaces afiliados / enlaces publicitarios

Los enlaces a las tiendas en línea enumerados aquí son los llamados enlaces de afiliados. Si hace clic en dicho enlace de afiliado y realiza una compra a través de este enlace, Nerdiy.de recibirá una comisión de la tienda en línea o el proveedor correspondiente. El precio no cambia para usted. Si realiza sus compras a través de estos enlaces, ayuda a Nerdiy.de a poder ofrecer otros proyectos útiles en el futuro. 🙂 


Requisitos

Artículos útiles:
Puede encontrar consejos adicionales sobre ESPEasy en los siguientes artículos.

Herramienta requerida:

Material requerido:


Conectar codificador rotatorio

A continuación, puede ver dos diagramas de circuito sobre cómo conectar un codificador rotatorio al Wemos D1 Mini.

Diagrama de cableado para conectar un solo codificador rotatorio.

Diagrama de circuito para conectar dos codificadores rotatorios. Aquí también se conecta una tira de LED WS2812. Para que esta configuración funcione hay que desactivar la reserva de los pines D1 y D2 para el bus I2C en ESPEasy.


Configuración del codificador rotatorio en ESPEasy

Primero abra la vista de configuración web de su instalación de ESPeasy.

La información sobre cómo abrir esta vista también se puede encontrar en el artículo Mostrar/averiguar la dirección IP de los dispositivos en la red

Desde ahí, haz clic en la pestaña "Dispositivos".

En la pestaña "Dispositivos", pulse el botón "Añadir" en una de las filas vacías.

A continuación, será redirigido automáticamente a la vista mostrada...

...y ahora puede seleccionar qué dispositivo desea crear.

Como desea crear un codificador rotatorio, seleccione aquí la entrada "Switch Input - Rotary Encoder".

Esto le llevará de vuelta a una página de resumen. Aquí puede realizar todos los ajustes relacionados con el codificador rotatorio.

Aquí es importante que asignes un nombre, marques la casilla "Activado" y configures los GPIOs como se muestra.

Los ajustes "GPIO <- A" y "GPIO <- B" corresponden a las conexiones del codificador rotatorio que están representadas por los cables verde y azul en el diagrama de circuito anterior.

Para la mayoría de los codificadores rotatorios, puede configurar el ajuste "Modo" como se muestra.

Al girar el codificador rotatorio se incrementará o disminuirá posteriormente un contador. Puede configurar sus valores límite inferior y superior mediante los ajustes de "Límite mín" y "Límite máx".

En cuanto haya configurado todo correctamente, puede guardar los ajustes haciendo clic en "Enviar".

Para evaluar ahora también la pulsación de tecla en el botón del codificador rotatorio, debe crear un dispositivo separado.

Para ello, haga clic en el siguiente botón "libre" "Añadir" de la vista general de dispositivos.

Seleccione ahora el dispositivo "Entrada de conmutación - Conmutar" en la lista desplegable.

Ahora debe configurar este dispositivo como se muestra a la izquierda.

Es importante tener en cuenta que el GPIO debe ajustarse al pin "D5". Este es el pin de conexión a través del cual se lee el botón del codificador rotatorio.

Una vez realizados todos los ajustes, también puede guardarlos haciendo clic en "Enviar".


Codificador rotatorio de prueba

Después de haber conectado y configurado el codificador rotatorio, puede probar la función usando el registro ESPEasy. Allí también se muestran eventos que tienen que ver con los sensores y actuadores que se han disparado.

Para ello, vaya a la pestaña "Herramientas" y haga clic en el botón "Registro".

A continuación, se mostrará la salida del registro de ESPEasy.

Si ahora gira el codificador rotatorio, debería verse una salida con "QEI...". El número detrás de ella muestra el valor del contador que está contando hacia arriba o hacia abajo girando el codificador rotatorio.

En cuanto pulse el botón del codificador giratorio, se mostrará una entrada que empieza por "SW:...".

A continuación, puede procesar las pulsaciones de botón o las operaciones del codificador rotatorio con la ayuda de las reglas y, por lo tanto, también desencadenar acciones.

Alternativamente, también puede reenviarlos a su sistema SmartHome a través de MQTT y así encender o apagar una luz, por ejemplo.


Más sensores para conectar al ESP8266 / ESP32

Puede encontrar una descripción general de otros elementos para conectar sensores y actuadores a ESPEasy en la siguiente categoría.


Diviértete con el proyecto.

Espero que todo te haya funcionado como se describe. Si no es así, o si tiene alguna pregunta o sugerencia, hágamelo saber en los comentarios. Si es necesario, lo añadiré al artículo.
Las ideas para nuevos proyectos siempre son bienvenidas. 🙂

PS Muchos de estos proyectos, especialmente los proyectos de hardware, cuestan mucho tiempo y dinero. Por supuesto que hago esto porque lo disfruto, pero si crees que es genial que comparta la información contigo, me encantaría hacer una pequeña donación al fondo del café. 🙂

Cómprame un café en ko-fi.com       

4s comentarios

  1. hola fabián
    ¡¡¡¡..digo GRACIAS - que haya alguien como tu - de quien un "aficionado" como yo pueda aprender algo !!!!
    ...he aprendido muchas cosas interesantes aquí y las he reconstruido - PWM con codificador rotatorio...
    Yo uso por ej. Actualmente un ESP8266 como termostato con 2 botones (1 GPIO cada uno) y ESPEASY con regla (copiada). Si es necesario, también enviaré las/mis Reglas
    ..Me gustaría convertir esto al codificador rotatorio en lugar del botón + y -.
    ..si es posible paso codificador
    Desafortunadamente, no encajo en las Reglas y no puedo hacerlo.
    ..probablemente sabes un ejemplo/enlace – ¿Reglas para ESPEASY?
    Saludos desde Viena – fossi1

    1. Hola fosi1,
      Gracias por sus amables palabras. Me alegro de que mis consejos sean útiles. 🙂
      Escríbeme tus reglas actuales. Luego echaré un vistazo y veré si puedes reconstruirlos/expandirlos para que puedas controlarlos con un codificador rotatorio. 🙂
      Atentamente
      Fabian

      1. hola fabián
        Gracias por su respuesta. ¡¡¡Le deseo un PRÓSPERO AÑO NUEVO!!!

        Para su información general:
        .. Tengo algunos esp para diversas aplicaciones puede hardware, estoy en el software (por desgracia por el momento todavía) el "copiador" - así que por favor consulte con mis reglas ...

        ...uno de mis proyectos - me gustaría/construiré un "control ahumador" para mi amigo.
        Medida de temperatura con sensores 4 K, D1mini con EspEasy, OLED + LCD, relé para control de ventiladores y 4x MAX31850 (los sensores K se leen en 1Wire y en EspEasy bajo D18B20)

        ..la medición de temperatura del sensor K a través de MAX31850 funciona
        ...la visualización "aproximada" de la temperatura del sensor X (cuál se determina primero) se muestra con Oled azul, verde, rojo para demasiado frío OK, demasiado caliente - actualmente para probar el DS18B20
        ..la pantalla de temperatura real es a través de OLED y LCD
        ..la configuración de la temperatura (para el funcionamiento del ventilador) actualmente a través de los botones +/-

        ...ya que la velocidad del ventilador debe ser controlada a través de un sensor K en el rango de temperatura de 100-200 grados, esto es muy "difícil" con botones - su codificador rotatorio sería una solución más conveniente.

        .. mi esp por lo tanto tiene 3 reglas para la visualización de neopíxeles, consulta clave, visualización
        ..aquí las reglas 2 :
        —————————————————————————–
        /consulta clave - cambiado 06.02.22Fo

        //esp8266
        //GPIO 0 = temperatura del botón +
        //GPIO 2 = botón de temperatura –
        //GPIO 4 = SDA para Oled
        //GPIO 5 = SCL para Oled
        //GPIO 12 = entrada de DATOS de DS18B20
        //GPIO 14 = salida S para relé
        //GPIO 15 = salida para Neopixel

        en System#Boot hacer
        TaskValueSet 6,1,25.0 //SetTemp = TARGET Temp
        TaskValueSet 6,2,24.5 //TempLow = temperatura más baja
        TaskValueSet 6,3,25.5 //TempHigh = temperatura más alta
        gpio,14,1
        finalizará el

        // Consulta clave para la configuración temporal
        //ARRIBA = Tarea7 en D3(GPIO-0) y ABAJO = Tarea7 en D4(GPOI-2)

        en Up#State hacer
        si [Up#State]=1
        si [Local#SetTemp]5 //Temp. Limitación de ajuste desde 5°
        TaskValueSet 6,1, [Local#SetTemp]-1.0
        TaskValueSet 6.2, [Local#SetTemp]-1.0
        TaskValueSet 6.3,[Local#SetTemp]
        final
        final
        finalizará el

        //Definir el estado de conmutación

        en T5#temperatura hacer
        si [T5#temperatura]+1[Local#TempLow]
        evento, apagar
        final
        finalizará el
        ———————————————————
        ..desafortunadamente no tengo una dirección de correo electrónico tuya, de lo contrario puedo enviar el archivo txt
        ..si necesitas más información, escríbeme evento. por correo

        Saludos desde Viena – fossi1

        1. Hola fosi1,
          Lo siento, solo me estoy poniendo en contacto ahora. Recibí tu mensaje a través del formulario de contacto. Pero todavía estaba en las secuelas de mi mudanza y luego intervinieron las vacaciones. :/
          Pero intentaré solucionarlo lo antes posible. escribió para mí 🙂
          Atentamente
          Fabian

Kommentar hinterlassen

Tu dirección de correo electrónico no será publicada. Erforderliche Felder sind mit * markiert

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.