Sa proyektong ito, mag-i- interface kami ng isang ROTARY ENCODER kasama ang ARDUINO. Ang ARDUINO UNO ay isang ATMEGA controller based development board na dinisenyo para sa mga elektronikong inhinyero at libangan. Sa ARDUINO mayroon kaming 20 I / O pin, kaya maaari naming mai-program ang 20 pin ng UNO upang magamit bilang alinman sa input o output.
Ang isang ROTARY ENCODER ay ginagamit upang malaman ang posisyon ng paggalaw at angular na paggalaw ng isang motor o axis. Karaniwan itong isang aparato ng terminal, na may mga power at ground pin na may kabuuang 5 mga terminal. Ang isang module ng ROTARY ENCODER ay ipinapakita sa ibaba.
Ang mga pin ng isang rotary encoder ay:
- Lupa
- Positive na konektado sa + 5V
- Output signal Isang pin
- Output signal B pin
- Clock pin o karaniwang pin
Nagbibigay ang ENCODER ng mga pulso na kumakatawan sa pagbabago sa posisyon ng baras para maunawaan ng mga system. Isaalang-alang ang isang ROTARY ENCODER ay pinalakas at ang baras ay inilipat.
Tulad ng ipinakita sa talahanayan sa itaas, isaalang-alang ang poste ay inilipat ng orasan na matalino. Sa pamamagitan nito magkakaroon ng Falling Edge sa A terminal pagkatapos ay sa B terminal.
Isaalang-alang ang baras ay inilipat Anti orasan matalino. Sa pamamagitan nito magkakaroon ng Falling Edge sa B terminal pagkatapos ay sa A terminal.
Ang gilid na ito ay magaganap minsan para sa 360/20 = 18 degrees (Ito ay para sa isang Encoder na may 20 posisyon, nagbabago ito mula sa uri hanggang sa uri, mas mataas ang bilang na mas malaki ang kawastuhan).
Sa parehong mga kondisyon sa itaas, makakakuha tayo ng direksyon at antas ng pag-ikot. Sa gayon nakukuha namin ang mga kinakailangang parameter para sa pagkuha ng posisyon ng isang baras.
Kinakailangan ang Mga Bahagi
Hardware: Arduino uno board, pagkonekta ng mga pin, 220Ω risistor, LED (walong piraso), 1KΩ risistor, 220Ω risistor (2 piraso), 100nF capacitor (2 piraso), tinapay board.
Software: Arduino gabi-gabi
Circuit Diagram at Paggawa ng Paliwanag
Ang mga capacitor dito ay para sa pag-neutralize ng contact bouncing effect sa ENCODER. Nang walang mga capacitor magkakaroon ng ilang mga seryosong problema sa pagbabasa ng posisyon.
Kapag ang poste ay inilipat magkakaroon ng oras pagkakaiba sa pagitan ng dalawang output pin output. Makikilala ng Arduino UNO ang pagkakaiba sa oras na ito para sa pakaliwa ng Anti na karunungan sa pag-ikot.
Kung ang pag-ikot ay pakanan sa pag-ikot ang bilang ng binary ay nadagdagan ng isa, at ang bilang na ito ay ipinapakita sa LED port tulad ng ipinakita sa pigura.
Kung ang pag-ikot ay Anti orasan na matalino ang bilang ng binary ay nabawasan ng isa at ang bilang ng binary ay ipinapakita sa LED byte.
Ang pagtatrabaho ng Arduino kasama ang Rotary Encoder ay ipinapaliwanag hakbang-hakbang sa C code na ibinigay sa ibaba.