Talaan ng mga Nilalaman:

Button ng Rotary Encoder: 6 na Hakbang
Button ng Rotary Encoder: 6 na Hakbang

Video: Button ng Rotary Encoder: 6 na Hakbang

Video: Button ng Rotary Encoder: 6 na Hakbang
Video: LDmicro 19: Rotary Encoder Menu Navigation (Microcontroller PLC Ladder Programming with LDmicro) 2024, Nobyembre
Anonim
Pindutan ng Rotary Encoder
Pindutan ng Rotary Encoder

Ito ay isang umiinog na remote control batay sa isang rotary encoder. Mayroon itong mga sumusunod na tampok.

  • Pinapatakbo ang baterya na may napakababang kasalukuyang pagkonsumo kapag naaktibo
  • Awtomatikong pag-aktibo kapag ang kontrol ay pinaikot
  • Awtomatikong pagtulog pagkatapos ng isang panahon ng hindi aktibo
  • Mga configure na pagkilos kapag binago ang kontrol

    • Simpleng pag-access sa web na may naiulat na posisyon
    • Pag-uulat ng MQTT
    • Pagkontrol ng Lighwaverf lamp dimmer
  • Napakaliit na sukat
  • Mura
  • Pag-update ng software sa pamamagitan ng wifi
  • Pamamahala ng pag-access sa wifi network

Hakbang 1: Kailangan ng Mga Bahagi at Kasangkapan

Mga Kailangan ng Mga Bahagi at Kasangkapan
Mga Kailangan ng Mga Bahagi at Kasangkapan
Mga Kailangan ng Mga Bahagi at Kasangkapan
Mga Kailangan ng Mga Bahagi at Kasangkapan
Mga Kailangan ng Mga Bahagi at Kasangkapan
Mga Kailangan ng Mga Bahagi at Kasangkapan

Ang mga sumusunod na sangkap ay kinakailangan

Kaso - 3D naka-print na enclosure na magagamit sa

www.thingiverse.com/thing<<173779

  • Module ng ESP-12F ESP8266
  • Pagkontrol ng Rotary Encoder (EC11) + Knob
  • On / Off slide switch
  • 3 pin na socket
  • LIPO na baterya 400mAh 802030
  • 3.3V boltahe refulator (xc6203)
  • 220uF capacitor
  • Mga resistor na 1M, 4K7 (2)
  • Schottky diode 1N5819 (2)
  • P channel MOSFET (AO3401)
  • Enamel wire (solderable)
  • I-hook up ang kawad

Ang mga sumusunod na tool ay kinakailangan

Pinong point iron na panghinang

Hakbang 2: Elektronika

Elektronika
Elektronika

Ang electronics ay batay sa isang module na ESP-12F. Ang isang maliit na halaga ng suporta electronics ay ginagamit upang makontrol ang baterya, at magbigay para sa auto switch on at off.

Ang kontrol ng kuryente ay sa pamamagitan ng signal ng EN sa ESP-12F na dapat maging mataas para mapalakas ang module. Pinapanatili itong mababa ng 1M risistor ngunit maaaring mahila ng mataas ng MOSFET transistor. Ang 4u7 capacitor ay nagbibigay ng isang minimum na ilang segundo ng pag-activate kahit na matapos ang MOSFET ay naka-off.

Ang MOSFET transistor ay paunang naka-on ng isa sa mga rotary encode switch na na-grounded habang lumiliko ito. Maaari itong mapanatili sa pamamagitan ng isang senyas ng GPIO habang nagsisimula ang code ng ESP8266.

Ang MOSFET ay naka-off kapag ang signal ng GPIO ay pinakawalan pagkatapos ng hindi aktibo para sa isang oras ng pag-timeout na napansin.

Hakbang 3: Assembly

Assembly
Assembly
Assembly
Assembly

Ginawa ko ang mga sumusunod na hakbang sa pagpupulong.

  • I-print ang enclosure ng 3d
  • Pagkasyahin sa / off switch at 3 pin charger point. Gumamit ng dagta upang ayusin sa lugar at i-clip ang panloob na mga tag sa minimum na haba
  • I-clip down ang mga binti sa rotary control upang mapula ang mga ito sa base upang mabawasan ang taas
  • Maglakip ng 4 na mga wire upang makontrol. Ang isang bahagi ng switch ng pindutan ng push ay konektado sa gitnang konektor ng mga switch ng encode.
  • Maglakip ng encoder kung sakali at ligtas kasama ang mounting nut nito. Magdagdag ng Knob
  • I-mount regulator sa capacitor at ilakip ang mga wires mula dito sa mga power pin sa module na ESP-12F
  • Maghinang ng iba pang mga elektronikong sangkap sa likurang bahagi ng module na ESP-12F. Gumamit ako ng enamel na tanso na kawad upang maikabit ito. Ang isang maikling tuod ng kawad ay ginamit sa EN pin dahil mayroon itong maraming mga sangkap na nakakabit dito.
  • Solder sa hook up wire sa on / off switch
  • Ang solder sa baterya ay humahantong sa charger point at feed mula sa on / off switch
  • Solder sa wire mula sa on / off switch sa input ng regulator.
  • Ikabit ang 4 na kawad mula sa encoder sa board.

