라즈베리 파이 가변 저항기
이 튜토리얼은 라즈베리 파이와 포텐셔미터(일명 포트, 트리머, 가변 저항기, 레오스타트 또는 회전 각도 센서)를 사용하는 방법을 안내합니다. 자세히 알아볼 내용은 다음과 같습니다:
- 포텐쇼미터의 작동 원리.
- 포텐쇼미터를 Raspberry Pi에 연결하는 방법.
- Raspberry Pi를 프로그래밍하여 포텐쇼미터의 값을 읽는 방법.
- 읽은 값을 전압, 서보 모터의 각도, 모터의 속도, LED의 밝기 등 다른 값으로 변환하는 방법.
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 | |||
---|---|---|---|---|
Angle | rotated by user | 0° | → | ANGLE_MAX |
Voltage | from potentiometer's pin | 0V | → | 3.3 |
ADC value | read by Raspberry Pi | 0 | → | 65536 |
Other value | converted by Raspberry Pi | VALUE_MIN | → | VALUE_MAX |
Wiring Diagram
- 라즈베리 파이 포텐셔미터 배선도 (브레드보드 없이)
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- 라즈베리 파이 가변저항 연결 다이어그램 (브레드보드 포함)
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
배선 구성을 간단하고 체계적으로 만들기 위해, Raspberry Pi용 스크루 터미널 블록 실드 사용을 권장합니다. 이 실드는 아래와 같이 더욱 안정적이고 관리하기 쉬운 연결을 제공합니다:
라즈베리 파이 코드로 가변 저항기의 값을 읽는 방법
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 라이브러리가 설치되어 있는지 확인하세요. 설치되어 있지 않다면 다음 명령어를 사용하여 설치하세요:
- 라즈베리 파이 터미널에서 다음 명령어를 실행하여 Adafruit_ADS1x15 라이브러리를 설치하세요.
- Python 스크립트 파일 potentiometer.py을 생성하고 다음 코드를 추가하세요:
- 파일을 저장하고 터미널에서 다음 명령을 실행하여 Python 스크립트를 실행합니다:
- 포텐셔미터를 돌리세요.
- 터미널에서 결과를 확인하세요.
스크립트는 터미널에서 Ctrl + C를 누를 때까지 계속해서 무한 루프로 실행됩니다.
Video Tutorial
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.