302.213.6708 | 8 THE GREEN #5030 DOVER, DE 19901
Cart 0

Rotary encoder module for Arduino

$5.88

Rotary encoder can be counted by rotating forward and reverse direction during rotation of the output pulse frequency,

   Unlike counter rotating potentiometer, this rotation counts are not limited.

   With the buttons on the rotary encoder can be reset to its initial state, that starts counting from 0.

FREE shipping from China warehouse 10-22 days

   ******************

   test code:

   const int interruptA = 0; / / Interrupt 0 (pin 2)

   const int interruptB = 1; / / Interrupt 1 (pin 3)

   int CLK = 2; / / PIN2

   int DAT = 3; / / PIN3

   int BUTTON = 4; / / PIN4

   int LED1 = 5; / / PIN5

   int LED2 = 6; / / PIN6

   int COUNT = 0;

   void setup ()

   {

   attachInterrupt (interruptA, RoteStateChanged, FALLING);

   / / AttachInterrupt (interruptB, buttonState, FALLING);

   pinMode (CLK, INPUT);

   digitalWrite (2, HIGH); / / Pull High Restance

   pinMode (DAT, INPUT);

   digitalWrite (3, HIGH); / / Pull High Restance

   pinMode (BUTTON, INPUT);

   digitalWrite (4, HIGH); / / Pull High Restance

   pinMode (LED1, OUTPUT);

   pinMode (LED2, OUTPUT);

   Serial.begin (9600);

   }

   void loop ()

   {

   if (! (digitalRead (BUTTON)))

   {

   COUNT = 0;

   Serial.println ("STOP COUNT = 0");

   digitalWrite (LED1, LOW);

   digitalWrite (LED2, LOW);

   delay (2000);

   }

   Serial.println (COUNT);

   }

   / / -------------------------------------------

   void RoteStateChanged () / / When CLK FALLING READ DAT

   {

   if (digitalRead (DAT)) / / When DAT = HIGH IS FORWARD

   {

   COUNT;

   digitalWrite (LED1, HIGH);

   digitalWrite (LED2, LOW);

   delay (20);

   }

   else / / When DAT = LOW IS BackRote

   {

   COUNT -;

   digitalWrite (LED2, HIGH);

   digitalWrite (LED1, LOW);

   delay (20);

   }

   }

 



More from this collection