아두이노 나노 ESP32 - 전압 측정 | Arduino Nano ESP32 - Measure Voltage
이 가이드에서는 전압 센서를 사용하여 0V에서 25V 사이의 전압을 측정하는 방법에 대해 배우게 될 것입니다. 설명할 내용은 다음과 같습니다:
- 아두이노 나노 ESP32와 전압 센서 연결 방법
- 센서에서 전압을 측정하기 위해 아두이노 나노 ESP32에 코드를 작성하는 방벼
Hardware Preparation
1 | × | Arduino Nano ESP32 | Amazon | |
1 | × | USB Cable Type-C | 쿠팡 | Amazon | |
1 | × | Voltage Sensor | 쿠팡 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (Optional) 9V Power Adapter for Arduino Nano ESP32 | Amazon | |
1 | × | (Recommended) Screw Terminal Expansion Board for Arduino Nano | 쿠팡 | Amazon |
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.
전압 센서 소개
전압 센서는 매우 정확한 저항기를 사용하여 전압을 쉽게 측정할 수 있도록 내장된 전압 분배 회로가 있는 장치입니다. 이에는 두 개의 저항기가 포함되어 있는데, 하나는 30 KΩ이고 다른 하나는 7.5 KΩ입니다. ADC가 5V 기준 전압을 사용할 경우 이 센서는 0에서 25V DC까지의 전압을 확인할 수 있습니다. ADC의 기준 전압이 3.3V인 경우, 센서는 0에서 16.5V DC까지의 전압을 확인할 수 있습니다.
핀배열
전압 센서는 두 그룹의 핀으로 구성되어 있습니다:
- 입력 인터페이스(전압을 측정할 필요가 있는 곳에 연결하세요):
- VCC 핀: 이 긍정 핀을 더 높은 전압 지점에 연결하세요.
- GND 핀: 이 부정 핀을 더 낮은 전압 지점에 연결하세요.
- 출력 인터페이스(Arduino Nano ESP32에 연결하세요):
- Vout 핀(S): 이 핀을 Arduino Nano ESP32의 아날로그 핀에 연결하세요.
- NC 핀(+): 이것을 연결하지 마시고, 그대로 두세요.
- GMS 핀(-): 이것을 Arduino Nano ESP32의 GND(0V)에 연결하세요.
image source: diyables.io
Wiring Diagram
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
아두이노 나노 ESP32 코드
/*
* 이 Arduino Nano ESP32 코드는 newbiely.kr 에서 개발되었습니다
* 이 Arduino Nano ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다.
* 상세한 지침 및 연결도에 대해서는 다음을 방문하세요:
* https://newbiely.kr/tutorials/arduino-nano-esp32/arduino-nano-esp32-measure-voltage
*/
#define ANALOG_IN_PIN A7 // The Arduino Nano ESP32 pin connected to voltage sensor
#define REF_VOLTAGE 3.3
#define ADC_RESOLUTION 4096.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);
// set the ADC attenuation to 11 dB (up to ~3.3V input)
analogSetAttenuation(ADC_11db);
}
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);
}
Detailed Instructions
Arduino Nano ESP32를 시작하렠면 다음 단계를 따르세요:
- Arduino Nano ESP32에 익숙하지 않다면, Arduino IDE에서 Arduino Nano ESP32 환경 설정하는 방법에 대한 튜토리얼을 참고하세요.
- Arduino Nano ESP32를 전압 센서에 연결하세요.
- USB 케이블을 사용하여 Arduino Nano ESP32 보드를 컴퓨터에 연결하세요.
- 컴퓨터에서 Arduino IDE를 실행하세요.
- Arduino Nano ESP32 보드와 해당하는 COM 포트를 선택하세요.
- 위의 코드를 복사하여 Arduino IDE에 붙여넣기하세요.
- Arduino IDE에서 Upload 버튼을 눌러 코드를 Arduino Nano ESP32로 전송하세요.
- Arduino Nano ESP32에서 5V와 3.3V 출력을 측정하여 테스트하세요.
- 시리얼 모니터에서 결과를 확인하세요.
COM6
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
Clear output
9600 baud
Newline
※ NOTE THAT:
측정된 값은 표준 전압 기준이 5V이기 때문에 변경될 수 있습니다. 이는 안정적이지 않을 수 있으멜 전원 공급에 따라 달라질 수 있습니다.
Video Tutorial
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.