HowTo: ESPEasy – sluit de roterende encoder aan op de ESP8266 en evalueer deze

Vooral als je eigen schakeling een display heeft om waarden weer te geven, is de volgende stap om ook een bedieningsoptie aan te sluiten.

Je kunt drukknoppen of schakelaars aansluiten. De roterende encoder daarentegen is echt een coole manier om je eigen schakeling uit te rusten met een invoermogelijkheid.

Op het eerste gezicht lijkt een roterende encoder op een potentiometer. In tegenstelling tot de potentiometer kan de roterende encoder echter traploos in beide richtingen worden gedraaid. Bovendien zijn veel modellen uitgerust met een drukknop. Aangesloten op een microcontroller kan deze uiteindelijk detecteren hoe ver in welke richting is gedraaid en ook wanneer de knop is ingedrukt.

Dankzij de juiste plug-in kunnen roterende encoders heel eenvoudig worden uitgelezen met behulp van ESPEasy en kan er worden gereageerd op de ingangen.

Hoe je één (of twee) roterende encoders aansluit op een Wemos D1 Mini of ESP8266 en ESPEasy correct configureert, wordt beschreven in het volgende artikel.


Veiligheidsinstructies

Ik weet dat de volgende opmerkingen altijd een beetje vervelend zijn en onnodig lijken. Helaas hebben veel mensen die "beter" wisten door onvoorzichtigheid ogen, vingers of andere dingen verloren of zichzelf verwond. Gegevensverlies is in vergelijking bijna te verwaarlozen, maar zelfs dit kan erg vervelend zijn. Neem daarom vijf minuten de tijd om de veiligheidsinstructies te lezen. Omdat zelfs het coolste project geen blessure of andere problemen waard is.
https://www.nerdiy.de/sicherheitshinweise/

Affiliate links / reclame links

De hier vermelde links naar online winkels zijn zogenaamde affiliate-links. Als u op zo'n affiliate-link klikt en via deze link een aankoop doet, ontvangt Nerdiy.de een commissie van de betreffende onlineshop of aanbieder. De prijs verandert voor jou niet. Als u via deze links uw aankopen doet, steunt u Nerdiy.de om in de toekomst andere nuttige projecten aan te kunnen bieden. 🙂 


Eisen

Handige artikelen:
Aanvullende tips over ESPEasy vindt u in de volgende artikelen.

Vereist gereedschap:

Benodigd materiaal:


Roterende encoder aansluiten

Hieronder zie je twee schakelschema's voor het aansluiten van een roterende encoder op de Wemos D1 Mini.

Aansluitschema voor het aansluiten van een enkele roterende encoder.

Schakelschema voor het aansluiten van twee roterende encoders. Hier wordt ook een WS2812 LED-strip aangesloten. Om deze configuratie te laten werken moet je de reservering van de D1- en D2-pinnen voor de I2C-bus in ESPEasy uitschakelen.


Configuratie van de roterende encoder in ESPEasy

Open eerst de webconfiguratieweergave van uw ESPeasy-installatie.

Informatie over het openen van deze weergave is ook te vinden in het artikel Toon/ontdek het IP-adres van de apparaten in het netwerk

Vanaf daar klikt u op het tabblad "Apparaten".

In het tabblad “Apparaten” moet je nu op de knop “Toevoegen” klikken in een van de nog lege regels.

Je wordt dan automatisch doorgestuurd naar de weergave...

...en kun je nu selecteren welk apparaat je wilt maken.

Omdat u een roterende encoder wilt maken, selecteert u hier de optie “Switch Input – Rotary Encoder”.

Dit brengt je terug naar een overzichtspagina. Hier kun je alle instellingen voor de roterende encoder uitvoeren.

Belangrijk hierbij is dat u een naam toekent, “Ingeschakeld” aanvinkt en de GPIO’s configureert zoals weergegeven.

De instellingen “GPIO <- A” en “GPIO <- B” komen overeen met de aansluitingen van de draai-encoder, die in het schakelschema hierboven met de groene en blauwe lijnen worden weergegeven.

