HowTo: ESPEasy - connectez l'encodeur rotatif à l'ESP8266 et évaluez-le

Surtout si votre propre circuit dispose d'un écran pour afficher les valeurs, l'étape suivante consiste souvent à connecter une option de fonctionnement.

Vous pouvez connecter des boutons ou des commutateurs. Un moyen relativement cool d'équiper votre propre circuit d'une option d'entrée, d'autre part, est l'encodeur rotatif.

À première vue, un encodeur rotatif ressemble à un potentiomètre. Contrairement au potentiomètre, le codeur rotatif peut être tourné à l'infini dans les deux sens. De plus, de nombreux modèles sont équipés d'un bouton. Connecté à un microcontrôleur, celui-ci peut finalement reconnaître dans quelle direction il a été tourné et même si le bouton a été enfoncé.

Grâce au plugin approprié, les encodeurs rotatifs peuvent être lus très facilement à l'aide d'ESPEasy et les entrées peuvent être réagies.

L'article suivant décrit comment connecter un (ou deux) encodeurs rotatifs à une Wemos D1 Mini ou ESP8266 et configurer correctement ESPEasy.


Consignes de sécurité

Je sais que les notes suivantes sont toujours un peu ennuyeuses et semblent inutiles. Malheureusement, de nombreuses personnes qui savaient "mieux" ont perdu des yeux, des doigts ou d'autres choses à cause d'une négligence ou se sont blessées. La perte de données est presque négligeable en comparaison, mais même celles-ci peuvent être vraiment ennuyeuses. Par conséquent, veuillez prendre cinq minutes pour lire les consignes de sécurité. Parce que même le projet le plus cool ne vaut pas une blessure ou d'autres problèmes.
https://www.nerdiy.de/sicherheitshinweise/

Liens d'affiliation/publicitaires

Les liens vers des boutiques en ligne répertoriés ici sont des liens dits d'affiliation. Si vous cliquez sur un tel lien d'affiliation et effectuez un achat via ce lien, Nerdiy.de recevra une commission de la boutique en ligne ou du fournisseur concerné. Le prix ne change pas pour vous. Si vous effectuez vos achats via ces liens, vous aidez Nerdiy.de à pouvoir proposer d'autres projets utiles à l'avenir. 🙂 


Conditions préalables

Articles utiles :
Vous pouvez trouver des conseils supplémentaires sur ESPEasy dans les articles suivants.

Outil requis :

Matériel requis :


Connecter l'encodeur rotatif

Dans ce qui suit, vous pouvez voir deux schémas de circuit comment connecter un encodeur rotatif au Wemos D1 Mini.

Schéma de câblage pour le raccordement d'un seul encodeur rotatif.

Schéma électrique pour le raccordement de deux codeurs rotatifs. Une bande LED WS2812 est également connectée ici. Pour que cette configuration fonctionne, vous devez désactiver la réservation des broches D1 et D2 pour le bus I2C dans ESPEasy.


Configuration du codeur rotatif dans ESPEasy

Ouvrez d'abord la vue de configuration Web de votre installation ESPeasy.

Des informations sur la façon d'ouvrir cette vue peuvent également être trouvées dans l'article Afficher/connaître l'adresse IP des appareils du réseau

De là, clique sur l'onglet "Devices".

Dans l'onglet "Devices", vous devez maintenant cliquer sur le bouton "Add" dans l'une des lignes encore vides.

Vous serez alors automatiquement redirigé vers la vue affichée...

... et vous pouvez maintenant sélectionner l'appareil que vous souhaitez créer.

Comme vous voulez créer un encodeur rotatif, sélectionnez ici l'entrée "Switch Input - Rotary Encoder".

Cela vous ramènera à une page de présentation. Ici, vous pouvez effectuer tous les réglages concernant l'encodeur rotatif.

Il est important ici que vous donniez un nom, que vous cochiez la case "Enabled" et que vous configuriez les GPIO comme indiqué.

