FIRST Global Building Guide Created by REV Robotics 2019, Licensed Under CC BY-SA
7
The REV Robotics Smart Robot Servo is a programmable servo that can switch between standard servo mode, continuous
rotation, and custom angular modes. To unlock these modes, use the SRS Programmer to configure and test the Smart
Robot Servo. See the SRS Programmer User’s Manual for specific information on how to configure the Smart Robot Servo.
2.5
SENSORS
2.5.1
Analog Sensors
Analog sensors provide measurement data within a continuous range by measuring the voltage output of a sensor.
Analog sensors are good for measuring things like angle of rotation, brightness, and distance because the data they
provide spans a continuous range which would correspond to angle, intensity, and range, respectively.
Sensor
Description
Potentiometer
Potentiometers have a limited measurement range of 0° to 180° and will be damaged if they
are forced to rotate farther. The potentiometer has a 5mm hex socket and a Motion Interface
Pattern. Connect this sensor to a shaft to measure the angle of rotation of the shaft. A typical
example is using a potentiometer to measure the angle of a robot arm.
2.5.2
Digital Sensors
Digital sensors are very simple to use because they only provide one single piece of data, which is either a 0 or 1. A good
example of a digital sensor is a limit switch. The switch is either pressed (1), or not pressed (0).
2.5.3
I2C Sensors
I2C is a common electronic communication standard that allows a master device, the Hubs, to communicate with
multiple devices, slaves, attached to the same port. Each connector on a Hub is a separate I2C bus and many different
sensors can be connected to each of the four I2C busses available on both the Control Hub and Expansion Hub. Every I2C
slave device has an address, a number, which is normally fixed by the manufacturer. All of the devices on an individual I2C
bus must have a unique address so that the master can communicate with one sensor at a time. If two devices have the
same address, such as when using two of the same kind of sensor, they must be used on different I2C busses.
Sensor
Address Description
9-Axis IMU
0x28
Each Control Hub and Expansion Hub has an 9-axis IMU (inertial measurement unit)
built-in connected to I2C Port 0. An IMU uses built in accelerometers, gyros, and
magnetometer to collect data about how it is being moved around and then
combines all of those measurements to provide more accurate data about the
speed, rotation and heading of the robot.
Color/Distance
0x39
This sensor can be used to detect specific primary colors or measure the distance
to an object that is within 10cm.
2.5.4
Encoders
Encoders convert information about the rotation of the motor shaft into electrical signals that can be read by the Control
Hub. Inside the Control Hub these electrical signals can be used to provide real world data to make better programming
decisions. For example, a programmer can use this information to calculate how far the robot has gone or how fast a
wheel is spinning. Every DC motor from REV Robotics comes with a quadrature encoder already installed. The encoder
cable should be plugged into the same port from which the motor is powered.
The encoder is a relative encoder, which is also referred to as incremental encoder. It provides information about the
motion of the shaft (e.g. forward at 5 RPM) and only provides data while the shaft is rotating. Stated another way, relative
encoders return information on the incremental change of the motor output shaft. and only provide pulses as the motor
turns; interpreting these pulses into useful information must be done externally in the Control or Expansion Hub. A