Grove - Mouser Encoder is a type of mechanical incremental rotary encoder with feedback data of rotary direction and rotary speed[1]. It features standard Grove interface that will save your lots of work in wiring and programming. Also, it is well adapted to heavy duty and a harsh environment. This product can be applied in toys, robots, and consumer input devices.
Note that the rotating speed is designed to be less 1000 rad/min(radian per minute).
It is versatile for different applications in hash environment such as toys, robotics and consumer input devices.
Min. | Typical | Max. | |
Operating voltage(V) | 3.3 | 5.5 | |
Operating current(mA) | 10 | 13 | |
Duty(constant speed) | 50% | ||
Phase difference(constant speed) | π/4 | ||
Pulse per circle | 12 |
Note there are no knob included in product list. Because we think it will make this encoder more versatile for different environments.
Note you can find dimensions file in PDF format, and you can customize a knob according to the dimensions.
Tip: you can just use a suitable hexagonal screwdriver bit if you only are building a prototype for your project.
Parts name | Quantity |
---|---|
Grove - Mouser Encoder(no knob included) | 1 PCS |
Grove - Universal Cable | 1 PCS |
This section will show you how to build an IDE environment for building applications with Grove - Mouser Encoder.
Refer to Seeeduino V4.2(It is exchangeable with Arduino board) for how to build a complete an IDE for your applications, or read Arduino guide if you use Arduino original board.
This demo show how to detect position and detect direction.
Connect materials like follows:
/* Read Quadrature Encoder * Connect Encoder to Pins encoder0PinA, encoder0PinB, and +5V. * * Sketch by max wolf / www.meso.net * v. 0.1 - very basic functions - mw 20061220 * */ int val; int encoder0PinA = 3; int encoder0PinB = 4; int encoder0Pos = 0; int encoder0PinALast = LOW; int n = LOW; void setup() { pinMode (encoder0PinA,INPUT); pinMode (encoder0PinB,INPUT); Serial.begin (115200); } void loop() { n = digitalRead(encoder0PinA); if ((encoder0PinALast == LOW) && (n == HIGH)) { if (digitalRead(encoder0PinB) == LOW) { encoder0Pos--; } else { encoder0Pos++; } Serial.println(encoder0Pos); Serial.println ("/"); } encoder0PinALast = n; }
The output: