Indholdsfortegnelse:

Rotary Encoder -knap: 6 trin
Rotary Encoder -knap: 6 trin

Video: Rotary Encoder -knap: 6 trin

Video: Rotary Encoder -knap: 6 trin
Video: Cheap 3D Printed Absolute Encoder Knob #Shorts 2024, Juli
Anonim
Knap til roterende encoder
Knap til roterende encoder

Dette er en roterende fjernbetjening baseret på en roterende encoder. Det har følgende funktioner.

  • Batteridrevet med meget lavt strømforbrug, når det aktiveres
  • Automatisk aktivering, når styringen drejes
  • Automatisk søvn efter en periode med inaktivitet
  • Konfigurerbare handlinger, når kontrol ændres

    • Enkel webadgang med rapporteret position
    • MQTT rapportering
    • Kontrol af Lighwaverf lampedæmper
  • Meget lille størrelse
  • Lavpris
  • Softwareopdatering via wifi
  • Administration af adgang til wifi -netværk

Trin 1: Komponenter og værktøjer påkrævet

Komponenter og værktøjer påkrævet
Komponenter og værktøjer påkrævet
Komponenter og værktøjer påkrævet
Komponenter og værktøjer påkrævet
Komponenter og værktøjer påkrævet
Komponenter og værktøjer påkrævet

Følgende komponenter er nødvendige

Etui - 3D -trykt kabinet fås på

www.thingiverse.com/thing:3173779

  • ESP-12F ESP8266 modul
  • Rotary Encoder control (EC11) + drejeknap
  • Tænd/sluk skydekontakt
  • 3 -polet stik
  • LIPO batteri 400mAh 802030
  • 3.3V spændingsrefulator (xc6203)
  • 220uF kondensator
  • Modstande 1M, 4K7 (2)
  • Schottky -diode 1N5819 (2)
  • P -kanal MOSFET (AO3401)
  • Emaljetråd (lodbar)
  • Tilslut ledningen

Følgende værktøjer er nødvendige

Fint punkt loddejern

Trin 2: Elektronik

Elektronik
Elektronik

Elektronikken er baseret på et ESP-12F-modul. En lille mængde supportelektronik bruges til at regulere batteriet og sørge for automatisk tænding og slukning.

Effektstyringen sker via EN-signalet på ESP-12F, som skal være højt for at modulet kan starte. Dette holdes lavt af 1M modstanden, men kan trækkes højt af MOSFET -transistoren. 4u7 kondensatoren giver et minimum af flere sekunders aktivering, selv efter at MOSFET slukker.

MOSFET -transistoren tændes i første omgang ved, at en af de roterende kodeomskiftere jordes, når den drejer. Den kan derefter blive ved med et GPIO -signal, når ESP8266 -koden starter.

MOSFET slukker, når GPIO -signalet frigives, efter at inaktivitet i en timeout -periode er registreret.

Trin 3: Montering

montage
montage
montage
montage

Jeg udførte følgende samlingstrin.

  • Udskriv 3d kabinet
  • Monter tænd/sluk -kontakt og 3 -polet opladerpunkt. Brug harpiks til at fastgøre på plads og klippe interne mærker ned til minimumslængde
  • Klip benene ned på drejeknappen, så de flugter med basen for at minimere højden
  • Fastgør 4 ledninger til kontrol. Den ene side af trykknapkontakten er forbundet til det centrale stik på kodningsafbryderne.
  • Monter encoder i etui og fastgør med monteringsmøtrikken. Tilføj knap
  • Monter regulatoren på kondensatoren, og fastgør ledninger fra den til strømstifterne på ESP-12F-modulet
  • Lodde andre elektroniske komponenter på bagsiden af ESP-12F-modulet. Jeg brugte emaljeret kobbertråd til at tilslutte disse. En kort trådstub blev brugt på EN -stiften, da denne har flere komponenter knyttet til den.
  • Lodde på tilslutningskablet til tænd / sluk -kontakten
  • Lodning på batteri fører til opladningspunkt og fødning fra tænd / sluk -kontakt
  • Lodning på ledning fra tænd/sluk -kontakt til regulatorindgang.
  • Fastgør de 4 ledninger fra encoderen til kortet.

