Innholdsfortegnelse:
- Trinn 1: Komponenter og verktøy som trengs
- Trinn 2: Elektronikk
- Trinn 3: Montering
- Trinn 4: Programvare
- Trinn 5: Konfigurasjon
- Trinn 6: Drift
Video: Rotary Encoder -knapp: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
Dette er en roterende fjernkontroll basert på en roterende encoder. Den har følgende funksjoner.
- Batteridrevet med svært lavt strømforbruk når den er aktivert
- Automatisk aktivering når kontrollen roteres
- Automatisk søvn etter en periode med inaktivitet
-
Konfigurerbare handlinger når kontrollen endres
- Enkel internettilgang med posisjon rapportert
- MQTT -rapportering
- Kontroll av Lighwaverf lampedimmer
- Veldig liten størrelse
- Lav kostnad
- Programvareoppdatering via wifi
- Administrasjon av tilgang til wifi -nettverk
Trinn 1: Komponenter og verktøy som trengs
Følgende komponenter er nødvendige
Etui - 3D -trykt kabinett tilgjengelig på
www.thingiverse.com/thing:3173779
- ESP-12F ESP8266-modul
- Rotary Encoder control (EC11) + Knott
- Av/på skyvebryter
- 3 -pinners stikkontakt
- LIPO batteri 400mAh 802030
- 3.3V spenningsrefulator (xc6203)
- 220uF kondensator
- Motstander 1M, 4K7 (2)
- Schottky -diode 1N5819 (2)
- P -kanal MOSFET (AO3401)
- Emaljetråd (loddbar)
- Koble til ledningen
Følgende verktøy er nødvendig
Fint punktloddejern
Trinn 2: Elektronikk
Elektronikken er basert på en ESP-12F-modul. En liten mengde støtteelektronikk brukes til å regulere batteriet og sørge for automatisk av- og påslåing.
Strømkontrollen er via EN-signalet på ESP-12F som må være høyt for at modulen skal starte. Dette holdes lavt av 1M -motstanden, men kan trekkes høyt av MOSFET -transistoren. 4u7 kondensatoren gir minst flere sekunders aktivering selv etter at MOSFET slås av.
MOSFET -transistoren slås først på av at en av de roterende kodebryterne blir jordet når den svinger. Den kan deretter fortsette med et GPIO -signal når ESP8266 -koden starter.
MOSFET slås av når GPIO -signalet slippes etter at inaktivitet i en tidsavbruddsperiode er oppdaget.
Trinn 3: Montering
Jeg utførte følgende monteringstrinn.
- Skriv ut 3D -kabinett
- Monter på/av -bryteren og 3 -pinners laderpunkt. Bruk harpiks til å fikse på plass og klipp ned interne tagger til minimum lengde
- Fest bena på dreiekontrollen slik at de er i flukt med basen for å minimere høyden
- Fest 4 ledninger til kontrollen. Den ene siden av trykknappbryteren er koblet til den sentrale kontakten på kodebryterne.
- Fest encoderen i etui og fest den med monteringsmutteren. Legg til knott
- Monter regulatoren på kondensatoren og fest ledninger fra den til strømstiftene på ESP-12F-modulen
- Lodd andre elektroniske komponenter på baksiden av ESP-12F-modulen. Jeg brukte emaljert kobbertråd for å koble disse til. En kort trådstump ble brukt på EN -pinnen, da denne har flere komponenter festet til den.
- Loddetinn på tilkoblingsledningen til av / på -bryteren
- Loddetinn på batteriet fører til ladepunktet og matingen fra av / på -bryteren
- Lodding på ledning fra av/på -bryter til regulatorinngang.
- Fest de 4 ledningene fra koderen til kortet.
Merk at jeg brukte smd -komponenter hele tiden for å holde størrelsen så liten som mulig. Hvis du bruker større komponenter, må du sannsynligvis øke høyden på 3d -kabinettet. På samme måte hvis du bruker et annet batteri. Dimensjonene kan enkelt justeres i SCAD -filen.
Trinn 4: Programvare
Programvaren for dette prosjektet er tilgjengelig på
Det er et Arduino -basert prosjekt, så sett opp et esp8266 Arduino utviklingsmiljø. Det kan være lurt å sette passordene for WifiManager og programvareoppdatering i ino -filen til noe mer fornuftig.
Den bør kompileres i Arduino ESP8266 IDE og serieopplastes til modulen.
Første gangs bruk starter et tilgangspunkt som skal kobles til på en telefon eller nettbrett. Se kode for passord. Nettleseren på telefonen eller nettbrettet bør deretter brukes til å få tilgang til 192.168.4.1 som vil tillate valg av lokal wifi -ssid og passord. Dette trenger bare gjøres en gang, eller hvis wifi -nettverket endres. Fra da av vil modulen koble til lokalt wifi -nettverk om nødvendig.
Noen støttefiler bør også lastes opp. Disse er i datamappen til git. De kan lastes opp ved å gå til ip/upload. Når disse er lastet opp, kan ip/edit brukes til å laste opp videre på en enklere måte.
Trinn 5: Konfigurasjon
Konfigurasjonen finnes i filen rotaryEncoderConfig.txt
Dette har to grunnparametere (vertsnavn og inaktivitet timeout millisekunder pluss konfigurering av opptil 3 roterende kodere.
Selv om denne bygningen bare bruker 1 koder, tillater biblioteket som brukes opptil 3.
Hver encoder har en linje i konfigurasjonsfilen med et antall parametere.
- pin1, pin2, knapp GPIO -pins
- min verdi av encoder
- maks verdi på encoder
- startposisjonsverdi (siste verdi huskes også når den er aktivert.
- type handling som skal utføres 0 = Ingen, 1 = web GET, 2 = UDP / Lightwave, 3 = MQTT
- intervallet er minimumsvarighet i ms mellom handlingene
- handlingsmal er en grunnleggende mal for handling
- par1, par2, par3, par4, par5 er tilleggsparametere
Handlingsmalen har variabler som blir erstattet før bruk
- $ p Rotary posisjon
- $ d Roterende retning
- $ e -kodernummer (0 er først)
- $ l gjør en lysbølgefunksjon
- $ x, $ y, $ z, $ u, $ v substitutt par1 - par5
- $ t erstatningsteller
- $ c erstatte komma
Trinn 6: Drift
Etter at wifi er konfigurert, aktiveres kontrollen ved å klikke den ett trinn begge veier. Dette endrer ikke posisjonen eller utløser en handling.
Fra da av vil enhver rotasjon utløse den konfigurerte handlingen. Minste handlingsintervall vil potensielt begrense handlingene som utføres når kontrollen roteres. For eksempel hvis minimumsintervallet er 2000mS, kan en rask rotasjon bare sende den første og siste endringen. Den siste posisjonen vil alltid utløse en handling, så hvis en dimmer blir kontrollert, vil verdien gjenspeile sluttposisjonen, selv om noen mellomtrinn går glipp av.
LightwaveRF -drift
Et eksempel vises i den medfølgende konfigurasjonsfilen. Den grunnleggende handlingen er UDP til Lightwaverf -lenken. Verts -ip og portnummer settes i par1 og par2. Rom/enhet -strengen settes i par3.
Koblingen må først kobles til lenken for at den skal kunne godta kommandoer fra mac -adressen til esp8266. For å gjøre dette, plasser en fil som heter initLink, txt inn i arkivsystemet og send deretter en kommando ved å rotere kontrollen ett trinn (etter aktivering). Dette sender en sammenkoblingskommando til lenken som må bekreftes ved å trykke på en knapp på lenken. InitLink -filen blir automatisk slettet.
Vedlikehold
Enheten kan settes i en vedlikeholdsmodus der den ikke slår seg av automatisk, ved å slå på med dreieknappen trykket inn. For å få den ut av denne modusen, er det bare å slå den av og på igjen.
Anbefalt:
Timer med Arduino og Rotary Encoder: 5 trinn
Timer med Arduino og Rotary Encoder: Timeren er et verktøy som ofte brukes i både industrielle og husholdningsaktiviteter. Denne monteringen er billig og enkel å lage. Den er også veldig allsidig og kan laste inn et program valgt etter behov. Det er flere programmer skrevet av meg, for Ardui
Rotary Encoder Controlled Robot Arm: 6 trinn
Rotary Encoder Controlled Robot Arm: Jeg besøkte howtomechatronics.com og så den bluetooth kontrollerte robotarmen der. Jeg liker ikke å bruke bluetooth, pluss at jeg så at vi kan kontrollere servo med roterende encoder, så jeg redesigner den slik at jeg kan kontrollere roboten bruk en roterende encoder og ta den opp
ISDT Q6 Rotary Encoder Replacement: 4 trinn
ISDT Q6 Rotary Encoder Replacement: Denne opplæringen er for å hjelpe folk som Q6 -kodere har gått til*over tid nå er ubrukelige. Min begynte å rulle i tilfeldige, uberegnelige retninger, og selv etter å ha reflektert loddeskjøtene og rengjort koder med alkohol var det fortsatt dysfunksjon
Power Timer Med Arduino og Rotary Encoder: 7 trinn (med bilder)
Power Timer With Arduino and Rotary Encoder: Denne Power Timer er basert på timeren som presenteres på: https: //www.instructables.com/id/Timer-With-Arduin…En strømforsyningsmodul og et SSR (solid state relé) ) .Last på opptil 1KW kan betjenes og med minimale endringer
USB volumknapp ved bruk av DigiSpark og Rotary Encoder: 3 trinn
USB volumknapp ved bruk av DigiSpark og Rotary Encoder: Dette er en super billig USB volumkontrollknapp. Noen ganger er tradisjonelle knapper mer praktiske å kontrollere ting i stedet for å klikke musen overalt. Dette prosjektet bruker DigiSpark, en Rotary Encoder og Adafruit Trinket USB Library (https: //github.c