라즈베리 파이 가변 저항기

이 튜토리얼은 라즈베리 파이와 포텐셔미터(일명 포트, 트리머, 가변 저항기, 레오스타트 또는 회전 각도 센서)를 사용하는 방법을 안내합니다. 자세히 알아볼 내용은 다음과 같습니다:

Hardware Preparation

1×Raspberry Pi 4 Model B Amazon
1×Potentiometer 쿠팡 | Amazon
1×(Alternative) Potentiometer Kit Amazon
1×(Alternative) Potentiometer Module with Knob Amazon
1×ADS1115 ADC Module Amazon
1×Breadboard 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(추천) Screw Terminal Block Shield for Raspberry Pi 쿠팡 | Amazon
1×(추천) USB-C Power Cable with On/Off Switch for Raspberry Pi 4B Amazon
1×(추천) Plastic Case and Cooling Fan for Raspberry Pi 4B Amazon
1×(추천) HDMI Touch Screen Monitor for Raspberry Pi Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

포텐시오미터에 대하여

회전형 포텐셔미터는 회전형 각도 센서로도 알려져 있으며, 항목의 값을 수동으로 조정하는 데 사용됩니다. 예로는 스테레오의 볼륨, 램프의 밝기, 오실로스코프의 확대 수준이 있습니다.

포텐셔미터 핀 배치

포텐셔미터 핀아웃

포텐셔미터는 일반적으로 세 개의 핀을 가지고 있습니다.

  • GND 핀은 그라운드(0V)에 연결되어야 합니다.
  • VCC 핀은 VCC(5V 또는 3.3V)에 연결되어야 합니다.
  • 출력 핀은 전압을 Raspberry Pi의 입력 핀으로 보냅니다.
포텐셔미터 핀아웃

※ NOTE THAT:

GND 핀과 VCC 핀은 교환할 수 있습니다.

어떻게 작동하는지

포텐셔미터의 회전 가능한 샤프트는 GND에 가장 가까운 0°에서 최대 각도인 VCC 핀에 가장 가까운 각도로 이동할 수 있습니다. 이 최대 각도를 ANGLE_MAX라고 합니다.

※ NOTE THAT:

ANGLE_MAX의 값은 제조업체에 의해 결정됩니다. 일반적으로 우리는 여기에 주의를 기울이지 않지만, 회전 각도를 계산해야 할 때(사용 사례 섹션을 참조) 예외입니다.

포텐셔미터 작동 원리

작동 원리:

  • 사용자가 가변 저항기의 샤프트를 회전함
  • ⇒ 가변 저항기의 각도가 변경됨
  • ⇒ 가변 저항기의 저항이 변경됨
  • ⇒ 가변 저항기의 출력 핀에 있는 전압이 변경됨
  • ⇒ Raspberry Pi가 읽는 아날로그 값이 변경됨

라즈베리 파이 - 가변 저항기

Raspberry Pi 보드는 내장된 ADC가 없습니다. 포텐셔미터에서 아날로그 전압을 읽으려면 외부 ADC 모듈(ADS1115 모듈 등)을 사용해야 합니다.

  • 전위차계는 ADS1115 모듈에 연결됩니다.
  • ADS1115 모듈은 전위차계의 전압을 ADC 값으로 변환합니다.
  • 라즈베리 파이는 ADS1115 모듈에 연결하여 I2C 인터페이스를 통해 ADC 값을 읽습니다.

ADS1115 모듈은 고해상도 16비트 ADC 변환 모듈입니다. 이 모듈은 0V에서 3.3V까지의 전압 범위를 0에서 65535까지의 ADC 값 범위로 변환합니다.

ADC 값을 얻으면 이 값을 다른 값으로 재조정할 수 있습니다. 몇 가지 예시 응용 프로그램을 고려해 봅시다.

  • 포텐셔미터의 전압으로 다시 조정합니다.
  • 스테레오의 볼륨으로 다시 조정합니다.
  • LED의 밝기로 다시 조정합니다.
  • DC 모터의 속도로 다시 조정합니다.
  • 서보 모터의 각도로 다시 조정합니다.

범위 조정

FROM TO
Anglerotated by userANGLE_MAX
Voltagefrom potentiometer's pin 0V3.3
ADC valueread by Raspberry Pi 065536
Other valueconverted by Raspberry Pi VALUE_MINVALUE_MAX

Wiring Diagram

  • 라즈베리 파이 포텐셔미터 배선도 (브레드보드 없이)
라즈베리 파이 가변 저항 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

  • 라즈베리 파이 가변저항 연결 다이어그램 (브레드보드 포함)
라즈베리 파이 ADS1115 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

배선 구성을 간단하고 체계적으로 만들기 위해, Raspberry Pi용 스크루 터미널 블록 실드 사용을 권장합니다. 이 실드는 아래와 같이 더욱 안정적이고 관리하기 쉬운 연결을 제공합니다:

Raspberry Pi Screw Terminal Block Shield

라즈베리 파이 코드로 가변 저항기의 값을 읽는 방법

Detailed Instructions

  • Raspberry Pi에 Raspbian 또는 다른 호환되는 운영 체제를 설치했는지 확인하세요.
  • Raspberry Pi가 PC와 동일한 로컬 네트워크에 연결되어 있는지 확인하세요.
  • 일부 라이브러리를 설치해야 할 경우 Raspberry Pi가 인터넷에 연결되어 있는지 확인하세요.
  • 처음으로 Raspberry Pi를 사용하는 경우, Raspberry Pi 설정 방법을 참조하세요.
  • Linux 및 macOS에서는 내장 SSH 클라이언트를 사용하고, Windows에서는 PuTTY를 사용하여 SSH를 통해 PC를 Raspberry Pi에 연결하세요. PC를 Raspberry Pi에 SSH로 연결하는 방법을 참조하세요.
  • RPi.GPIO 라이브러리가 설치되어 있는지 확인하세요. 설치되어 있지 않다면 다음 명령어를 사용하여 설치하세요:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • 라즈베리 파이 터미널에서 다음 명령어를 실행하여 Adafruit_ADS1x15 라이브러리를 설치하세요.
sudo pip install Adafruit-ADS1x15
  • Python 스크립트 파일 potentiometer.py을 생성하고 다음 코드를 추가하세요:
# 이 Raspberry Pi 코드는 newbiely.kr 에서 개발되었습니다 # 이 Raspberry Pi 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. # 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: # https://newbiely.kr/tutorials/raspberry-pi/raspberry-pi-potentiometer import time import Adafruit_ADS1x15 # Create an ADS1115 ADC object adc = Adafruit_ADS1x15.ADS1115() # Set the gain to ±4.096V (adjust if needed) GAIN = 1 # Main loop to read and display the analog value try: while True: # Read the raw analog value from channel A3 raw_value = adc.read_adc(3, gain=GAIN) # Convert the raw value to voltage voltage = raw_value / 32767.0 * 4.096 # Assumes 4.096 V range for GAIN=1 # Print the results print("Raw Value: {} \t Voltage: {:.2f} V".format(raw_value, voltage)) # Add a delay between readings (adjust as needed) time.sleep(1) except KeyboardInterrupt: print("\nExiting the program.")
  • 파일을 저장하고 터미널에서 다음 명령을 실행하여 Python 스크립트를 실행합니다:
python3 potentiometer.py
  • 포텐셔미터를 돌리세요.
  • 터미널에서 결과를 확인하세요.
PuTTY - Raspberry Pi
Raw Value: 0 Voltage: 0.00 V Raw Value: 620 Voltage: 0.38 V Raw Value: 1024 Voltage: 0.63 V Raw Value: 1850 Voltage: 1.13 V Raw Value: 2000 Voltage: 1.22 V Raw Value: 3000 Voltage: 1.83 V Raw Value: 3270 Voltage: 2.00 V Raw Value: 4100 Voltage: 2.51 V Raw Value: 4095 Voltage: 2.51 V

스크립트는 터미널에서 Ctrl + C를 누를 때까지 계속해서 무한 루프로 실행됩니다.

Video Tutorial

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.