Les réglages "GPIO <- A" et "GPIO <- B" correspondent aux connexions de l'encodeur rotatif qui sont représentées par les fils vert et bleu dans le schéma de câblage ci-dessus.

Pour la plupart des encodeurs rotatifs, vous pouvez régler le "Mode" comme illustré.

En tournant l'encodeur rotatif, un compteur est ensuite incrémenté ou décrémenté. Vous pouvez configurer ses valeurs limites inférieure et supérieure dans les paramètres "Limit min" et "Limit max".

Une fois que vous avez tout configuré correctement, vous pouvez enregistrer les paramètres en cliquant sur "Submit".

Afin d'évaluer maintenant également la frappe sur le bouton de l'encodeur rotatif, vous devez créer un appareil séparé.

Pour cela, clique à nouveau sur le prochain bouton "libre" "Add" dans l'aperçu des périphériques.

Dans la liste déroulante, sélectionnez le périphérique "Switch input - Switch".

Vous devez maintenant configurer cet appareil comme indiqué à gauche.

Il est important de noter que le GPIO doit être réglé sur la broche "D5". Il s'agit de la broche de raccordement par laquelle le bouton-poussoir du codeur rotatif est lu.

Une fois que vous avez effectué tous les réglages, vous pouvez également les enregistrer en cliquant sur "Submit".


Tester l'encodeur rotatif

Après avoir connecté et configuré le codeur rotatif, vous pouvez tester la fonction à l'aide du journal ESPEasy. Y sont également affichés les événements liés aux capteurs et actionneurs qui ont été abattus.

Pour ce faire, va dans l'onglet "Outils" et clique ensuite sur le bouton "Log".

La sortie du journal ESPEasy s'affiche alors.

Si vous tournez maintenant le codeur rotatif, vous devriez voir apparaître "QEI...". Le chiffre qui suit indique la valeur du compteur que vous augmentez ou diminuez en tournant l'encodeur rotatif.

Dès que vous appuyez sur le bouton de l'encodeur rotatif, une entrée commençant par "SW :..." doit s'afficher.

Vous pouvez ensuite traiter les pressions sur les boutons ou les opérations de l'encodeur rotatif à l'aide des règles et ainsi déclencher également des actions.

Alternativement, vous pouvez également les transmettre à votre système SmartHome via MQTT et ainsi allumer ou éteindre une lumière, par exemple.


Plus de capteurs à connecter à l'ESP8266 / ESP32

Vous trouverez un aperçu des autres articles pour connecter des capteurs et des actionneurs à ESPEasy dans la catégorie suivante.


Amusez-vous avec le projet

J'espère que tout a fonctionné comme décrit. Si ce n'est pas le cas ou si vous avez des questions ou des suggestions, faites-le moi savoir dans les commentaires. Je les ajouterai à l'article si nécessaire.
Les idées de nouveaux projets sont toujours les bienvenues. 🙂

PS Beaucoup de ces projets - en particulier les projets matériels - coûtent beaucoup de temps et d'argent. Bien sûr, je le fais parce que j'aime ça, mais si vous pensez que c'est cool que je partage l'information avec vous, je serais heureux d'un petit don au fonds du café. 🙂

Achetez-moi un café sur ko-fi.com       

