Innehållsförteckning:
- Steg 1: Komponenter och verktyg behövs
- Steg 2: Elektronik
- Steg 3: Montering
- Steg 4: Programvara
- Steg 5: Konfiguration
- Steg 6: Drift
Video: Rotary Encoder -knapp: 6 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:36
Detta är en roterande fjärrkontroll baserad på en roterande kodare. Den har följande funktioner.
- Batteridriven med mycket låg strömförbrukning när den är aktiverad
- Automatisk aktivering när reglaget vrids
- Automatisk sömn efter en period av inaktivitet
-
Konfigurerbara åtgärder när kontrollen ändras
- Enkel webbåtkomst med position rapporterad
- MQTT -rapportering
- Styrning av Lighwaverf lampdämpare
- Mycket liten storlek
- Låg kostnad
- Programuppdatering via wifi
- Hantering av åtkomst till wifi -nätverk
Steg 1: Komponenter och verktyg behövs
Följande komponenter behövs
Fodral - 3D -tryckt hölje tillgängligt på
www.thingiverse.com/thing:3173779
- ESP-12F ESP8266-modul
- Rotary Encoder control (EC11) + knopp
- På/av -skjutreglage
- 3 -stifts uttag
- LIPO -batteri 400mAh 802030
- 3.3V spänningsrefraktor (xc6203)
- 220uF kondensator
- Motstånd 1M, 4K7 (2)
- Schottky -diod 1N5819 (2)
- P -kanal MOSFET (AO3401)
- Emaljtråd (lödbar)
- Anslut tråd
Följande verktyg behövs
Finspetslödkolv
Steg 2: Elektronik
Elektroniken är baserad på en ESP-12F-modul. En liten mängd supportelektronik används för att reglera batteriet och för automatisk av- och påkoppling.
Effektkontrollen sker via EN-signalen på ESP-12F som måste vara hög för att modulen ska starta. Detta hålls lågt av 1M -motståndet men kan dras högt av MOSFET -transistorn. 4u7 -kondensatorn ger minst flera sekunders aktivering även efter att MOSFET stängs av.
MOSFET -transistorn slås initialt på genom att en av de roterande omkopplarna jordas när den vrids. Den kan sedan fortsätta med en GPIO -signal när ESP8266 -koden startar.
MOSFET stängs av när GPIO -signalen släpps efter att inaktivitet under en timeout -period har upptäckts.
Steg 3: Montering
Jag utförde följande monteringssteg.
- Skriv ut 3D -hölje
- Montera på/av -omkopplare och 3 -stifts laddare. Använd harts för att fixa på plats och klipp ner interna taggar till minsta längd
- Kläm ner benen på vridkontrollen så att de ligger i linje med basen för att minimera höjden
- Fäst 4 ledningar för att styra. Ena sidan av tryckknappsbrytaren är ansluten till kodkontaktens centrala kontakt.
- Fäst givaren i höljet och säkra med dess fästmutter. Lägg till ratten
- Montera regulatorn på kondensatorn och fäst ledningar från den till strömstiften på ESP-12F-modulen
- Löd andra elektroniska komponenter på ESP-12F-modulens baksida. Jag använde emaljkoppartråd för att ansluta dessa. En kort trådkabel användes på EN -stiftet eftersom den har flera komponenter fästa vid den.
- Lödning på anslutningskabel till strömbrytaren
- Lödning på batteriet leder till laddarens punkt och matning från strömbrytaren
- Lödning på kabel från på/av -omkopplare till regulatoringång.
- Fäst de 4 trådarna från givaren till kortet.
Observera att jag använde smd -komponenter hela tiden för att hålla storleken så liten som möjligt. Om du använder större komponenter måste du förmodligen öka höjden på 3d -höljet. På samma sätt om du använder ett annat batteri. Måtten kan enkelt justeras i SCAD -filen.
Steg 4: Programvara
Programvaran för detta projekt finns på
Det är ett Arduino -baserat projekt så skapa en esp8266 Arduino -utvecklingsmiljö. Du kanske vill ange lösenorden för WifiManager och programuppdatering i ino -filen till något mer vettigt.
Det bör sammanställas i Arduino ESP8266 IDE och serieöverföras till modulen.
Första gången användningen startar en åtkomstpunkt som ska anslutas till på en telefon eller surfplatta. Se koden för lösenord. Webbläsare på telefon eller surfplatta bör sedan användas för att komma åt 192.168.4.1 som gör det möjligt att välja lokal wifi -ssid och lösenord. Detta behöver bara göras en gång eller om wifi -nätverket ändras. Från och med då kommer modulen att ansluta till det lokala wifi -nätverket om det behövs.
Vissa supportfiler bör också laddas upp. Dessa finns i gitens datamapp. De kan laddas upp genom att komma åt ip/upload. När dessa har laddats upp kan ip/edit användas för att göra ytterligare uppladdning på ett enklare sätt.
Steg 5: Konfiguration
Konfigurationen finns i filen rotaryEncoderConfig.txt
Detta har två basparametrar (värdnamn och inaktivitet timeout millisekunder plus konfigurering av upp till 3 roterande kodare.
Även om den här versionen bara använder en kodare, tillåter det använda biblioteket upp till 3.
Varje kodare har en rad i konfigurationsfilen med ett antal parametrar.
- pin1, pin2, knapp GPIO -stift
- min värde för kodare
- maxvärde för pulsgivare
- startpositionsvärde (sista värdet kommer också ihåg när det aktiveras.
- typ av åtgärd som ska utföras 0 = Ingen, 1 = web GET, 2 = UDP / Lightwave, 3 = MQTT
- intervall är minsta varaktighet i ms mellan åtgärder
- åtgärdsmall är en grundläggande mall för åtgärder
- par1, par2, par3, par4, par5 är ytterligare parametrar
Åtgärdsmallen har variabler som ersätts före användning
- $ p Rotary position
- $ d Rotationsriktning
- $ e -kodarens nummer (0 är först)
- $ l gör en ljusvågsfunktion
- $ x, $ y, $ z, $ u, $ v substitut par1 - par5
- $ t ersättningsbytesräknare
- $ c ersättande komma
Steg 6: Drift
När wifi är konfigurerat aktiveras kontrollen genom att klicka på den ett steg åt båda hållen. Detta ändrar inte positionen eller utlöser en åtgärd.
Från och med då kommer varje rotation att utlösa den konfigurerade åtgärden. Minsta åtgärdsintervall kommer eventuellt att begränsa de åtgärder som utförs när kontrollen roteras. Till exempel om minimiintervallet är 2000mS kan en snabb rotation bara skicka den första och sista ändringen. Den sista positionen kommer alltid att utlösa en åtgärd så om en dimmer styrs kommer dess värde att återspegla slutpositionen även om några mellansteg missas.
LightwaveRF -drift
Ett exempel visas i den medföljande konfigurationsfilen. Den grundläggande åtgärden är UDP till Lightwaverf -länken. Värd -ip och portnummer sätts i par1 och par2. Rum/enhet -strängen sätts i par3.
Länken måste först kopplas till länken för att den ska kunna acceptera kommandon från mac -adressen till esp8266. För att göra detta placerar du en fil som heter initLink, txt in i arkiveringssystemet och skickar sedan ett kommando genom att rotera kontrollen ett steg (efter aktivering). Detta skickar ett parningskommando till länken som måste bekräftas genom att trycka på en knapp på länken. InitLink -filen raderas automatiskt.
Underhåll
Enheten kan sättas i ett underhållsläge där den inte stängs av automatiskt genom att slå på med vridreglaget tryckt in. För att få det ur det här läget stänger du bara av och på igen.
Rekommenderad:
Timer med Arduino och Rotary Encoder: 5 steg
Timer med Arduino och Rotary Encoder: Timern är ett verktyg som ofta används i både industriella och hushållsaktiviteter. Denna montering är billig och enkel att göra. Den är också mycket mångsidig och kan ladda ett program valt efter behov. Det finns flera program skrivna av mig, för Ardui
Rotary Encoder Controlled Robot Arm: 6 steg
Rotary Encoder Controlled Robot Arm: Jag besökte howtomechatronics.com och såg den bluetooth -kontrollerade robotarmen där. Jag gillar inte att använda bluetooth, plus jag såg att vi kan styra servo med roterande kodare, så jag gör om den så att jag kan styra roboten använda roterande givare och spela in den
ISDT Q6 Rotary Encoder Replacement: 4 Steg
ISDT Q6 Rotary Encoder Replacement: Denna handledning är till för att hjälpa människor som Q6 -kodare har gått till skit över tid nu är oanvändbara. Min började rulla i slumpmässiga, oregelbundna riktningar, och även efter att ha återflödat lödfogarna och rengjort givaren med alkohol var det fortfarande dysfunktionellt
Power Timer med Arduino och Rotary Encoder: 7 steg (med bilder)
Power Timer Med Arduino och Rotary Encoder: Denna Power Timer är baserad på timern som presenteras på: https: //www.instructables.com/id/Timer-With-Arduin…En strömförsörjningsmodul och ett SSR (solid state relay) ) belastades med den. Effektbelastningar på upp till 1KW kan manövreras och med minimala ändringar
USB -volymknapp med DigiSpark och Rotary Encoder: 3 steg
USB -volymknapp med DigiSpark och Rotary Encoder: Detta är en superbillig USB -volymkontrollknapp. Ibland är traditionella vred mer praktiska att styra saker än att klicka med musen överallt. Detta projekt använder DigiSpark, en Rotary Encoder och Adafruit Trinket USB Library (https: //github.c