DIY 저항 측정기 만들기|아두이노 분압 회로·계산 공식·코드 완전 정리

저항값을 측정하기 위해 반드시 비싼 계측기가 필요한 것은 아닙니다. 5V 전원, 기준저항, 브레드보드, 아두이노만 있으면 저항 측정의 기본 원리를 직접 실험할 수 있습니다.

DIY 저항 측정기의 핵심은 전압 분배 법칙입니다. 기준저항과 측정 대상 저항을 직렬로 연결하고 두 저항 사이의 전압을 측정하면 옴의 법칙을 이용해 미지의 저항값을 계산할 수 있습니다.

이 글에서는 멀티테스터의 저항 측정 원리를 간단히 이해하고, 아두이노를 이용한 저항 측정 회로의 부품 준비부터 배선, 계산 공식, 실제 코드, 오차 보정, 측정 범위 확장까지 단계별로 설명합니다.

아두이노 우노와 브레드보드를 이용한 DIY 저항 측정기 제작 방법을 설명하는 인포그래픽. Arduino 5V 전원, 1kΩ 기준저항 Rref, 측정 대상 저항 Rx, A0 아날로그 입력, GND를 연결하는 분압 회로도와 실제 배선 예시를 보여준다. 저항 계산 공식 Rx = Rref × Vx / (Vin - Vx), 100Ω·470Ω·1kΩ·4.7kΩ·10kΩ 저항의 전압 계산 예제, 아두이노 코드와 시리얼 모니터 출력, 측정 범위별 기준저항 선택 방법, 오차 개선 요령 및 안전 주의사항을 정리한 이미지.


핵심 요약
  • 측정 원리: 기준저항과 미지의 저항을 이용한 전압 분배
  • 기본 구성: Arduino Uno, 1kΩ 기준저항, 브레드보드, 점퍼선
  • 측정 전원: 아두이노 5V 출력
  • 측정 입력: 아날로그 A0 핀
  • 계산 공식: Rx = Rref × Vx / (Vin - Vx)
  • 실습 범위: 기준저항과 비슷한 값에서 상대적으로 유리
  • 안전 원칙: 전원이 연결된 외부 회로의 저항은 측정하지 않음

1. 멀티테스터는 저항을 어떻게 측정할까?

디지털 멀티테스터는 내부 측정 회로를 통해 대상 저항에 작은 시험 전류를 흘리거나 전압을 인가하고, 그에 따른 전압과 전류 관계를 이용해 저항값을 구합니다.

기본이 되는 공식은 옴의 법칙입니다.

V = I × R

전압(V) = 전류(I) × 저항(R)

R = V / I

실제 디지털 멀티테스터 내부 회로는 제품에 따라 정전류 방식, 범위 전환, 보호 회로, 보정 회로 등을 사용합니다. 따라서 모든 멀티테스터가 단순한 분압 회로로 구성된 것은 아닙니다.

하지만 저항과 전압의 관계를 학습하는 DIY 프로젝트에는 분압 회로가 가장 이해하기 쉬운 방법 중 하나입니다.

2. DIY 저항 측정기에 필요한 부품

부품 수량 용도
Arduino Uno 호환 보드1개아날로그 전압 측정 및 계산
브레드보드1개회로 구성
1kΩ 저항1개기준저항 Rref
측정할 저항여러 개미지의 저항 Rx
점퍼선3~5개배선 연결
USB 케이블1개보드 전원 및 PC 통신
멀티테스터선택측정값 검증 및 보정

처음에는 1kΩ 기준저항 하나로 시작하고, 이후 100Ω과 10kΩ 기준저항을 추가해 측정 범위를 확장하는 방법을 권장합니다.

3. 저항 측정의 핵심인 분압 회로 원리

분압 회로는 두 개의 저항을 직렬로 연결했을 때 각 저항에 걸리는 전압이 저항값에 비례해 나뉘는 회로입니다.

다음과 같이 연결합니다.