Bemærk, at jeg brugte smd -komponenter hele vejen igennem for at holde størrelsen så lille som muligt. Hvis du bruger større komponenter, skal du sandsynligvis øge højden på 3d -kabinettet. Ligeledes hvis du bruger et andet batteri. Dimensionerne er let justerbare i SCAD -filen.

Trin 4: Software

Softwaren til dette projekt er tilgængelig på

Det er et Arduino -baseret projekt, så opret et esp8266 Arduino -udviklingsmiljø. Du vil måske indstille adgangskoder til WifiManager og softwareopdatering i ino -filen til noget mere fornuftigt.

Det skal kompileres i Arduino ESP8266 IDE og uploades serielt til modulet.

Første gangs brug starter et adgangspunkt, som skal forbindes til på en telefon eller tablet -telefon. Se kode for adgangskode. Browser på telefon eller tablet skal derefter bruges til at få adgang til 192.168.4.1, som tillader valg af lokalt wifi ssid og adgangskode. Dette skal kun gøres én gang, eller hvis wifi -netværket ændres. Fra da af vil modulet oprette forbindelse til det lokale wifi -netværk, hvis det kræves.

Nogle supportfiler bør også uploades. Disse findes i gitens datamappe. De kan uploades ved at få adgang til ip/upload. Når disse er blevet uploadet, kan ip/edit bruges til at foretage yderligere upload på en lettere måde.

Trin 5: Konfiguration

Konfigurationen findes i filen rotaryEncoderConfig.txt

Dette har to basisparametre (værtsnavn og inaktivitet timeout millisekunder plus konfiguration af op til 3 roterende encodere.

Selvom denne build kun bruger 1 encoder, giver det anvendte bibliotek mulighed for op til 3.

Hver encoder har en linje i konfigurationsfilen med et antal parametre.

  • pin1, pin2, knap GPIO pins
  • min værdi af encoder
  • maks. værdi for encoder
  • startpositionsværdi (sidste værdi huskes også, når den aktiveres.
  • handlingstype, der skal udføres 0 = Ingen, 1 = web GET, 2 = UDP / Lightwave, 3 = MQTT
  • interval er minimumsvarighed i ms mellem handlinger
  • handlingsskabelon er en grundlæggende skabelon til handling
  • par1, par2, par3, par4, par5 er yderligere parametre

Handlingsskabelonen har variabler, der erstattes før brug

  • $ p Rotary position
  • $ d Rotationsretning
  • $ e encoder nummer (0 er først)
  • $ l gør en lysbølgefunktion
  • $ x, $ y, $ z, $ u, $ v substitut par1 - par5
  • $ t erstat ændringstæller
  • $ c erstatte komma

Trin 6: Betjening

Efter at wifi er konfigureret, aktiveres kontrollen ved at klikke på den et trin begge veje. Dette ændrer ikke positionen eller udløser en handling.

Fra da af vil enhver rotation udløse den konfigurerede handling. Det mindste handlingsinterval vil potentielt begrænse de handlinger, der udføres, når kontrollen drejes. For eksempel, hvis minimumsintervallet er 2000mS, kan en hurtig rotation bare sende den første og sidste ændring. Den sidste position vil altid udløse en handling, så hvis en dæmper styres, vil dens værdi afspejle slutpositionen, selvom nogle mellemliggende trin går glip af.

LightwaveRF betjening

Et eksempel vises i den medfølgende konfigurationsfil. Den grundlæggende handling er UDP til Lightwaverf -linket. Værts -ip og portnummer sættes i par1 og par2. Rum-/enhedsstrengen sættes i par3.

Linket skal først parres med linket, så det kan acceptere kommandoer fra mac8 -adressen til esp8266. For at gøre dette skal du placere en fil kaldet initLink, txt til arkivsystemet og derefter sende en kommando ved at dreje kontrollen et trin (efter aktivering). Dette sender en parringskommando til linket, som skal bekræftes ved at trykke på en knap på linket. InitLink -filen slettes automatisk.

Vedligeholdelse

Enheden kan sættes i en vedligeholdelsestilstand, hvor den ikke slukker automatisk ved at tænde med drejeknappen trykket ind. For at få den ud af denne tilstand skal du bare slukke og tænde igen.

Anbefalede: