Editor Version ×
Standard

1.Easy to use and quick to get started

2.The process supports design scales of 300 devices or 1000 pads

3.Supports simple circuit simulation

4.For students, teachers, creators

Profession

1.Brand new interactions and interfaces

2.Smooth support for design sizes of over 5,000 devices or 10,000 pads

3.More rigorous design constraints, more standardized processes

4.For enterprises, more professional users

Ongoing

STD Grove - Rotary Angle Sensor

License:

Mode: Editors' pick

  • 1.8k
  • 0
  • 0
Update time: 2021-04-11 19:05:52
Creation time: 2016-01-09 08:15:52
Description
The potentiometer twig produces analog output between 0 and Vcc (5V DC with Seeeduino) on its D1 connector. The D2 connector is not used. The angular range is 300 degrees with a linear change in value. The resistance value is 10k ohms, perfect for Arduino use. This may also be known as a rotary angle sensor. For all Grove users (especially beginners), we provide you guidance PDF documents. Please download and read through Preface - Getting Started and Introduction to Grove before your using of the product. Document Please visit our wiki page for more info about this product.It will be appreciated if you can help us improve the documents, add more demo code or tutorials. For technical support, please post your questions to our forum. Introduction The rotary angle sensor produces analog output between 0 and Vcc (5V DC with Seeeduino) on its D1 connector. The D2 connector is not used. The angular range is 300 degrees with a linear change in value. The resistance value is 10k ohms, perfect for Arduino use. This may also be known as a “potentiometer ”. Model:COM22735P. ![enter image description here][1] There is another production - Grove - Rotary Angle Sensor(P). What does “P” mean? “P” is for “panel mount” in this product.It is the sister version of Grove - Rotary Angle Sensor. They are identical except the Grove connecter is moved to the back so that you can easily use it as a neat and wire-free human interface device. Model:COM08212P ![enter image description here][2] ![enter image description here][3] Feature Grove Interface Easy to Use Grove Base Module Specification Item Min Typical Max Unit Voltage 4.75 5.0 5.25 VDC Rotary Angle 0 ~ 300 Deg Dimension 19x19x30.1 mm Usage With Arduino The following sketch demonstrates a simple application of using the rotary angle sensor to control the brightness of the LED. The degrees of Rotary Angle Sensor is 0~300 degrees, we should be converted to the corresponding voltage value in demo code for controlling the brightness of the LED. As the picture on the below indicates, the Rotary Angle Sensor sensor is connected to Analog port A0 of the Grove - Basic Shield and the LED is connected to digital port 2. ![enter image description here][4] Copy and paste code below to a new Arduino sketch. /******************************************************************************/ /*macro definitions of Rotary angle sensor and LED pin*/ #define ROTARY_ANGLE_SENSOR A0 #define LED 2//the Grove - LED is connected to D3 of Arduino #define ADC_REF 5//reference voltage of ADC is 5v.If the Vcc switch on the seeeduino //board switches to 3V3, the ADC_REF should be 3.3 #define GROVE_VCC 5//VCC of the grove interface is normally 5v #define FULL_ANGLE 300//full value of the rotary angle is 300 degrees void setup() { Serial.begin(9600); pinsInit(); } void loop() { int degrees; degrees = getDegree(); Serial.println("The angle between the mark and the starting position:"); Serial.println(degrees); int brightness; /*The degrees is 0~300, should be converted to be 0~255 to control the*/ /*brightness of LED */ brightness = map(degrees, 0, FULL_ANGLE, 0, 255); controlBrightness(brightness); delay(500); } void pinsInit() { pinMode(ROTARY_ANGLE_SENSOR, INPUT); pinMode(LED,OUTPUT); } /*PWM control brightness */ /*If brightness is 0,the LED is off. */ /*The Greater the brightness, the brighter the LED.*/ /*The range of brightness is 0~255 */ void controlBrightness(int brightness) { analogWrite(LED,brightness); } /************************************************************************/ /*Function: Get the angle between the mark and the starting position */ /*Parameter:-void */ /*Return: -int,the range of degrees is 0~300 */ int getDegree() { int sensor_value = analogRead(ROTARY_ANGLE_SENSOR); float voltage; voltage = (float)sensor_value*ADC_REF/1023; float degrees = (voltage*FULL_ANGLE)/GROVE_VCC; return degrees; } Upload the code, please click here if you do not know how to upload. Then you can control the LED by rotating the sensor. Have a try! With TI LaunchPad Reading the Potentiometer (Rotary Angle Sensor) This example shows how to read the analog output coming from the Grove potentiometer module. We will be combining a few Grove modules in this example! By turning the potentiometer knob, we will display the analog reading value on the Grove 4-digital display ![enter image description here][5] /* Rotary Angle Sensor Demonstrates analog input by reading an analog sensor on J16 of the Grove Base BoosterPack. The speed of the red LED on the LaunchPad will change depending on the position of the potentiometer knob. This example will also display the analog reading value on the Grove 4-digital display. The circuit: * Potentiometer attached to pin 24 (J6 on Grove Base BoosterPack) * center pin of the potentiometer to the analog pin * one side pin (either one) to ground * the other side pin to VCC (3.3V) * Note: Because of unstable of the voltage, the value of the rotary angle sensor varies slightly from run to run even you don't touch it. Created by Oliver Wang This example code is in the public domain. http://www.seeedstudio.com/wiki/GROVE_-_Starter_Kit_v1.1b#Grove_-_Rotary_Angle_Sensor */ #include "TM1637.h" /* Macro Define */ #define CLK 39 /* 4-digital display clock pin */ #define DIO 38 /* 4-digital display data pin */ #define ROTARY_ANGLE_P 24 /* pin of rotary angle sensor */ /* Global Variables */ TM1637 tm1637(CLK, DIO); /* 4-digital display object */ int analog_value = 0; /* variable to store the value coming from rotary angle sensor */ int8_t bits[4] = {0}; /* array to store the single bits of the value */ /* the setup() method runs once, when the sketch starts */ void setup() { /* Initialize 4-digital display */ tm1637.init(); tm1637.set(BRIGHT_TYPICAL); } /* the loop() method runs over and over again */ void loop() { analog_value = analogRead(ROTARY_ANGLE_P); /* read the value from the sensor */ memset(bits, 0, 4); /* reset array when we use it */ for(int i = 3; i >= 0; i--) { /* get single bits of the analog value */ bits[i] = analog_value % 10; analog_value = analog_value / 10; tm1637.display(i, bits[i]); /* display by 4-digital display */ } delay(100); } With Raspberry Pi This example uses ADC channel 0 to get the value of the rotary angle.Then gives PWM output to change brightness of LED. ![enter image description here][6] # GrovePi + Grove Rotary Angle Sensor (Potentiometer) + Grove LED import time import grovepi # Connect the Grove Rotary Angle Sensor to analog port A0 # SIG,NC,VCC,GND potentiometer = 0 # Connect the LED to digital port D5 # SIG,NC,VCC,GND led = 5 grovepi.pinMode(potentiometer,"INPUT") grovepi.pinMode(led,"OUTPUT") time.sleep(1) # Reference voltage of ADC is 5v adc_ref = 5 # Vcc of the grove interface is normally 5v grove_vcc = 5 # Full value of the rotary angle is 300 degrees, as per it's specs (0 to 300) full_angle = 300 while True: try: # Read sensor value from potentiometer sensor_value = grovepi.analogRead(potentiometer) # Calculate voltage voltage = round((float)(sensor_value) * adc_ref / 1023, 2) # Calculate rotation in degrees (0 to 300) degrees = round((voltage * full_angle) / grove_vcc, 2) # Calculate LED brightess (0 to 255) from degrees (0 to 300) brightness = int(degrees / full_angle * 255) # Give PWM output to LED grovepi.analogWrite(led,brightness) print "sensor_value =", sensor_value, " voltage =", voltage, " degrees =", degrees, " brightness =", brightness except IOError: print "Error" Run the program Find the path to the file(According to your own path) cd GrovePi/Software/Python/ Run Program sudo python grove_rotary_angle_sensor.py [1]: /editor/20160109/5690c3a2b3df9.png [2]: /editor/20160109/5690c3b544a27.png [3]: /editor/20160109/5690c3bd5f8c6.png [4]: /editor/20160109/5690c3fca452b.png [5]: /editor/20160109/5690c424e855c.png [6]: /editor/20160109/5690c449753bc.png
Design Drawing
schematic diagram
1 /
PCB
1 /
The preview image was not generated, please save it again in the editor.
ID Name Designator Quantity
1 DIP - Grove J1 1
2 SEEEDSTUDIO_SCH_FRAME U$2 1
3 PAD-TEST-POINT SIG,VCC,GND,SIG1 4
4 WH09-2-103 ROTATION 1

Unfold

Project Attachments
Empty
Project Members
Target complaint
Related Projects
Change a batch
Loading...
Add to album ×

Loading...

reminder ×

Do you need to add this project to the album?

服务时间

周一至周五 9:00~18:00
  • 0755 - 2382 4495
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 立创EDA微信号

    easyeda

  • QQ交流群

    664186054

  • 立创EDA公众号

    lceda-cn