Arduino 5V
    |
    |
 Rref = 1kΩ
    |
    +---------- Arduino A0
    |
    |
 Rx = 측정 대상 저항
    |
    |
Arduino GND

여기서 A0 핀은 Rref와 Rx가 연결된 중간 지점의 전압을 측정합니다.

측정 대상 Rx에 걸리는 전압을 Vx라고 하면 다음 관계가 성립합니다.

Vx = Vin × Rx / (Rref + Rx)

Rx = Rref × Vx / (Vin - Vx)

Vin은 회로에 공급되는 전압, Rref는 기준저항, Rx는 측정할 저항입니다.

이 공식은 이상적인 저항과 충분히 높은 입력 임피던스를 가진 전압 측정기를 가정합니다.

4. 실제 계산 예제: 1kΩ 저항을 측정한다면?

기준저항 Rref가 1,000Ω이고 공급 전압이 5V라고 가정하겠습니다.

측정 대상 저항도 1,000Ω이라면 분압 회로의 중간 전압은 다음과 같습니다.

Vx = 5 × 1000 / (1000 + 1000)

Vx = 2.5V

Rx = 1000 × 2.5 / (5 - 2.5)

Rx = 1,000Ω

즉, 5V 전원에서 중간 전압이 2.5V로 측정되면 두 저항이 동일한 값이라는 것을 알 수 있습니다.

다른 저항을 연결했을 때

측정 저항 Rx 중간 전압 Vx 특징
100Ω약 0.455V기준저항보다 작음
470Ω약 1.599V기준저항보다 작음
1kΩ2.500V기준저항과 같음
4.7kΩ약 4.123V기준저항보다 큼
10kΩ약 4.545V기준저항보다 큼

※ 위 수치는 Vin = 5V, Rref = 1kΩ인 이상적인 회로의 계산값입니다. 실제 측정값은 부품 오차와 ADC 특성에 따라 달라질 수 있습니다.

5. 브레드보드에 저항 측정 회로 연결하기

회로 구성은 비교적 간단합니다. 다만 연결 순서가 잘못되면 아두이노 A0 입력에 의도하지 않은 전압이 걸릴 수 있으므로 배선을 확인한 후 전원을 연결하세요.

  1. 아두이노의 USB 케이블을 분리합니다.
  2. 아두이노 5V 핀을 브레드보드의 전원 레일에 연결합니다.
  3. 아두이노 GND 핀을 브레드보드 GND 레일에 연결합니다.
  4. 1kΩ 기준저항의 한쪽을 5V에 연결합니다.
  5. 기준저항의 다른 쪽을 브레드보드의 측정 노드에 연결합니다.
  6. 측정할 저항 Rx의 한쪽을 측정 노드에 연결합니다.
  7. Rx의 다른 쪽을 GND에 연결합니다.
  8. 측정 노드를 아두이노 A0 핀에 연결합니다.
  9. 배선이 올바른지 확인한 후 USB 전원을 연결합니다.

브레드보드에서는 같은 행에 연결된 구멍들이 내부적으로 이어지는 경우가 많습니다. 브레드보드의 내부 연결 구조를 확인하고 부품을 배치하세요.

6. 아두이노로 저항값 측정하는 코드

아래 코드는 Arduino Uno의 기본 10비트 ADC를 이용한 실습 예제입니다.

중요한 점은 회로 전원과 ADC 기준전압을 모두 아두이노의 동일한 전원 계통으로 사용하면 전원 전압의 절대값 대신 ADC 비율로 저항을 계산할 수 있다는 것입니다.

따라서 이 예제에서는 5.00V라는 고정값을 코드에 넣지 않습니다.

const int analogPin = A0;
const float Rref = 1000.0;

void setup() {
  Serial.begin(9600);
  analogReference(DEFAULT);
}

