Arduino Rotary Encoder lezing verbeterd (1 / 4 stap)

Stap 1: een beetje over rotary encoders


Waarom zijn rotary encoders zo cool?

  1. In tegenstelling tot een variabele weerstand/potentiometer hebben ze oneindig reizen in elke richting en omdat ze een digitale "grijze code produceren" kunt u hun lezingen naar welke bereik u wilt schalen.
  2. De dubbele richting maakt ze nuttig zijn voor het vergroten of verkleinen van een waarde binnen een variabele of navigeren.
  3. Ten slotte komen veel van deze rotary encoders met een centrum drukknop, die kan worden gebruikt om menuopdrachten selecteert, een teller instellen of doen wat die u maar die bedenken kunt misschien pak een kortstondige drukknop.

Voorwaarden

  1. PPR: pulsen per rotatie - meestal 12, 20 of 24. U ziet ook specificaties voor maximale rotatie in rpm enz. Dit is waarschijnlijk bepaald door het coderingsprogramma de neiging om te "bounce" contacten - zie hieronder.
  2. Detent: de kleine Klik voor de actie, zoals het veren voor een natuurlijke rust punt tussen pulsen. Kan er één detent per puls/cyclus (niet gelijk aan een draaiing van de schacht) of twee.
  3. Bounce: mechanische contacten binnen het coderingsprogramma letterlijk stuiteren genoeg om te gaan uit en weer aan een contactpersoon als roterende, potentieel leiden tot te veel lezingen toegeschreven aan deze fase van de reis tussen detents.
  4. Debounce: Dit kan worden gedaan in de hardware, misschien met een lage waarde keramische condensator tussen elke pin en de grond, of in de software, misschien met een vertraging. In beide gevallen is het doel het creëren van een systeem dat stuiterende contacten negeert.

Tips

  1. Kijk uit voor een schroefdraad sectie in de buurt van de base van de schacht en een passende moer als u wilt koppelen uw encoder in een deelvenster of de behuizing.
  2. Veel knoppen zijn beschikbaar voor rotary encoders, met de meest gemakkelijk beschikbaar komen in 6mm diameter assen.
  3. Aandacht besteden aan of uw encoder schacht gebruikmaakt van een platte gezicht of splines om een juiste pasvorm met de knop.
  4. Het lichaam van de roterende encoder kan ook komen met een verhoogde pin/stub, bestemd om te paren met een klein streepje/gat in uw paneel (waarschijnlijk verborgen door uw knop) en te voorkomen dat uw encoder gedraaid wanneer u draai de knop. Misschien vindt u dat u wilt dit verwijderen als u voldoende wrijving Voorkom encoder lichaam rotatie met behulp van de montage bout schroef van de encoder in het deelvenster of de behuizing kunt maken.
  5. Zorg ervoor dat u erachter te komen waar de detent staat voor uw encoder is en uw code dienovereenkomstig aanpassen. Mijn voorbeeld maakt gebruik van een encoder waarvan pinnen zijn beide losgekoppeld van grond en hoge worden getrokken door hun respectieve input pullup weerstanden. Dit drijft mijn selectie van een RISING-interrupt. Als beide pins verbonden waren om te aarden bij detent, zouden zij moeten code die was op zoek naar FALLING pin spanning.

Gerelateerde Artikelen

Arduino - Rotary encoder eenvoudige voorbeeld KY-040

Arduino - Rotary encoder eenvoudige voorbeeld KY-040

Hallo mensen! Dit is een voorbeeld over het gebruik van de encoder KY-040 Rotary.Zijn erg basic maar als uw nieuwe aan arduino of kon niet vinden geen code, dan heb je iets om mee te beginnen.omdat er weinig documentatie over de Keyes sensor kit.Voer
RGB-Rotary Encoder voorbeeld (ATmega328, AVR)

RGB-Rotary Encoder voorbeeld (ATmega328, AVR)

de bovenstaande setup gebruikt interrupt service routines (ISRs) te interpreteren een roterende encoder.  Het specifieke roterende coderingsprogramma gebruikt bevat ook een RGB LED, die wordt gedreven door PWM.  Er is een video in het volledige artik
Turn Me Kit: Rotary Encoder op Breadboard toegang

Turn Me Kit: Rotary Encoder op Breadboard toegang

Rotary encoders zijn apparaten die de positie en de richting van rotatie met behulp van twee uitgangskanalen, A en B. kunnen overbrengen  We hebben dus een breakout board dat beide breadboard vriendelijk en super eenvoudig samen te stellen is gemaakt
DIY USB DJ Controller

DIY USB DJ Controller

Veel mensen krijgen in DJ deze dagen, of als een middel voor zelfexpressie of een manier om extra geld te verdienen. Ik geniet van DJing want het biedt een interessanter, betrokken en interactieve muziek-luisteren ervaring, of in het gezelschap van v
Gemakkelijk Arduino menu's voor Rotary Encoders

Gemakkelijk Arduino menu's voor Rotary Encoders

Rotary encoders met centrum - drukknoppen zijn cool invoer hardware voor projecten, vooral als u wilt kunnen om te scrollen door menu's en selecteert u opties. Hopelijk dit Instructable krijgt u het vertrouwen uit te proberen een fundamentele menusys
Arduino Nano en Visuino: Control Servo met roterende Encoder

Arduino Nano en Visuino: Control Servo met roterende Encoder

Er zijn een heleboel Instructables hoe control Servo met potentiometer, echter soms is het handig om het te controleren met een Rotary Encoder. In dit Instructable, zal ik u tonen hoe gemakkelijk het is om dit te implementeren met behulp van Visuino
ARDUINO stappenmotor gecontroleerd met roterende encoder en l293d of SN754410NE-chip

ARDUINO stappenmotor gecontroleerd met roterende encoder en l293d of SN754410NE-chip

De stappenmotor zijn zeer nuttig voor veel diy projecten. In de meeste gevallen de microcontroller alle bewegingen van de stepper kunt bepalen, maar in sommige gevallen kunt u handmatig wilt bepalen de stappenmotor een beginpunt instellen, draaien va
Arduino Nano: De roterende Encoder met Visuino

Arduino Nano: De roterende Encoder met Visuino

De Rotary encoders zijn zeer nuttig precieze rotatie sensoren, ook vaak gebruikt als gebruiker gecontroleerd invoerapparaten potentiometers. Ze zijn makkelijk te verbinden met Arduino, en met de hulp van Visuino - een makkelijk te gebruiken grafische
Arduino Nano en Visuino: controle van Stepper Motor met roterende Encoder

Arduino Nano en Visuino: controle van Stepper Motor met roterende Encoder

Soms is het noodzakelijk dat een Stepper Motor volgen de rotatie van een Rotary Encoder voor precieze positionering. Ik heb al van plan Instructable op dit voor een lange tijd, maar uiteindelijk een paar dagen geleden na zoveelste vraag door Visuino
LED Dawn / Sunrise Alarm Clock, nachtlampje & veiligheid Light - Arduino compatibele

LED Dawn / Sunrise Alarm Clock, nachtlampje & veiligheid Light - Arduino compatibele

zoals de nachten geleidelijk verlengd in het najaar van 2011, ik ontdekte de geneugten van Arduino en dacht dat het zou een geweldige manier om iets dat ik voor een lange tijd wilde - een zachte manier om op een winter's ochtend wakker te worden.  He
Aan de slag van Arduino Kit (Absolute Beginner)

Aan de slag van Arduino Kit (Absolute Beginner)

Hallo is kerels, de Arduino Starter Kit geleverd door ElecFreaks (focus op Open hardware 4 jaar) een groot materiaal om gebruikers in het leren van stapsgewijze gunstig. Voor deze kit, er is geen noodzaak voor het solderen, steek gebruik, de aanleg v
Standalone WiFi Radio Control Panel (Arduino Powered)

Standalone WiFi Radio Control Panel (Arduino Powered)

ik wilde een Internet Radio voor een lange tijd, en was blij om te zien de Tinkernut Wifi Radio project (http://tinkernut.com/archives/2387 ), die ik gebouwd en hebben genoten voor een paar maanden.Echter, ik niet echt schelen voor de controle-interf
Automatische Arduino aangedreven Pet Feeder

Automatische Arduino aangedreven Pet Feeder

Dit is mijn automatische pet feeder. Aangedreven door arduino, met behulp van een 3D afgedrukt auger en programmeerbare met twee keer vervoederen een gebruiker instellen hoeveelheid voedsel, met een batterij back-up interne klok.Mijn katten drijven m
Arduino gebaseerde Bi-color LED Matrix Pong Game

Arduino gebaseerde Bi-color LED Matrix Pong Game

Hebben we twee game project instructables tot nu toe met behulp van de jolliFactory Bi-color LED Matrix Driver Module DIY kits die we ontworpen. Deze LED Matrix-module is ontworpen om kunnen keten-zodat u kunt serieschakeling de modules samen aan het