Voor de meeste roterende encoders kunt u de “Modus”-instelling instellen zoals weergegeven.

Door aan de draaiknop te draaien wordt een teller later op- of afgeteld. U kunt de onder- en bovengrens ervan configureren met behulp van de instellingen onder “Limiet min” en “Limiet max”.

Nadat u alles correct heeft geconfigureerd, kunt u de instellingen opslaan door op “Verzenden” te klikken.

Om ook de toetsaanslag op de draaiknop te evalueren, moet je een afzonderlijk apparaat maken.

Klik hiervoor opnieuw op de volgende “gratis” knop “Toevoegen” in het apparatenoverzicht.

In de vervolgkeuzelijst selecteert u nu het apparaat “Schakelaarinvoer – Schakelaar”.

Je moet dit apparaat nu instellen zoals links afgebeeld.

Ook is het belangrijk dat de GPIO op pin “D5” staat. Dit is de aansluitpin waarmee de knop van de draaiknop wordt uitgelezen.

Nadat u alle instellingen heeft gemaakt, kunt u deze opslaan door op “Verzenden” te klikken.


Roterende encoder testen

Nadat je de roterende encoder hebt aangesloten en geconfigureerd, kun je de werking testen met behulp van het ESPEasy-logboek. Daar worden ook gebeurtenissen weergegeven die te maken hebben met de aangesloten sensoren en actuatoren.

Om dit te doen, gaat u naar het tabblad “Extra” en klikt u vervolgens op de knop “Logboek”.

Vervolgens wordt de ESPEasy-loguitvoer weergegeven.

Als u nu aan de draaiknop draait, moet er een uitgang met “QEI...” zichtbaar worden. Het getal daarachter toont de waarde van de teller, die je op- of aftelt door aan de draaiknop te draaien.

Zodra u op de encoderknop drukt, moet er een vermelding verschijnen die begint met "SW:...".

Je kunt dan de toetsaanslagen of activeringen van de roterende encoder verwerken met behulp van de regels en zo ook acties activeren.

Je kunt ze ook doorsturen naar je SmartHome-systeem via MQTT en zo bijvoorbeeld een licht aan- of uitschakelen.


Meer sensoren om aan te sluiten op de ESP8266 / ESP32

Een overzicht van andere artikelen voor het aansluiten van sensoren en actuatoren op ESPEasy vindt u in de volgende categorie.


Veel plezier met het project

Ik hoop dat alles werkte zoals beschreven. Zo niet, of als je vragen of suggesties hebt, laat het me weten in de commentaren. Ik zal dit dan zo nodig aan het artikel toevoegen.
Ideeën voor nieuwe projecten zijn altijd welkom. 🙂

PS Veel van deze projecten - vooral de hardwareprojecten - kosten veel tijd en geld. Natuurlijk doe ik dit omdat ik het leuk vind, maar als je het cool vindt dat ik de informatie met je deel, dan zou ik blij zijn met een kleine donatie aan het koffiefonds. 🙂

Koop Me a Coffee op ko-fi.com       

