Indholdsfortegnelse:
- Trin 1: Komponenter og værktøjer påkrævet
- Trin 2: Elektronik
- Trin 3: Montering
- Trin 4: Software
- Trin 5: Konfiguration
- Trin 6: Betjening
Video: Rotary Encoder -knap: 6 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
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
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
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
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:
Timer med Arduino og Rotary Encoder: 5 trin
Timer med Arduino og Rotary Encoder: Timeren er et værktøj, der ofte bruges i både industrielle og husholdningsaktiviteter. Denne samling er billig og let at lave. Den er også meget alsidig og kan indlæse et program, der er valgt efter behov. Der er flere programmer skrevet af mig til Ardui
Rotary Encoder Controlled Robot Arm: 6 trin
Rotary Encoder Controlled Robot Arm: Jeg besøgte howtomechatronics.com og så den bluetooth kontrollerede robotarm der. Jeg kan ikke lide at bruge bluetooth, plus jeg så, at vi kan styre servo med roterende encoder, så jeg redesigner det, så jeg kan styre robotten arm brug roterende encoder og optag det
Power Timer Med Arduino og Rotary Encoder: 7 trin (med billeder)
Power Timer Med Arduino og Rotary Encoder: Denne Power Timer er baseret på timeren vist på: https: //www.instructables.com/id/Timer-With-Arduin…Et strømforsyningsmodul og et SSR (solid state relæ) ) blev fastgjort til det. Effektbelastninger på op til 1KW kan betjenes og med minimale ændringer kan l
USB -volumenknap ved hjælp af DigiSpark og Rotary Encoder: 3 trin
USB -volumenknap ved hjælp af DigiSpark og Rotary Encoder: Dette er en superbillig USB -lydstyrkeknap. Nogle gange er traditionelle knapper mere bekvemme at styre tingene frem for at klikke med musen overalt. Dette projekt bruger DigiSpark, en Rotary Encoder og Adafruit Trinket USB Library (https: //github.c
Rotary Encoder - Forstå og brug det (Arduino/anden ΜController): 3 trin
Rotary Encoder - Forstå og brug det (Arduino/anden ΜController): En roterende encoder er en elektromekanisk enhed, der konverterer rotationsbevægelse til digital eller analog information. Den kan dreje med eller mod uret. Der er to typer roterende encodere: Absolutte og relative (inkrementelle) encoders.Wh