본문으로 이동
주 메뉴
주 메뉴
사이드바로 이동
숨기기
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
학교의 모든 지식. SMwiki
검색
검색
보이기
로그인
개인 도구
로그인
로그아웃한 편집자를 위한 문서
더 알아보기
기여
토론
아두이노:저항계 만들기
편집하기
문서
토론
한국어
읽기
편집
원본 편집
역사 보기
도구
도구
사이드바로 이동
숨기기
동작
읽기
편집
원본 편집
역사 보기
일반
여기를 가리키는 문서
가리키는 글의 최근 바뀜
파일 올리기
문서 정보
보이기
사이드바로 이동
숨기기
Sam
(
토론
|
기여
)
님의 2025년 7월 24일 (목) 07:03 판
(새 문서: {{아두이노}} == 개요 == 저항계 만들기. 오옴미터(Ohmmeter)! === 원리 === {| class="wikitable" !원리 !설명 !비고 |- |전압 분배 법칙 |알려진 저항(R_known)과 측정할 저항(R_unknown)을 직렬로 연결하고, 아두이노의 아날로그 핀(A0)으로 중간 전압을 읽는다. |전압값을 이용해 저항값을 유도하는 방식. 옴의 법칙과 전압 분배 공식 사용. |- |회로 구성 | (Vin=5V) ----[ R_known ]----+----[ R_unkn...)
(차이) ← 이전 판 |
최신판
(
차이
) |
다음 판 →
(
차이
)
경고: 이 문서의 오래된 판을 편집하고 있습니다.
이것을 게시하면, 이 판 이후로 바뀐 모든 편집이 사라집니다.
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
{{아두이노}} == 개요 == 저항계 만들기. 오옴미터(Ohmmeter)! === 원리 === {| class="wikitable" !원리 !설명 !비고 |- |전압 분배 법칙 |알려진 저항(R_known)과 측정할 저항(R_unknown)을 직렬로 연결하고, 아두이노의 아날로그 핀(A0)으로 중간 전압을 읽는다. |전압값을 이용해 저항값을 유도하는 방식. 옴의 법칙과 전압 분배 공식 사용. |- |회로 구성 | (Vin=5V) ----[ R_known ]----+----[ R_unknown ]---- GND | A0 * V<sub>A0</sub> = A0 핀에서 읽는 전압 * R<sub>unknown</sub> = 측정할 저항 |실제로는 R_known = 10kΩ 정도를 많이 사용. |- |계산식 유도 |<math>V_{A0} = \frac{R_{\text{unknown}}}{R_{\text{known}} + R_{\text{unknown}}} \cdot V_{in}</math> ⇒ 정리하면 <math>R_{\text{unknown}} = R_{\text{known}} \cdot \left(\frac{V_{A0}}{V_{in} - V_{A0}}\right)</math> |아두이노가 읽은 전압으로 R_unknown을 계산할 수 있음. |- |주의사항 |R_unknown이 너무 작으면 전류가 많이 흐르고, 너무 크면 오차가 커짐. ⇒ R_known과 R_unknown이 같은 크기일 때 가장 정확함. |10kΩ:10kΩ 또는 10kΩ:100kΩ 정도에서 안정적으로 동작. |} == 최종 코드 == <syntaxhighlight lang="c++"> const int analogPin = A0; const float Vin = 5.0; // 입력 전압 const float R_known = 10000.0; // 기준 저항 10kΩ void setup() { Serial.begin(9600); } void loop() { int raw = analogRead(analogPin); float Vout = raw * (Vin / 1023.0); // A0에서 읽은 전압 float R_unknown = R_known * (Vout / (Vin - Vout)); // 공식 적용 Serial.print("Raw: "); Serial.print(raw); Serial.print(" Vout: "); Serial.print(Vout, 2); Serial.print(" V Measured Resistance: "); Serial.print(R_unknown); Serial.println(" ohms"); delay(1000); } </syntaxhighlight> === 유의사항 === * R_unknown의 한쪽은 반드시 아두이노 GND에 연결되어야 정확한 측정 가능. * A0 핀에 직접 전압을 넣지 않고 반드시 전압 분배 회로를 사용해야 함. * 아두이노의 전원(5V)이 정확하지 않으면 결과 오차가 생김. * 측정할 수 있는 저항 범위는 보통 수백Ω ~ 수백kΩ 정도가 적당. * 저항값이 너무 작으면 발열 및 회로 손상 위험이 있음. === 오차 === {| class="wikitable" !오차 원인 !상세 내용 !해결법 및 완화책 |- |ADC 해상도 제한 |10bit(1024단계)로는 정밀한 변화 감지가 어려움 |고해상도 외부 ADC 사용 또는 평균값 처리 |- |Vin 전압 불안정 |5V 기준이 흔들리면 R_unknown 계산도 흔들림 |정밀 레퍼런스 전압 사용 |- |R_known의 공차 |저항이 표기값과 다를 수 있음(예: ±5%) |정밀 저항(±1% 이하) 사용 |- |노이즈/잡음 |아날로그 측정값에 간섭 발생 |커패시터, 풀다운 저항, 평균화 사용 |- |코드상 반올림 오차 |실수 처리 중 소수점 계산 손실 |float 대신 double, 또는 정밀 처리 |} == 생각해볼 만한 것 == * R_known 값을 바꿔가며 어떤 저항 범위에서 가장 정확하게 측정되는지 실험해보자. * 여러 개의 고정 저항을 토글 스위치로 전환해가며 범위를 바꾸는 ‘자동 스케일 저항계’를 만들어볼 수 있다. * 상용 멀티미터와 비교하여 오차율을 분석해보자. * 블루투스나 OLED, LCD에 측정값을 출력하는 것도 재미있는 확장 프로젝트다. == 해 볼 만한 활동 == * 실제 전자 부품(LED, 가변저항, 센서 등)의 내부 저항을 측정해보자. * 여러 개의 저항을 직렬/병렬로 연결하고 계산값과 측정값을 비교해보자. * 물에 녹인 소금물이나 연필심의 저항을 측정해보고 전도도 실험에 활용해보자.
요약:
학교의 모든 지식. SMwiki에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
학교의 모든 지식. SMwiki:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
이 문서에 포함된 문서:
틀:아두이노
(
편집
)
검색
검색
아두이노:저항계 만들기
편집하기
새 주제