4 commentaires

  1. Bonjour Fabien
    ...je dis MERCI - qu'il y a quelqu'un comme toi - de qui un "bricoleur" comme moi peut apprendre quelque chose !
    ..j'ai appris ici beaucoup de choses intéressantes et je les ai reproduites - PWM avec codeur rotatif...
    J'utilise par ex. Actuellement un ESP8266 en tant que thermostat avec 2 boutons (1 GPIO chacun) et ESPEASY avec une règle (copiée). Si nécessaire, j'enverrai également le/mes Règles
    ..Je voudrais convertir cela en encodeur rotatif au lieu des boutons + et -.
    ..si possible pas d'encodeur
    Malheureusement, je ne suis pas très adapté aux règles et je ne peux pas le faire.
    ..vous savez probablement un exemple / lien – Règles pour ESPEASY ?
    Salutations de Vienne – fossi1

    1. Salut fossi1,
      merci pour vos belles paroles. Je suis content que mes conseils soient utiles. 🙂
      Écrivez-moi vos règles actuelles. Ensuite, je vais jeter un œil et voir si vous pouvez les reconstruire/développer afin que vous puissiez les contrôler avec un encodeur rotatif. 🙂
      Cordialement
      Fabien

      1. Bonjour Fabien
        Merci pour ta réponse - je te souhaite une bonne année !

        Pour votre information générale :
        ...j'ai quelques esp pour div. applications peut hardware, je suis dans le software (malheureusement encore actuellement) le "copieur" - donc s'il vous plaît regardez avec mes rules...

        ..un de mes projets - je veux/je vais construire un "contrôleur de fumoir" pour mon ami.
        Mesure de température avec 4 capteurs K, D1mini avec EspEasy, OLED + LCD, relais pour le contrôle du ventilateur et 4x MAX31850 (les capteurs K sont lus en 1Wire et en EspEasy sous D18B20)

        ..la mesure de la température du capteur K via MAX31850 fonctionne
        ...l'affichage "grossier" de la température de la sonde X (on détermine ensuite laquelle) est indiqué par des Oled bleu, vert, rouge pour trop froid ok, trop chaud - actuellement pour tester la DS18B20
        ..l'affichage de la température réelle se fait via OLED et LCD
        ..le réglage de la température (pour le fonctionnement du ventilateur) actuellement via les boutons +/-

        ...comme la régulation de la marche du ventilateur doit se faire en fonction d'une sonde K dans une plage de température de 100 à 200 degrés, l'utilisation de touches est très "difficile" - ton codeur rotatif serait une solution plus confortable.

        .. mon esp a donc 3 règles pour l'affichage neopixel, la requête clé, l'affichage
        ..voici les règles 2 :
        —————————————————————————–
        /key query - modifié le 06.02.22Fo

        //esp8266
        //GPIO 0 = température bouton +
        //GPIO 2 = bouton de température –
        //GPIO 4 = SDA pour Oled
        //GPIO 5 = SCL pour Oled
        //GPIO 12 = entrée DATA de DS18B20
        //GPIO 14 = sortie S pour relais
        //GPIO 15 = sortie pour Neopixel

        sur System#Boot faire
        TaskValueSet 6,1,25.0 //SetTemp = CIBLE Temp
        TaskValueSet 6,2,24.5 //TempLow = température la plus basse
        TaskValueSet 6,3,25.5 //TempHigh = température la plus élevée
        gpio,14,1
        endon

        // Requête clé pour le réglage temporaire
        //UP = Task7 sur D3(GPIO-0) et DOWN = Task7 sur D4(GPOI-2)

        sur Up#State faire
        si [Up#State]=1
        si [Local#SetTemp]5 //Temp. Limitation de réglage à partir de 5°
        TaskValueSet 6,1,[Local#SetTemp]-1.0
        TaskValueSet 6.2,[Local#SetTemp]-1.0
        TaskValueSet 6.3,[Local#SetTemp]
        final
        final
        endon

        //Définir l'état de commutation

        sur T5#température faire
        si [T5#temperature]+1[Local#TempLow]
        événement, désactiver
        final
        endon
        ———————————————————
        ..malheureusement, je n'ai pas d'adresse e-mail de votre part, sinon je peux envoyer le fichier txt
        ..si vous avez besoin de plus d'informations, écrivez-moi événement. par mail

        Salutations de Vienne – fossi1

        1. Salut fossi1,
          désolé de ne vous contacter que maintenant. J'ai reçu votre message via le formulaire de contact. Mais j'étais encore dans la foulée de mon déménagement et puis les vacances sont intervenues. :/
          Mais je vais essayer de m'en occuper dès que possible. l'a écrit pour moi 🙂
          Cordialement
          Fabien

Kommentar hinterlassen

Votre adresse e-mail ne sera pas publiée. Erforderliche Felder sind mit * markiert

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.