Potentiometer
A potentiometer is a simple knob that provides a variable resistance, which you can read into the Arch board as an analog value. In this example, you'll connect a Grove - Rotary Angle Sensor (potentiometer) to the Arch's analog Grove connector to control the rate at which the built-in LED1 blinks.
Hardware¶
- Arch Board
- Grove - Rotary Angle Sensor (potentiometer)

Software¶
Import the following code to mbed online compiler
#include "mbed.h"
AnalogIn pot(P0_11); /* Potentiometer middle pin connected to P0_11, other two ends connected to GND and 3.3V */
DigitalOut led(LED1); /* LED blinks with a delay based on the analog input read */
int main()
{
float ain; /* Variable to store the analog input*/
while(1) {
ain = pot.read(); /* Read analog value (output will be any value between 0 and 1 */
led = 1; /* Switch ON LED */
wait(ain); /* Wait for 'ain' Seconds (maximum delay is 1 seconds)*/
led = 0; /* Switch Off LED */
wait(ain); /* Wait for 'ain' Seconds (maximum delay is 1 seconds)*/
}
}
We use AnalogIn class to get the potentiometer's resistance. The pot.read() function returns a analog value. This value is used as the delay seconds for blinking.
More information of AnalogIn can be found at mbed handbook.