본문 바로가기

메이커 이야기/ESP32

ESP32 MicroPython ADC편 : 아날로그 센서 값

반응형

안녕하세요. 오늘은 ESP32 MicroPython ADC편입니다. 아날로그 값을 읽는 방법에 대해서 한번 알아보도록 하겠습니다. 혹시 처음 보시는 분들은 아래 링크를 따라서 순서대로 와주시면 될 것 같습니다.

2023.03.14 - [메이커 이야기/ESP32] - ESP32 MicroPython 시작하기

 

ESP32 MicroPython 시작하기

ESP32를 MicroPython을 사용하여 제어해보는 과정을 만들어보려고 합니다. 그 동안은 Arduino IDE로 ESP32를 제어했었는데요. Python을 종종 사용하는 저에게 C++개발환경보다는 Python을 사용할 수 있다는게

kgu0724.tistory.com


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 시작하기

 

ESP32 MicroPython 시작하기

ESP32를 MicroPython을 사용하여 제어해보는 과정을 만들어보려고 합니다. 그 동안은 Arduino IDE로 ESP32를 제어했었는데요. Python을 종종 사용하는 저에게 C++개발환경보다는 Python을 사용할 수 있다는게

kgu0724.tistory.com

2023.03.16 - [메이커 이야기/ESP32] - ESP32 MicroPython 개발환경 구성하기 : Thonny

 

ESP32 MicroPython 개발환경 구성하기 : Thonny

이번에는 ESP32로 Micropython을 사용하기 위해서 개발환경을 구성해 보도록 하겠습니다. 개발환경은 여러가지가 있습니다만, 이번에 다뤄볼 개발환경은 라즈베리파이에서도 쉽게 찾아 보았던 Thonny

kgu0724.tistory.com

2023.03.20 - [메이커 이야기/ESP32] - ESP32 MicroPython 기초 문법 : Python편

 

ESP32 MicroPython 기초 문법 : Python편

지난 시간에 이어서 오늘은 Micropython을 사용하기 전에 알아 두면 좋을 만한 기초 문법들에 대해서 정리해보도록 하겠습니다. 파이썬을 사용해보신 분들은 참고 안하셔도 괜찮을 것 같아요! 간단

kgu0724.tistory.com

2023.03.20 - [메이커 이야기/ESP32] - ESP32 MicroPython GPIO제어 : LED 제어편

 

ESP32 MicroPython GPIO제어 : LED 제어편

이제 본격적으로 MicroPython을 사용해서 GPIO제어를 해보도록 할 것입니다. 음 우선 본 포스팅을 보는 분들은 회로 연결은 기본적으로 할 수 있다고 생각하고 ~ 회로는 별도로 그리진 않도록 할 것

kgu0724.tistory.com

2023.03.21 - [메이커 이야기/ESP32] - ESP32 MicroPython GPIO제어(2) : 버튼 제어편

 

ESP32 MicroPython GPIO제어(2) : 버튼 제어편

오늘은 ESP32의 MicroPython을 사용하여 버튼을 제어해보도록 하겠습니다. GPIO에서 디지털 출력을 다뤄보았다면, 이제는 INPUT에 대해서도 다뤄보면 좋겟죠?! 푸시버튼을 활용해서 GPIO제어를 다뤄보도

kgu0724.tistory.com

 

반응형