void loop() {
  long sum = 0;

  for (int i = 0; i < 20; i++) {
    sum += analogRead(analogPin);
    delay(5);
  }

  float adc = sum / 20.0;

  if (adc <= 1.0) {
    Serial.println("Near 0 ohm or short");
  }
  else if (adc >= 1022.0) {
    Serial.println("Open or over range");
  }
  else {
    float Rx = Rref * adc / (1023.0 - adc);

    Serial.print("ADC: ");
    Serial.print(adc, 1);

    Serial.print(" | Resistance: ");
    Serial.print(Rx, 1);
    Serial.println(" ohm");
  }

  delay(1000);
}

코드 동작 원리

  • analogRead(A0): 분압 회로의 중간 전압을 ADC 값으로 변환합니다.
  • 20회 평균: 측정값의 순간적인 변동을 줄입니다.
  • Rref: 실제 사용한 기준저항값을 입력합니다.
  • 1023.0 - adc: 기준저항에 걸리는 전압 비율을 나타냅니다.
  • 시리얼 모니터: 계산한 저항값을 1초마다 표시합니다.

위 코드는 학습용 예제이며, ADC 값이 극단적으로 낮거나 높으면 측정 오차가 커집니다. 또한 개방 상태와 측정 범위를 벗어난 큰 저항을 완벽하게 구별하는 것은 아닙니다.

7. 실제 저항값을 측정해 보기

1kΩ 기준저항을 연결한 상태에서 470Ω, 1kΩ, 4.7kΩ 등의 저항을 차례로 측정해 보세요.

  1. 아두이노 IDE에서 코드를 업로드합니다.
  2. 시리얼 모니터를 열고 통신 속도를 9600bps로 설정합니다.
  3. 측정 대상 저항을 연결합니다.
  4. 시리얼 모니터에 표시되는 값을 확인합니다.
  5. 멀티테스터로 같은 저항을 별도로 측정합니다.
  6. 두 측정값의 차이를 기록합니다.

저항을 교체할 때는 전원을 분리한 상태에서 배선을 변경하는 것이 안전합니다.

8. DIY 저항 측정기의 오차가 발생하는 이유

분압 회로는 단순하지만 실제 계측에서는 여러 오차가 발생합니다.

오차 원인 설명 개선 방법
기준저항 오차표시값과 실제값 차이정밀저항 사용·실측값 입력
ADC 양자화 오차10비트 해상도의 한계적절한 측정 범위 선택
전원·기준전압 노이즈전압 변동과 잡음배선 개선·평균 측정
브레드보드 접촉저항접점 불량 또는 산화접촉 상태 확인
측정 범위 불일치Rx와 Rref 차이가 큼기준저항 변경
외부 회로의 영향병렬 연결 부품의 영향저항을 회로에서 분리해 측정

9. 기준저항 Rref는 어떻게 선택해야 할까?

측정하려는 저항값과 기준저항값이 비슷하면 ADC 입력 전압이 중간 범위에 위치해 측정하기 유리합니다.

측정 대상 기준저항 예시 활용
수십~수백 Ω100Ω저저항 실습
수백 Ω~수 kΩ1kΩ일반 저항 실습
수 kΩ~수십 kΩ10kΩ고저항 실습

위 범위는 교육용 대략적인 예시이며, 실제 정확도는 ADC 해상도와 회로 조건에 따라 달라집니다.

10. 측정 오차 계산 방법

DIY 저항 측정기의 성능을 확인하려면 멀티테스터 측정값을 기준으로 상대 오차를 계산할 수 있습니다.

상대 오차(%) = |DIY 측정값 - 기준값| / 기준값 × 100

예를 들어 멀티테스터에서 1,000Ω으로 측정된 저항이 DIY 측정기에서 1,030Ω으로 표시되었다면 상대 오차는 3%입니다.

정확도를 개선하려면 먼저 기준저항의 실제값을 측정한 뒤 코드의 Rref 값을 수정해 보세요.

11. 저항 측정기의 자동 범위 전환 기능 만들기

하나의 기준저항만 사용하면 측정 범위가 제한됩니다.

기준저항을 여러 개 준비하고 스위치나 릴레이로 선택하면 더 넓은 범위의 저항을 측정할 수 있습니다.