Tandaan Gumamit ako ng mga sangkap ng smd sa buong lugar upang mapanatili ang laki ng maliit hangga't maaari. Kung gumagamit ng mas malaking mga sangkap kung gayon ay kakailanganin mong dagdagan ang taas ng enclosure ng 3d. Gayundin kung gumagamit ka ng ibang sukat na baterya. Ang mga sukat ay madaling maiakma sa SCAD file.

Hakbang 4: Software

Ang software para sa proyektong ito ay magagamit sa https://github.com/roberttidey/RotaryEncoder Button

Ito ay isang proyekto na nakabatay sa Arduino kaya't nag-set up ng isang esp8266 na Arduino na kapaligiran sa pag-unlad. Maaaring gusto mong itakda ang mga password para sa WifiManager at pag-update ng software sa ino file sa isang bagay na mas may katuturan.

Dapat itong maiipon sa Arduino ESP8266 IDE at serial na nai-upload sa module.

Ang unang pagkakataon na paggamit ay magsisimula ng isang access point na dapat ay konektado sa isang telepono o tablet phone. Tingnan ang code para sa password. Pagkatapos ay dapat gamitin ang browser sa telepono o tablet upang ma-access ang 192.168.4.1 na magpapahintulot sa pagpili ng lokal na wifi ssid at password. Kailangan lang itong gawin nang isang beses o kung nagbago ang wifi network. Mula noon sa modyul ay kumokonekta sa lokal na wifi network kung kinakailangan.

Ang ilang mga file ng suporta ay dapat ding i-upload. Ang mga ito ay nasa folder ng data ng git. Maaari silang mai-upload sa pamamagitan ng pag-access sa ip / upload. Kapag na-upload na ang mga ito ay maaaring gamitin ang ip / edit upang makagawa ng karagdagang pag-upload sa isang mas madaling paraan.

Hakbang 5: Pag-configure

Nakapaloob ang pagsasaayos sa rotaryEncoderConfig.txt file

Mayroon itong dalawang mga pangunahing parameter (host name at inactivity timeout milliseconds plus pag-configure hanggang sa 3 rotary encoder.

Bagaman gumagamit lamang ang build na ito ng 1 encoder, pinapayagan ng library na ginamit hanggang sa 3.

Ang bawat encoder ay may isang linya sa config file na may isang bilang ng mga parameter.

  • pin1, pin2, pindutan ng GPIO pin
  • min na halaga ng encoder
  • max na halaga ng encoder
  • panimulang halaga ng posisyon (ang huling halaga ay maaalala rin kapag naaktibo.
  • uri ng pagkilos upang maisagawa ang 0 = Wala, 1 = web GET, 2 = UDP / Lightwave, 3 = MQTT
  • agwat ay minimum na tagal sa ms sa pagitan ng mga aksyon
  • ang template ng pagkilos ay pangunahing template para sa pagkilos
  • Ang par1, par2, par3, par4, par5 ay mga karagdagang parameter

Ang template ng pagkilos ay may mga variable na maaaring mapalitan bago gamitin

  • $ p Rotary na posisyon
  • $ d Paikot na direksyon
  • $ e encoder number (0 ang una)
  • Gumagawa ang $ l ng isang lightwave function
  • $ x, $ y, $ z, $ u, $ v substiute par1 - par5
  • $ t kapalit ng counter ng pagbabago
  • $ c kapalit na kuwit

Hakbang 6: Pagpapatakbo

Matapos ang wifi ay na-set up pagkatapos ay ang control ay aktibo sa pamamagitan ng pag-click dito ng isang hakbang sa alinmang paraan. Hindi nito binabago ang posisyon o nagpapalitaw ng isang aksyon.

Mula noon sa anumang pag-ikot ay magpapalitaw sa naka-configure na aksyon. Ang minimum na agwat ng pagkilos ay potensyal na limitahan ang mga pagkilos na isinagawa habang ang kontrol ay pinaikot. Halimbawa kung ang minimum na agwat ay 2000mS kung gayon ang isang mabilis na pag-ikot ay maaaring magpadala lamang ng una at huling pagbabago. Ang huling posisyon ay palaging magpapalitaw ng isang aksyon kaya kung ang isang dimmer ay kinokontrol kung gayon ang halaga nito ay makikita ang posisyon ng pagtatapos kahit na ang ilang mga panandaliang hakbang ay napalampas.

Pagpapatakbo ng LightwaveRF

Ang isang halimbawa ay ipinapakita sa ibinigay na config file. Ang pangunahing aksyon ay UDP sa link ng Lightwaverf. Ang host ip at numero ng port ay inilalagay sa par1 at par2. Ang string ng Room / Device ay inilalagay sa par3.

Dapat i-pares muna ang link sa link upang payagan itong tumanggap ng mga utos mula sa mac address ng esp8266. Upang magawa ang lugar na ito ng isang file na tinatawag na initLink, mag-txt sa system ng pag-file at pagkatapos ay magpadala ng isang utos sa pamamagitan ng pag-ikot ng kontrol ng isang hakbang (pagkatapos ng pag-aktibo). Magpapadala ito ng isang utos ng pagpapares sa link na dapat kilalanin sa pamamagitan ng pagpindot sa isang pindutan sa link. Ang initLink file ay awtomatikong natanggal.

Pagpapanatili

Ang aparato ay maaaring ilagay sa isang mode ng pagpapanatili kung saan hindi ito awtomatikong papatayin, sa pamamagitan ng pag-on gamit ang paikot na kontrol na itinulak. Upang makawala ito sa mode na ito i-off at ibalik muli muli.

Inirerekumendang: