
Reading a Potentiometer — SIK Circuit 2
Learn to read analog input from a potentiometer and use it to control LED blink speed. Turn the knob to make the LED blink faster or slower — your first step into analog sensors!
Maagizo
Parts & Introduction
Parts & Introduction
In this experiment you'll use a potentiometer (a variable resistor with a knob) to control how fast an LED blinks. This introduces analogRead() — reading voltage levels between 0 and 5V as values from 0 to 1023.
Parts Needed
- 1x Arduino Uno + USB cable
- 1x Breadboard
- 1x Potentiometer (10K)
- 1x LED (any color)
- 1x 330Ω Resistor
- 6x Jumper Wires
Vifaa kwa hatua hii:
SparkFun Inventors Kit - V3.21 kifaa
Arduino Uno R31 kipande
Breadboard1 kipande
Potentiometer (10K)1 kipande
5mm LED1 kipande
330 Ohm Resistor1 kipande
Jumper Wires6 vipandeZana zinazohitajika:
Hardware Hookup
Hardware Hookup
Wiring Instructions
- Place the potentiometer in the breadboard. It has three pins.
- Connect the left pin to GND and the right pin to 5V (or vice versa).
- Connect the middle pin (wiper) to Analog Pin A0.
- Place an LED in the breadboard. Connect the positive leg (longer) to Digital Pin 13.
- Connect the negative leg (shorter) through a 330Ω resistor to GND.
- Connect the 5V and GND rails on the breadboard to the Arduino.
Vifaa kwa hatua hii:
Potentiometer (10K)1 kipande
5mm LED1 kipande
330 Ohm Resistor1 kipande
Breadboard1 kipande
Jumper Wires6 vipandeArduino Code
Arduino Code
Open the Arduino IDE and upload the following sketch to your Arduino board.
/*
SparkFun Inventor's Kit
Example sketch 02 — POTENTIOMETER
Measure the position of a potentiometer and use it to
control the blink rate of an LED. Turn the knob to make
it blink faster or slower!
This code is completely free for any use.
Visit http://learn.sparkfun.com/products/2 for SIK information.
*/
int sensorPin = 0; // Potentiometer on analog pin 0
int ledPin = 13; // LED on digital pin 13
void setup()
{
pinMode(ledPin, OUTPUT);
}
void loop()
{
int sensorValue;
sensorValue = analogRead(sensorPin);
digitalWrite(ledPin, HIGH);
delay(sensorValue);
digitalWrite(ledPin, LOW);
delay(sensorValue);
}Vifaa kwa hatua hii:
Arduino Uno R31 kipandeZana zinazohitajika:
Test & Experiment
Test & Experiment
What You Should See
The LED blinks faster or slower as you turn the potentiometer knob. At one extreme it blinks very fast, at the other it blinks slowly.
Troubleshooting
- Sporadically working: The potentiometer pins may not be making good contact. Press it firmly into the breadboard.
- Not working: Make sure the wiper (middle pin) goes to Analog pin 0, not Digital pin 0.
- LED not lighting: LEDs only work in one direction. Flip it around.
Experiments to Try
- Open the Serial Monitor and print the
sensorValueto see the raw numbers (0-1023). - Use
map()to convert the sensor range to a brightness range and control LED brightness withanalogWrite().
Vifaa
7- $105.00
- 1 kipandeKishikilia Nafasi
- 1 kipandeKishikilia Nafasi
- 1 kipandeKishikilia Nafasi
- Kishikilia Nafasi
- 1 kipande$3.00
- $5.00
CC0 Umma Wote
Mchoro huu umetolewa chini ya CC0. Uko huru kunakili, kubadilisha, kusambaza, na kutumia kazi hii kwa madhumuni yoyote, bila kuomba ruhusa.
Saidia Mtengenezaji kwa kununua bidhaa kupitia Mchoro wao ambapo wanapata Kamisheni ya Mtengenezaji iliyowekwa na Wachuuzi, au unda marudio mapya ya Mchoro huu na uiunganishe kama kiungo katika Mchoro wako kuchangia mapato.