예시 구성

  • Rref1 = 100Ω
  • Rref2 = 1kΩ
  • Rref3 = 10kΩ

처음에는 3단 스위치로 기준저항을 직접 선택하는 방식이 간단합니다.

자동 범위 전환을 구현하려면 마이크로컨트롤러가 ADC 값을 확인하고 적절한 기준저항을 선택하도록 릴레이 또는 아날로그 스위치를 제어할 수 있습니다.

다만 스위칭 소자의 온저항과 누설전류가 측정 오차에 영향을 줄 수 있으므로 회로 설계 시 고려해야 합니다.

12. LCD·OLED를 연결해 독립형 측정기로 확장하기

PC의 시리얼 모니터 없이 저항값을 표시하고 싶다면 LCD나 OLED 디스플레이를 연결할 수 있습니다.

  • 16×2 LCD: 간단한 저항값 표시
  • 0.96인치 OLED: 소형 휴대용 표시기 제작
  • 버튼: 측정 범위 변경
  • 배터리 전원: 휴대용 계측기 구성
  • 부저: 도통 검사 기능 추가

도통 검사 기능은 일정 저항값 이하일 때 부저를 울리도록 구현할 수 있습니다. 다만 전문 멀티테스터처럼 빠르고 정확한 도통 판정 성능을 보장하지는 않습니다.

13. DIY 저항 측정기를 만들 때 반드시 지켜야 할 안전 수칙

중요: 전원이 공급되는 회로에 직접 연결하지 마세요.

이 프로젝트는 저전압 교육용 회로이며, 외부 전원이 연결된 장비의 저항 측정 용도로 사용해서는 안 됩니다.

  • 220V AC 전원이나 고전압 회로에 연결하지 않습니다.
  • 외부 전원이 인가된 회로의 저항을 측정하지 않습니다.
  • 대용량 커패시터에 잔류 전압이 있는 회로는 연결하지 않습니다.
  • 아두이노 A0 입력에 허용 범위를 넘는 전압을 인가하지 않습니다.
  • 저항 교체와 배선 변경은 전원을 분리한 상태에서 진행합니다.
  • PCB에 장착된 저항은 다른 부품의 병렬 경로 때문에 측정값이 달라질 수 있습니다.
  • 이 회로를 상용 멀티테스터의 안전 대체품으로 사용하지 않습니다.

14. 멀티테스터와 DIY 저항 측정기 비교

항목 일반 디지털 멀티테스터 DIY 분압식 측정기
측정 범위제품 사양에 따라 넓음기준저항에 따라 제한
정확도제품 사양으로 규정부품·ADC·보정에 좌우
보호 기능제품별 입력 보호 회로기본 회로에는 없음
학습 효과계측기 사용법 학습옴의 법칙·ADC·회로 설계 학습
확장성제품 기능에 따라 다름코드·디스플레이·통신 추가 가능

DIY 측정기는 교육과 실험에는 유용하지만, 전문적인 정비와 안전이 필요한 계측에는 적절한 사양의 멀티테스터를 사용해야 합니다.

아두이노 우노를 이용한 DIY 저항 측정기의 제작과 실습 과정을 설명한 인포그래픽. 브레드보드에 5V 전원, 1kΩ 기준저항, 측정 대상 저항, A0 입력, GND를 연결하는 6단계 배선 방법과 아두이노 코드, 시리얼 모니터의 저항 측정 결과를 보여준다. 멀티테스터 측정값과 DIY 측정값의 오차 비교표, 전압 분배 공식, 저항값별 전압 계산 예제, 측정 범위에 따른 기준저항 선택법, 오차 감소 방법, LCD·OLED 표시장치 확장 및 전원이 연결된 회로의 저항 측정 금지 등 안전 수칙을 함께 정리한 이미지.


15. 자주 묻는 질문 FAQ

Q1. 아두이노만으로 저항값을 측정할 수 있나요?

