안녕하세요. 오늘은 ESP32 MicroPython ADC편입니다. 아날로그 값을 읽는 방법에 대해서 한번 알아보도록 하겠습니다. 혹시 처음 보시는 분들은 아래 링크를 따라서 순서대로 와주시면 될 것 같습니다.
2023.03.14 - [메이커 이야기/ESP32] - ESP32 MicroPython 시작하기
ADC (Analog-to-Digital Converter)란?
ADC는 아날로그 신호를 디지털 신호로 변환하는 기능을 제공합니다.
ESP32 보드는 12비트 ADC를 내장하고 있어, 0~3.3V의 입력 범위를 4096단계로 분해하여 측정할 수 있습니다. ADC를 활용하여 밝기, 온도, 습도 등의 다양한 아날로그 데이터를 측정할 수 있습니다.
ADC를 활용하기 위해서는 machine.ADC() 함수를 사용하여 ADC 핀을 초기화해야 합니다. 그리고 read() 함수를 이용하여 ADC 값을 읽어올 수 있습니다.
아래는 ADC를 이용하여 조도센서의 밝기 값을 측정하는 코드입니다.
조도센서 값 읽어보기
조도센서는 대표적으로 많이 사용하는 아날로그 센서입니다. 아두이노에서는 analogRead()함수를 사용해서 그냥 데이터를 읽어 드리면 되는데 MicroPython에서는 mahcine 라이브러리에 내장되어 있는 ADC함수를 사용해서 읽으면 됩니다.
아래 간단한 코드로 입력해주면 됩니다.
import machine
import time
# 핀 번호 지정 (CDS)
adc_pin_num = 34
# ADC 핀 모드 설정
adc_pin = machine.Pin(adc_pin_num)
adc = machine.ADC(adc_pin)
while True:
# ADC 값 읽어오기
adc_value = adc.read()
print("Brightness:", adc_value)
time.sleep(0.5)
센서는 34번 핀에 연결을 하였는데, 센서를 연결할 때에는 ESP32 핀맵에서 ADC를 지원하는지 살피는게 중요합니다.
아래 핀맵에서 ADC라고 되어 있는 부분을 보시면 GPIO핀에서 ADC가 가능한 핀들의 종류입니다.
그럼 다음에는 DAC 아날로그 출력에 대해서 한번 알아보도록 하겠습니다.
2023.03.14 - [메이커 이야기/ESP32] - ESP32 MicroPython 시작하기
2023.03.16 - [메이커 이야기/ESP32] - ESP32 MicroPython 개발환경 구성하기 : Thonny
2023.03.20 - [메이커 이야기/ESP32] - ESP32 MicroPython 기초 문법 : Python편
2023.03.20 - [메이커 이야기/ESP32] - ESP32 MicroPython GPIO제어 : LED 제어편
2023.03.21 - [메이커 이야기/ESP32] - ESP32 MicroPython GPIO제어(2) : 버튼 제어편
'메이커 이야기 > ESP32' 카테고리의 다른 글
ESP32 MicroPython DAC편 : 아날로그 출력 (0) | 2023.03.29 |
---|---|
ESP32 MicroPython GPIO제어(2) : 버튼 제어편 (0) | 2023.03.21 |
ESP32 MicroPython GPIO제어 : LED 제어편 (0) | 2023.03.20 |
ESP32 MicroPython 기초 문법 : Python편 (0) | 2023.03.20 |
ESP32 MicroPython 개발환경 구성하기 : Thonny (0) | 2023.03.16 |