Inhoudsopgave:

Rotary Encoder-knop - Ajarnpa
Rotary Encoder-knop - Ajarnpa

Video: Rotary Encoder-knop - Ajarnpa

Video: Rotary Encoder-knop - Ajarnpa
Video: DIY haptic input knob: BLDC motor + round LCD 2024, November
Anonim
Roterende encoderknop
Roterende encoderknop

Dit is een roterende afstandsbediening op basis van een roterende encoder. Het heeft de volgende kenmerken.

  • Werkt op batterijen met zeer laag stroomverbruik indien geactiveerd
  • Automatische activering wanneer de besturing wordt gedraaid
  • Automatisch slapen na een periode van inactiviteit
  • Configureerbare acties wanneer de besturing wordt gewijzigd

    • Eenvoudige webtoegang met gerapporteerde positie
    • MQTT-rapportage
    • Besturing van Lightwaverf lampdimmer
  • Zeer kleine maat
  • Goedkoop
  • Software-update via wifi
  • Beheer van toegang tot wifi-netwerk

Stap 1: Benodigde componenten en gereedschappen

Benodigde componenten en gereedschappen
Benodigde componenten en gereedschappen
Benodigde componenten en gereedschappen
Benodigde componenten en gereedschappen
Benodigde componenten en gereedschappen
Benodigde componenten en gereedschappen

De volgende componenten zijn nodig:

Case - 3D-geprinte behuizing verkrijgbaar bij

www.thingiverse.com/thing:3173779

  • ESP-12F ESP8266-module
  • Rotary Encoder-bediening (EC11) + Knop
  • Aan/uit schuifschakelaar
  • 3-pins aansluiting
  • LIPO-batterij 400mAh 802030
  • 3.3V spanningsregelaar (xc6203)
  • 220uF condensator
  • Weerstanden 1M, 4K7 (2)
  • Schottky-diode 1N5819 (2)
  • P-kanaal MOSFET (AO3401)
  • Emaille draad (soldeerbaar)
  • Draad aansluiten

De volgende hulpmiddelen zijn nodig:

Fijne punt soldeerbout

Stap 2: Elektronica

Elektronica
Elektronica

De elektronica is gebaseerd op een ESP-12F-module. Een kleine hoeveelheid ondersteunende elektronica wordt gebruikt om de batterij te regelen en voor automatisch in- en uitschakelen.

De vermogensregeling vindt plaats via het EN-signaal op de ESP-12F dat hoog moet zijn om de module op te starten. Dit wordt laag gehouden door de 1M-weerstand, maar kan hoog worden getrokken door de MOSFET-transistor. De 4u7-condensator geeft minimaal enkele seconden activering, zelfs nadat de MOSFET is uitgeschakeld.

De MOSFET-transistor wordt aanvankelijk ingeschakeld door een van de roterende codeerschakelaars die tijdens het draaien wordt geaard. Het kan dan worden ingeschakeld door een GPIO-signaal terwijl de ESP8266-code opstart.

De MOSFET wordt uitgeschakeld wanneer het GPIO-signaal wordt vrijgegeven nadat inactiviteit gedurende een time-outperiode is gedetecteerd.

Stap 3: Montage

samenkomst
samenkomst
samenkomst
samenkomst

Ik heb de volgende montagestappen gedaan.

  • 3D-behuizing afdrukken
  • Aan/uit schakelaar en 3 pins oplaadpunt monteren. Gebruik hars om op zijn plaats te bevestigen en de interne tags op de minimale lengte vast te knippen
  • Klem de poten op de draaiknop vast zodat ze gelijk liggen met de basis om de hoogte te minimaliseren
  • Bevestig 4 draden om te bedienen. Een zijde van de drukknopschakelaar wordt aangesloten op de centrale connector van de codeerschakelaars.
  • Bevestig de encoder in de koffer en zet hem vast met de montagemoer. Knop toevoegen
  • Monteer de regelaar op de condensator en bevestig de draden ervan aan de voedingspinnen op de ESP-12F-module
  • Soldeer andere elektronische componenten aan de achterkant van de ESP-12F-module. Ik heb geëmailleerd koperdraad gebruikt om deze aan te sluiten. Op de EN-pin is een kort stuk draad gebruikt, omdat hier verschillende componenten aan zijn bevestigd.
  • Soldeer op hook up draad naar de aan/uit schakelaar
  • Soldeer op accu leidt naar laadpunt en voeding van aan/uit schakelaar
  • Soldeer op draad van aan/uit-schakelaar naar ingang van de regelaar.
  • Bevestig de 4-draads van de encoder aan het bord.

