아두이노 우노 R4 전압 측정

이 가이드에서는 Arduino UNO R4와 전압 센서를 사용하여 0V에서 25V 사이의 전압을 측정하는 방법을 배웁니다. 우리는 다음을 논의할 것입니다:

아두이노 우노 R4 전압 센서

준비물

1×아두이노 우노 R4 와이파이 쿠팡 | 아마존
1×(또는) 아두이노 우노 R4 미니마 쿠팡 | 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×Voltage Sensor 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(추천) 아두이노 우노 R4용 스크루 터미널 블록 쉴드 쿠팡 | 아마존
1×(추천) 아두이노 우노 R4용 브레드보드 쉴드 쿠팡 | 아마존
1×(추천) 아두이노 우노 R4용 케이스 쿠팡 | 아마존
1×(추천) 아두이노 우노 R4용 전원 분배기 쿠팡 | 아마존
1×(추천) 아두이노 우노용 프로토타이핑 베이스 플레이트 & 브레드보드 키트 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

전압 센서에 대하여

전압 센서는 전압 측정을 쉽게 할 수 있도록 정확한 저항기를 사용하는 전압 분배기라는 기성 회로입니다. 30 KΩ 및 7.5 KΩ의 두 개의 저항기를 가지고 있습니다. ADC의 기준 전압이 5V일 때 이 센서는 0에서 25V DC까지의 전압을 측정할 수 있습니다. ADC의 기준 전압이 3.3V일 경우, 0에서 16.5V DC까지의 전압을 측정할 수 있습니다.

핀아웃

전압 센서에는 두 가지 유형의 핀이 있습니다:

  • 입력 인터페이스 (측정할 전압이 있는 위치에 연결):
    • VCC 핀: 이 핀은 양극 핀입니다. 전압이 더 높은 곳에 연결합니다.
    • GND 핀: 이 핀은 음극 핀입니다. 전압이 더 낮은 곳에 연결합니다.
  • 출력 인터페이스 (Arduino UNO R4에 연결):
    • Vout 핀 (S): 이 핀은 신호 핀입니다. Arduino UNO R4의 아날로그 핀에 연결합니다.
    • NC 핀 (+): 연결하지 마십시오. 사용되지 않습니다.
    • G& 핀 (-): 이 핀은 접지 핀입니다. Arduino UNO R4의 GND (0V)에 연결합니다.
    전압 핀 배치
    image source: diyables.io

선연결

아두이노 우노 R4 전압 센서 배선도

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

아두이노 UNO R4 코드

/* * 이 아두이노 우노 R4 코드는 newbiely.kr 에서 개발되었습니다 * 이 아두이노 우노 R4 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-uno-r4/arduino-uno-r4-measure-voltage */ #define ANALOG_IN_PIN A0 #define REF_VOLTAGE 5.0 #define ADC_RESOLUTION 1024.0 #define R1 30000.0 // resistor values in voltage sensor (in ohms) #define R2 7500.0 // resistor values in voltage sensor (in ohms) void setup() { Serial.begin(9600); } void loop() { // read the analog input int adc_value = analogRead(ANALOG_IN_PIN); // determine voltage at adc input float voltage_adc = ((float)adc_value * REF_VOLTAGE) / ADC_RESOLUTION; // calculate voltage at the sensor input float voltage_in = voltage_adc * (R1 + R2) / R2; // print results to serial monitor to 2 decimal places Serial.print("Measured Voltage = "); Serial.println(voltage_in, 2); delay(500); }

자세한 사용 방법

다음 지침을 단계별로 따르십시오:

  • Arduino Uno R4 WiFi/Minima를 처음 사용하는 경우, 아두이노 우노 R4 - 소프트웨어 설치을 참조하세요.
  • 제공된 다이어그램에 따라 부품을 연결하세요.
  • USB 케이블을 사용하여 Arduino Uno R4 보드를 컴퓨터에 연결하세요.
  • 컴퓨터에서 Arduino IDE를 실행하세요.
  • 적절한 Arduino Uno R4 보드(예: Arduino Uno R4 WiFi)와 COM 포트를 선택하세요.
  • Arduino UNO R4를 전압 센서와 연결하세요.
  • USB 케이블을 사용하여 Arduino UNO R4를 컴퓨터에 연결하세요.
  • Arduino IDE를 열고 올바른 보드와 포트를 선택하세요.
  • 제공된 코드를 복사하여 Arduino IDE에서 엽니다.
  • Arduino IDE에서 Upload 버튼을 클릭하여 코드를 Arduino UNO R4로 전송하세요.
  • Arduino UNO R4에서 5V와 3.3V를 측정하여 테스트하세요.
  • 시리얼 모니터에서 결과를 확인하세요.
COM6
Send
Measured Voltage = 4.96 Measured Voltage = 4.96 Measured Voltage = 4.96 Measured Voltage = 4.96 Measured Voltage = 3.39 Measured Voltage = 3.39 Measured Voltage = 3.39 Measured Voltage = 3.39
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

측정 결과가 실제 값과 다르거나 잘못될 수 있습니다. 이는 전압 센서 모듈의 오류가 아닙니다. 문제는 표준 전압 기준이 5V인데, 이는 불안정할 수 있으며 전원 공급 장치에 따라 달라질 수 있기 때문입니다. 이 문제를 해결하기 위한 몇 가지 방법은 다음과 같습니다:

  • Arduino UNO R4에 적합한 전압을 제공하는 전원 공급 장치를 사용하십시오. 아두이노 UNO R4의 5V 핀이 실제로 5V를 출력하는지 전압계를 사용하여 확인하세요.
  • 외부 3.3V 전압 참조를 사용하십시오. 이 방법으로는 0에서 16.5V DC 사이의 전압만 측정할 수 있음을 기억하세요.

3.3V 기준으로 전압 측정하기

이 방법을 사용하려면 먼저 하드웨어와 코드를 준비하십시오. 하드웨어의 경우, 아두이노 UNO R4의 AREF 핀을 다이어그램에 나온 대로 3.3V에 연결하십시오.

아두이노 우노 R4 전압 측정 배선도

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

Arduino Uno R4와 기타 부품에 전원을 공급하는 가장 효과적인 방법을 확인하시려면, 아래 링크를 참조하세요: 아두이노 우노 R4 전원 공급 방법.

다음으로, 이 코드를 사용하십시오:

/* * 이 아두이노 우노 R4 코드는 newbiely.kr 에서 개발되었습니다 * 이 아두이노 우노 R4 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-uno-r4/arduino-uno-r4-measure-voltage */ #define ANALOG_IN_PIN A0 #define REF_VOLTAGE 3.3 #define ADC_RESOLUTION 1024.0 #define R1 30000.0 // resistor values in voltage sensor (in ohms) #define R2 7500.0 // resistor values in voltage sensor (in ohms) void setup() { Serial.begin(9600); analogReference(EXTERNAL); } void loop() { // read the analog input int adc_value = analogRead(ANALOG_IN_PIN); // determine voltage at adc input float voltage_adc = ((float)adc_value * REF_VOLTAGE) / ADC_RESOLUTION; // calculate voltage at the sensor input float voltage_in = voltage_adc * (R1 + R2) / R2; // print results to serial monitor to 2 decimal places Serial.print("Measured Voltage = "); Serial.println(voltage_in, 2); delay(500); }

동영상

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

관련 튜토리얼