4 comments

  1. Hallo Fabian
    ..Ik wil graag DANK U zeggen - dat er iemand zoals u is - van wie een “hobbyist” zoals ik iets kan leren!!
    ..Ik heb hier veel interessante dingen geleerd en opnieuw gemaakt – PWM met roterende encoder..
    ik gebruik b.v. Momenteel een ESP8266 als thermostaat met 2 knoppen (elk 1 GPIO) en ESPEASY met een (gekopieerde) regel. Indien nodig stuur ik ook de/mijn Regels
    ..Ik zou dit willen converteren naar de roterende encoder in plaats van de + en - knop.
    ..indien mogelijk encoderstap
    Helaas ben ik niet zo geschikt voor Regels en kan ik het niet.
    ..je weet het waarschijnlijk wel een voorbeeld / link – Regels voor ESPEASY ?
    Groeten uit Wenen – fossi1

    1. Hallo fossi1,
      bedankt voor je mooie woorden. Ik ben blij dat mijn tips nuttig zijn. 🙂
      Schrijf me je huidige regels. Dan ga ik kijken of je ze kunt herbouwen/uitbreiden zodat je ze kunt aansturen met een draaiknop. 🙂
      Hartelijke groeten
      Fabian

      1. Hallo Fabian
        Bedankt voor je antwoord – ik wens je een GELUKKIG NIEUWJAAR!!

        Voor uw algemene informatie:
        ..Ik heb wat esp voor verschillende toepassingen, hardware kan het, maar ik ben (helaas nog steeds) de “kopieermachine” in software – dus controleer mijn regels..

        ..een van mijn projecten – ik wil/zal een “rokerscontrole” bouwen voor mijn vriend.
        Temperatuurmeting met 4 K sensoren, D1mini met EspEasy, OLED + LCD, relais voor ventilatoraansturing en 4x MAX31850 (K sensoren worden uitgelezen in 1Wire en in EspEasy onder D18B20)

        ..de temperatuurmeting van de K-sensor via MAX31850 werkt
        ..de “ruwe” weergave van de temperatuur van de sensor Momenteel testen we de DS18B20
        ..de echte temperatuurweergave is via OLED en LCD
        ..de huidige instelling van de temp (voor de werking van de ventilator) via de +/- toetsen

        ..aangezien de ventilatorsnelheid moet worden geregeld afhankelijk van een K-sensor in het temperatuurbereik van 100-200 graden, is het gebruik van knoppen erg "moeilijk" - uw roterende encoder zou de handigste oplossing zijn.

        .. mijn esp heeft daarom 3 regels voor neopixelweergave, sleutelquery, weergave
        ..hier de regels 2 :
        —————————————————————————–
        /key query - gewijzigd 06.02.22Fo

        //esp8266
        //GPIO 0 = knoptemperatuur +
        //GPIO 2 = temperatuurknop –
        //GPIO 4 = SDA voor Oled
        //GPIO 5 = SCL voor Oled
        //GPIO 12 = DATA-invoer van DS18B20
        //GPIO 14 = uitgang S voor relais
        //GPIO 15 = uitvoer voor Neopixel

        op System#Boot doen
        TaskValueSet 6,1,25.0 //SetTemp = TARGET Temp
        TaskValueSet 6,2,24.5 //TempLow = laagste temp
        TaskValueSet 6,3,25.5 //TempHigh = hoogste temp
        GPIO, 14,1
        eindigt op

        // Sleutelvraag voor tijdelijke instelling
        //UP = Task7 op D3 (GPIO-0) en DOWN = Task7 op D4 (GPOI-2)

        op Up#Staat doen
        als [Up#State]=1
        als [Local#SetTemp]5 //Temp. Begrenzing instellen vanaf 5°
        TaskValueSet 6,1,[Local#SetTemp]-1.0
        TaskValueSet 6.2, [Local#SetTemp] -1.0
        TaskValueSet 6.3, [Local#SetTemp]
        laatste
        laatste
        eindigt op

        // Definieer schakeltoestand

        op T5#temperatuur doen
        als [T5#temperatuur]+1[Lokaal#TempLaag]
        gebeurtenis, Uitschakelen
        laatste
        eindigt op
        ———————————————————
        ..helaas heb ik geen e-mailadres van je, anders kan ik het txt-bestand sturen
        ..als je meer informatie nodig hebt, schrijf me dan een evenement. per post

        Groeten uit Wenen – fossi1

        1. Hallo fossi1,
          sorry dat ik nu pas contact opneem. Ik kreeg je bericht via het contactformulier. Maar ik zat nog in de nasleep van mijn verhuizing en toen kwamen de feestdagen ertussen. :/
          Maar ik zal proberen er zo snel mogelijk voor te zorgen. schreef het voor me op 🙂
          Hartelijke groeten
          Fabian

Kommentar hinterlassen

Het e-mailadres wordt niet gepubliceerd. Erforderliche Felder sind mit * markiert

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.