by Øyvind Nydal Dahl
This Arduino Potentiometer circuit is a simple example that shows you how analog inputs work, and how you can use the Serial Monitor to learn about what is going on inside the chip.
In this quickstart guide, you’ll learn how to connect a potentiometer to an Arduino board and read out the voltage. This is a great practice circuit when you’re learning Arduino. The code is straightforward and the potentiometer connections are simple.
Parts Needed
- Arduino Uno
- Breadboard (and some breadboard wires)
- Potentiometer (Any value above 200 Ω will work)
Arduino Potentiometer Circuit
To connect a potentiometer to an Arduino, connect the middle pin of the potentiometer to an analog input pin on the Arduino. Then connect the outer pins to 5V and GND.
Connecting On a Breadboard
Here’s how you can connect a potentiometer to an Arduino by using a breadboard and some cables:
![Arduino Potentiometer- Circuit and Code Example (2) Arduino Potentiometer- Circuit and Code Example (2)](https://i0.wp.com/www.build-electronic-circuits.com/wp-content/uploads/2023/08/2D_Circuit-Arduino-Potentiometer-dibujo-1024x509.png)
Arduino Potentiometer Code
This Arduino code is an example of reading the voltage from the potentiometer (connected to analog pin A0) and then printing the value of the analog reading to the Serial Monitor.
An analog pin will give you a value between 0 and 1023, where 0 means 0V and 1023 means the maximum voltage possible (usually 5V).
As with all Arduino code, you have the two main functions setup() and loop():
- Inside setup(), you need to configure the Serial port so that you can read out values.
- Inside loop(), you need to read the analog input and print this value out on the Serial port.
Check out the complete code:
Get Our Basic Electronic Components Guide
Learn how the basic electronic components work so that circuit diagrams will start making sense to you.
void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600);}void loop() { // read the input on analog pin 0: int sensorValue = analogRead(A0); // print out the value you read in the Serial Montitor: Serial.println(sensorValue); delay(1); // delay in between reads for stability}
How the Code Works
Inside the setup() function there is only one line: Serial.begin(9600);
This line sets up the serial port of the Arduino so that it’s possible to send data out from the Arduino and into your computer.
Inside the loop() function there are three lines:
int sensorValue = analogRead(A0);
: This line reads the analog voltage present at analog pin A0. It returns a value between 0 and 1023, representing the voltage level on the pin relative to the reference voltage (usually 5V for most Arduino boards). The value is stored in the variablesensorValue
.Serial.println(sensorValue);
: This line prints the value ofsensorValue
to the Serial Monitor so that you can read it.delay(100);
: This line adds a small delay of 100 milliseconds between each reading and printing. This delay prevents the code from running too quickly. This way it’s easier to read the readings on the Serial Monitor.
The end result of this code is that it continuously reads the analog voltage at pin A0, prints the reading (a number between 0 and 1023) to the Serial Monitor, and repeats the process in a loop.
When you turn the potentiometer, the voltage out from the potentiometer will change, and you can observe the changing values in the Serial Monitor. This is a helpful way to visualize the data and debug when things aren’t working as expected.
As you continue learning about Arduino, you can use this as the basis to control other things with the potentiometer, such as in the Arduino Servo Motor guide.
Using The Serial Monitor
To use the Serial Monitor to check the results from the code above, follow these steps:
- Connect your Arduino board to your computer using a USB cable.
- Upload the provided code to your Arduino board using the Arduino IDE.
- Open the Serial Monitor by clicking the magnifying glass icon or using the keyboard shortcut
Ctrl + Shift + M
(Windows/Linux) orCmd + Shift + M
(Mac). - Set the baud rate in the Serial Monitor to 9600 (or the same value as in the
Serial.begin()
function in the code). - Observe the continuous stream of numbers in the Serial Monitor. These numbers represent the analog readings from pin A0.
- Adjust the potentiometer to see how the readings change in real time.
- Close the Serial Monitor when you’re done by clicking the “x” button in the top-right corner.
![Arduino Potentiometer- Circuit and Code Example (4) Arduino Potentiometer- Circuit and Code Example (4)](https://i0.wp.com/www.build-electronic-circuits.com/wp-content/uploads/2023/08/Arduino-Serial-Monitor-screenshot.png)
More Arduino Tutorials
- What is Arduino?
- Arduino Programming Basics
- Arduino Blink LED Example
- Arduino ButtonExample
- Arduino PotentiometerExample
- Arduino Libraries and How To Install Them
- Arduino RGB LED Example
- Arduino Speaker Tutorial
- Arduino Buzzer Tutorial
- Arduino Sound Sensor Guide
- Arduino Light Sensor Example
- Arduino PIR Sensor Circuit
- Arduino Motor Guide: DC Motor
- Arduino Servo Motor Guide
- Arduino Rotary Encoder Tutorial
- Arduino Thermistor Guide
- Arduino Ultrasonic Distance Measurement
- Arduino Hall Effect Sensor Guide
- Arduino Remote Control
- Arduino IR Transmitter Circuit and Code Example
- Arduino IR Receiver Circuit
- Arduino Oscilloscope (old version)
- Updated Arduino Oscilloscope with 7 lines of code
- Controlling a Laser with Arduino
- Controlling a UWB Radar with Arduino
- How to build a robot – Club de Arduino
- From Arduino Prototype to Manufacturable Product
- Arduino Shield Tutorial – Make Your Own Shield
Free Course: Blinking a Light
Join my free email course on how to build a circuit that blinks a light. Enter your details below and you'll receive the first lesson right away: