Innehållsförteckning:

Rotary Encoder -knapp: 6 steg
Rotary Encoder -knapp: 6 steg

Video: Rotary Encoder -knapp: 6 steg

Video: Rotary Encoder -knapp: 6 steg
Video: Lesson 97: Controlling Servo Motor using Rotary Encoder and Display Angle On LCD 2024, November
Anonim
Knapp för vridkod
Knapp för vridkod

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

Komponenter och verktyg behövs
Komponenter och verktyg behövs
Komponenter och verktyg behövs
Komponenter och verktyg behövs
Komponenter och verktyg behövs
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

Elektronik
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

hopsättning
hopsättning
hopsättning
hopsättning

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: