반응형
아두이노 전자식 가변저항 제어 가이드 – MCP41010 SPI 통신으로 디지털 저항 조절하기
손으로 돌리지 않아도 되는 가변저항이 있다면?
바로 전자식 가변저항(Digital Potentiometer)입니다. 이번 글에서는 MCP41010을 아두이노와 SPI 통신으로 연결하여 원하는 저항 값을 코드로 제어하는 방법을 설명합니다.
이 기술은 자동 볼륨 조절, 센서 감도 설정, LED 밝기 조절 등 정밀 제어에 매우 유용합니다.
📦 준비물
- 아두이노 UNO
- MCP41010 디지털 가변저항
- 10kΩ 고정저항 (테스트용)
- LED + 330Ω
- 브레드보드, 점퍼 와이어
🔍 MCP41010 소개
MCP41010은 8핀 IC로, 내부에 256 단계로 조절 가능한 전자식 저항을 포함하고 있습니다. 아두이노와의 통신은 SPI (Serial Peripheral Interface)로 이루어지며, SCK / MOSI / CS 핀을 통해 원하는 저항 값을 설정할 수 있습니다.
⚙️ 핀 연결
MCP41010 핀 | 아두이노 연결 |
---|---|
1 - CS | D10 |
2 - SCK | D13 |
3 - SDI (MOSI) | D11 |
4 - GND | GND |
5 - PW0 | (LED 연결) |
6 - PW1 | GND |
7 - NC | 없음 |
8 - VDD | 5V |
💻 아두이노 코드 예제
아래 코드는 MCP41010의 저항값을 점점 줄이며 LED 밝기를 조절하는 예제입니다.
#include <SPI.h>
const int CS_PIN = 10;
void setup() {
SPI.begin();
pinMode(CS_PIN, OUTPUT);
}
void setResistance(byte value) {
digitalWrite(CS_PIN, LOW);
SPI.transfer(0x11); // Command byte (write to pot 0)
SPI.transfer(value); // 0 ~ 255
digitalWrite(CS_PIN, HIGH);
}
void loop() {
for (int i = 0; i <= 255; i++) {
setResistance(i);
delay(20);
}
}
💡 활용 아이디어
- 🔊 자동 볼륨 조절 시스템 (앰프 제어)
- 💡 조도 감도 조절 (센서 보정)
- 🔁 상태 저장형 저항 설정 (EEPROM과 연동)
✅ 마무리
전자식 가변저항은 아두이노를 활용한 정밀 제어 시스템에서 매우 강력한 도구입니다. 특히 SPI 프로토콜을 통해 제어가 가능하므로, 다른 SPI 기반 장치와 함께 활용하는 고급 프로젝트로 확장할 수 있습니다. 이제 손으로 조절하지 않아도, 코딩으로 저항값을 마음껏 제어하세요!
Arduino 시리즈 19편 | 작성자: YT
반응형
'아두이노' 카테고리의 다른 글
아두이노로 MCP3202 SPI ADC 제어하기 – 12비트 아날로그 입력 읽기 예제 (0) | 2025.04.19 |
---|---|
아두이노 RFID 카드 인식 시스템 만들기 – RC522 모듈로 출입 인증 구현하기 (3) | 2025.04.19 |
아두이노 통합 프로젝트 완성 – 버튼으로 LCD 메뉴 전환 + 센서 제어 시스템 만들기 (0) | 2025.04.19 |
아두이노 피에조 부저 알람 만들기 – tone() 함수로 소리 제어하는 완벽 가이드 (0) | 2025.04.19 |
아두이노 가변저항 입력 완벽 가이드 – Potentiometer로 아날로그 값 읽기와 응용까지 (0) | 2025.04.19 |