Inhoudsopgave:
- Stap 1: Benodigde componenten en gereedschappen
- Stap 2: Elektronica
- Stap 3: Montage
- Stap 4: Software
- Stap 5: Configuratie
- Stap 6: Bediening
Video: Rotary Encoder-knop - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
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
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
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
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:
Willekeurige DC-motor PWM-experimenten + Encoder-probleemoplossing: 4 stappen
Willekeurige DC Motor PWM-experimenten + Encoder Probleemoplossing: Er zijn vaak momenten waarop iemands afval de schat van een ander is, en dit was een van die momenten voor mij. Als je me volgt, weet je waarschijnlijk dat ik een enorm project heb aangenomen om mijn eigen 3D-printer CNC te maken van schroot. Die stukken waren
LabDroid: Morsecode Encoder/Decoder: 4 Stappen
LabDroid: Morsecode Encoder/Decoder: Opmerking: Deze instructie kan niet 1:1 worden gerealiseerd in de nieuwste versie van LabDroid. Ik zal het binnenkort bijwerken. Dit project laat je zien wat je kunt doen met LabDroid. Aangezien een Hello World normaal gesproken gemaakt wordt op basis van tekst, licht of geluid, dacht ik aan LabDr
How To: een contactloze roterende encoder: 3 stappen
How To: een contactloze roterende encoder: In deze toepassingsnota wordt beschreven hoe u een zeer betrouwbare draaischakelaar of encoder kunt ontwerpen met behulp van een Dialog GreenPAK™. Dit schakelaarontwerp is contactloos en negeert daarom contactoxidatie en slijtage. Het is ideaal voor gebruik buitenshuis waar er lange
Rotary Encoder - Begrijp en gebruik het (Arduino/andere Controller): 3 stappen
Rotary Encoder - Begrijp en gebruik het (Arduino/andere ΜController): Een roterende encoder is een elektromechanisch apparaat dat roterende beweging omzet in digitale of analoge informatie. Het kan met de klok mee of tegen de klok in draaien. Er zijn twee soorten roterende encoders: absolute en relatieve (incrementele) encoders.Wh
Infrarood NEC Protocol Encoder en Decoder Board: 5 stappen:
Infrarood NEC-protocol-encoder- en -decoderkaart: ontvangt een onbewerkt gemoduleerd of gedemoduleerd NEC IR-signaal en zet dit om in bytes die via de seriële poort worden verzonden. De seriële baudrate kan worden geselecteerd uit twee standaardsnelheden. De standaard gebruiksmodus zendt een commandoreeks uit met framing byte