Opmerking Ik heb overal smd-componenten gebruikt om de grootte zo klein mogelijk te houden. Als u grotere componenten gebruikt, moet u waarschijnlijk de hoogte van de 3D-behuizing verhogen. Evenzo als u een ander formaat batterij gebruikt. De afmetingen zijn eenvoudig aan te passen in het SCAD-bestand.

Stap 4: Software

De software voor dit project is beschikbaar op

Het is een op Arduino gebaseerd project, dus het opzetten van een esp8266 Arduino-ontwikkelomgeving. Misschien wilt u de wachtwoorden voor WifiManager en software-update in het ino-bestand op iets zinnigers instellen.

Het moet worden gecompileerd in Arduino ESP8266 IDE en serieel worden geüpload naar de module.

Bij het eerste gebruik wordt een toegangspunt gestart waarmee verbinding moet worden gemaakt op een telefoon of tablet. Zie code voor wachtwoord. Browser op telefoon of tablet moet dan worden gebruikt om toegang te krijgen tot 192.168.4.1, waarmee de lokale wifi-ssid en het wachtwoord kunnen worden geselecteerd. Dit hoeft maar één keer te gebeuren of als het wifi-netwerk verandert. Vanaf dat moment zal de module indien nodig verbinding maken met het lokale wifi-netwerk.

Sommige ondersteuningsbestanden moeten ook worden geüpload. Deze staan in de datamap van de git. Ze kunnen worden geüpload door naar ip/upload te gaan. Zodra deze zijn geüpload, kan ip/edit worden gebruikt om op een eenvoudigere manier verder te uploaden.

Stap 5: Configuratie

Configuratie is opgenomen in het bestand rotaryEncoderConfig.txt

Dit heeft twee basisparameters (hostnaam en inactiviteit time-out milliseconden plus het configureren van maximaal 3 roterende encoders.

Hoewel deze build slechts 1 encoder gebruikt, staat de gebruikte bibliotheek er maximaal 3 toe.

Elke encoder heeft een regel in het configuratiebestand met een aantal parameters.

  • pin1, pin2, knop GPIO-pinnen
  • min waarde van encoder:
  • maximale waarde van encoder:
  • startpositiewaarde (laatste waarde wordt ook onthouden wanneer geactiveerd.
  • type uit te voeren actie 0=Geen, 1=web GET, 2=UDP / Lightwave, 3=MQTT
  • interval is minimale duur in ms tussen acties
  • actiesjabloon is een basissjabloon voor actie
  • par1, par2, par3, par4, par5 zijn aanvullende parameters

De actiesjabloon heeft variabelen die vóór gebruik worden vervangen

  • $p Draaistand
  • $d Draairichting
  • $e encodernummer (0 is de eerste)
  • $l maakt een lichtgolffunctie
  • $x, $y, $z, $u, $v vervangen par1 - par5
  • $t vervanging wisselgeldteller
  • $c vervangende komma

Stap 6: Bediening

Nadat wifi is ingesteld, wordt de besturing geactiveerd door er één stap op te klikken. Dit verandert de positie niet en activeert geen actie.

Vanaf dat moment zal elke rotatie de geconfigureerde actie activeren. Het minimale actie-interval beperkt mogelijk de acties die worden uitgevoerd als de besturing wordt gedraaid. Als het minimale interval bijvoorbeeld 2000 mS is, kan een snelle rotatie alleen de eerste en laatste wijziging verzenden. De laatste positie zal altijd een actie activeren, dus als een dimmer wordt bestuurd, zal de waarde de eindpositie weergeven, zelfs als er enkele tussenstappen worden gemist.

LightwaveRF-werking

Een voorbeeld wordt getoond in het meegeleverde configuratiebestand. De basisactie is UDP naar de Lightwaverf-link. Het host-ip en poortnummer worden in par1 en par2 gezet. De Room/Device string wordt in par3 gezet.

De link moet eerst aan de link worden gekoppeld om opdrachten van het mac-adres van de esp8266 te kunnen accepteren. Om dit te doen, plaatst u een bestand met de naam initLink, txt in het bestandssysteem en verzendt u vervolgens een opdracht door de besturing één stap te draaien (na activering). Hiermee wordt een koppelingsopdracht naar de link gestuurd die moet worden bevestigd door op een knop op de link te drukken. Het initLink-bestand wordt automatisch verwijderd.

Onderhoud

Het apparaat kan in een onderhoudsmodus worden gezet waar het niet automatisch wordt uitgeschakeld, door aan te zetten met de draaiknop ingedrukt. Om het uit deze modus te halen, hoeft u het alleen maar uit en weer aan te zetten.

Aanbevolen: