Ks0013 keyestudio Rotary Encoder Module: Difference between revisions

From Keyestudio Wiki
Jump to navigation Jump to search
Line 86: Line 86:


==Get One Now==
==Get One Now==
'''Official Website'''


http://www.keyestudio.com/keyestudior-rotary-encoder-module.html
http://www.keyestudio.com/keyestudior-rotary-encoder-module.html
'''Amazon Store'''


https://www.amazon.com/Keyestudio-Rotary-Encoder-Arduino-raspberry/dp/B016XL1KNK/ref=sr_1_sc_1?ie=UTF8&qid=1479114633&sr=8-1-spell&keywords=keyestudior+Rotary+Encoder+Module
https://www.amazon.com/Keyestudio-Rotary-Encoder-Arduino-raspberry/dp/B016XL1KNK/ref=sr_1_sc_1?ie=UTF8&qid=1479114633&sr=8-1-spell&keywords=keyestudior+Rotary+Encoder+Module
[[Category: Sensor]]
[[Category: Sensor]]

Revision as of 15:01, 14 November 2017

Introduction

The rotary encoder can count the pulse outputting times during the process of its rotation in positive and reverse direction by rotating. This rotating counting is unlimited, not like potential counting. It can be restored to initial status to count from 0.
thumb

Specification

  • Power Supply: 5V
  • Interface: Digital
  • Size: 30*20mm
  • Weight: 7g

Connection Diagram


thumb

Sample Code

const int interruptA = 0;       
const int interruptB = 1;       
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);
   }
}

Resources

Video

http://www.keyestudio.com/wp/2016/05/ks0013-keyestudio-rotary-encoder-module-for-arduino/

Datasheet

http://www.keyestudio.com/files/index/download/id/1463648276/

Get One Now

Official Website

http://www.keyestudio.com/keyestudior-rotary-encoder-module.html

Amazon Store

https://www.amazon.com/Keyestudio-Rotary-Encoder-Arduino-raspberry/dp/B016XL1KNK/ref=sr_1_sc_1?ie=UTF8&qid=1479114633&sr=8-1-spell&keywords=keyestudior+Rotary+Encoder+Module