아두이노의 ADC와 기준저항을 이용한 분압 회로를 구성하면 저항값을 계산할 수 있습니다.

Q2. 기준저항은 반드시 1kΩ이어야 하나요?

아닙니다. 측정하려는 저항 범위에 맞춰 100Ω, 1kΩ, 10kΩ 등으로 변경할 수 있습니다.

Q3. 아두이노 저항 측정 공식은 무엇인가요?

5V에서 Rref와 Rx를 직렬로 연결하고 Rx 양단 전압을 측정한다면 Rx = Rref × Vx / (Vin - Vx)를 사용할 수 있습니다.

Q4. ADC 값으로 직접 계산할 수 있나요?

Arduino Uno의 기본 10비트 ADC에서 전원과 기준전압이 동일한 경우 Rx = Rref × ADC / (1023 - ADC) 형태로 계산할 수 있습니다.

Q5. 측정값이 계속 변하는 이유는 무엇인가요?

전원 노이즈, 브레드보드 접촉 불량, ADC 양자화 오차, 배선 상태 등이 원인일 수 있습니다. 여러 번 측정해 평균값을 구하면 일부 변동을 줄일 수 있습니다.

Q6. 저항이 연결되지 않으면 어떤 값이 나오나요?

이 회로에서 Rx가 개방되면 A0 전압이 전원 전압에 가까워집니다. 코드는 이를 개방 또는 측정 범위 초과 상태로 표시합니다.

Q7. 0Ω에 가까운 저항도 측정할 수 있나요?

매우 낮은 저항에서는 ADC 값이 0에 가까워져 정확한 측정이 어렵습니다. 저저항 측정에는 별도의 회로 설계가 필요합니다.

Q8. PCB에 납땜된 저항도 측정할 수 있나요?

전원이 완전히 제거된 회로에서도 다른 부품이 병렬로 연결되어 있으면 실제 저항값과 다르게 측정될 수 있습니다. 정확한 측정에는 저항을 회로에서 분리해야 할 수 있습니다.

Q9. 아두이노 대신 ESP32로 만들 수 있나요?

가능합니다. 다만 ESP32의 ADC 입력 범위, 감쇠 설정, 비선형성, 기준전압 특성 등이 Arduino Uno와 다르므로 코드를 수정해야 합니다.

Q10. 멀티테스터보다 정확하게 만들 수 있나요?

기준저항, ADC, 회로 보정에 따라 성능을 개선할 수 있지만 기본적인 아두이노 분압 회로만으로 일반 멀티테스터보다 높은 정확도를 보장하기는 어렵습니다.

Q11. 자동 범위 전환도 구현할 수 있나요?

여러 기준저항과 스위칭 회로를 사용하면 구현할 수 있습니다. 다만 스위치 저항과 누설전류가 오차에 영향을 줄 수 있습니다.

Q12. 220V 전기회로의 저항을 측정해도 되나요?

안 됩니다. 이 DIY 회로는 저전압 교육용입니다. 전원이 공급되는 회로에 연결하면 감전이나 장비 손상 위험이 있습니다.

16. 함께 읽으면 좋은 글

17. 공식 참고 자료

마무리: 분압 회로를 이해하면 저항 측정 원리가 보입니다

DIY 저항 측정기는 단순한 전자회로 실습이지만 옴의 법칙, 전압 분배, 아날로그 입력, ADC 변환, 오차 분석을 한 번에 학습할 수 있는 프로젝트입니다.

처음에는 1kΩ 기준저항과 Arduino Uno를 이용해 470Ω, 1kΩ, 4.7kΩ 저항을 측정해 보세요. 이후 기준저항 전환, OLED 표시, 자동 범위 설정으로 확장하면 더 완성도 높은 학습용 계측기를 만들 수 있습니다.

다만 전원이 연결된 회로나 고전압 장비에는 사용하지 말고, 실제 정비에는 적절한 보호 기능과 정확도를 갖춘 멀티테스터를 사용하세요.

최종 업데이트: 2026년 10월