NGHỆ THUẬT
LÀM ĐẸP VÀ SỨC KHỎE
THỦ CÔNG
VĂN HÓA VÀ LỊCH SỬ
GIẢI TRÍ
MÔI TRƯỜNG
THỰC PHẨM VÀ ĐỒ UỐNG
TƯƠNG LAI XANH
KỸ THUẬT NGƯỢC
KHOA HỌC
THỂ THAO
CÔNG NGHỆ
THIẾT BỊ ĐEO
Reading a Potentiometer — SIK Circuit 2
Ed

Tạo bởi

Ed

17. March 2026

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!

Hướng dẫn

1

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
2

Hardware Hookup

Wiring Instructions

  1. Place the potentiometer in the breadboard. It has three pins.
  2. Connect the left pin to GND and the right pin to 5V (or vice versa).
  3. Connect the middle pin (wiper) to Analog Pin A0.
  4. Place an LED in the breadboard. Connect the positive leg (longer) to Digital Pin 13.
  5. Connect the negative leg (shorter) through a 330Ω resistor to GND.
  6. Connect the 5V and GND rails on the breadboard to the Arduino.
3

Arduino Code

Open the Arduino IDE and upload the following sketch to your Arduino board.

potentiometer.inoarduino
/*
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);
}
4

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 sensorValue to see the raw numbers (0-1023).
  • Use map() to convert the sensor range to a brightness range and control LED brightness with analogWrite().

Vật liệu

  • SparkFun Inventor's Kit - V3.2 - 1 kitNOK 999.20
    Xem
  • Arduino Uno R3 - 1 pieceTạm thời
    Xem
  • Breadboard - 1 pieceTạm thời
    Xem
  • Potentiometer (10K) - 1 pieceTạm thời
    Xem
  • 5mm LED - 1 pieceTạm thời
    Xem
  • 330 Ohm Resistor - 1 pieceNOK 24.00
    Xem
  • Jumper Wires - 6 piecessNOK 39.20
    Xem

Công cụ yêu cầu

  • Computer with Arduino IDE

CC0 Phạm vi công cộng

Bản thiết kế này được phát hành theo CC0. Bạn tự do sao chép, sửa đổi, phân phối và sử dụng cho bất kỳ mục đích nào mà không cần xin phép.

Hỗ trợ nhà sáng tạo bằng cách mua sản phẩm qua bản thiết kế, nơi họ nhận Hoa hồng nhà sáng tạo do nhà bán hàng đặt, hoặc tạo phiên bản mới và kết nối trong bản thiết kế riêng để chia sẻ doanh thu.

Thảo luận

(0)

Đăng nhập để tham gia thảo luận

Đang tải bình luận...