2022.01.05 - [메이커 자료/ESP32 : Easy Connector] - #1. ESP32 아두이노 설치 및 세팅하기 - MakeitNow 메이크잇나우
2022.01.06 - [메이커 자료/ESP32 : Easy Connector] - #2. ESP32 LED 제어하기 - on / off - MakeitNow 메이크잇나우
2022.01.13 - [메이커 자료/ESP32 : Easy Connector] - #3. ESP32 버튼으로 LED 제어하기 : 디지털 입력 - Makeitnow 메이크잇나우

안녕하세요.
MAKE IT NOW : 메이크잇나우 입니다.
이번에는 조도센서를 활용해서 ESP32에서 아날로그 값을 읽어보도록 하겠습니다!!
지난 시간까지 디지털 입력과 출력에 대해서 알아봤죠? 디지털 신호라고 하는 것은 0 또는 1값 참 또는 거짓의 형태로 값을 읽어 들인다고 한다면,
아날로그 값은 더 정교한 값을 나타냅니다. 그렇다보니 정교한 움직이 필요한 제어나 정교한 값을 측정하기 위해서 많이 사용되어 진다고 보시면 됩니다. 그 중에서 오늘은 조도센서를 사용해보도록 하겠습니다.
ESP32에서 아날로그 값 읽어오기
STEP 1. ESP32에서 아날로그 값을 읽을 수 있는 핀
▶ ESP32도 아두이노와 마찬가지로 정해진 핀에서만 아날로그 값을 읽을 수 있습니다.
▶ 아래 핀맵을 보시면 초록색으로 ADC라고 되어 있는 부분이 있죠? 이 핀의 GPIO번호로 아날로그 값을 읽어 들일 수 있습니다.

▶ 저희 보드에서 보시면 Input_Only라고 되어 있는 부분 있죠? 여기의 GPIO34, 35, 36, 39핀은 모두 ADC가 가능해서 저는 보기 편하게 이쪽 핀에 아날로그 값을 읽어들이고 있습니다.

STEP 2. 아날로그 입력 특징과 사용법
▶ 아날로그 값을 읽어 들이기 위해서 디지털 출력/입력과 같이 아날로그입력 함수를 사용할 것입니다.
analogRead(핀번호);
▶ ESP32에서 아날로그 값은 0~4095까지 값을 읽어들이게 됩니다.
▶ 아두이노는 0~1024인데 왜 0~4095까지 값을 읽어 들일까요? ESP32는 아두이노와 달리 12bit ADC를 사용하기 때문입니다. 아두이노는 10bit ADC라서 서로 읽어 들이는 것이 조금 더 다르죠. 하지만 ESP32가 더 많은 값을 읽어 들이기 떄문에 쪼오금 더 정교한 측정이 가능하다~ 정도로 이해해주시면 될 것 같습니다.
자세한 내용은 ADC(Analog to Digital Convertor)를 다룰 때 더 설명을 드리는 것으로 하겠습니다.
STEP 3. 조도센서에 대한 이해
▶ 조도센서는 말 그대로 조도의 변화를 감지하는 센서인데요. 시중에 많은 조도센서 중에서 우리는 CDS 황화카드뮴셀의 조도센서 값을 읽어보도록 하겠습니다. 이 조도센서는 정밀한 측정이 가능한 것은 아니지만, 조도의 변화를 감지할 수 있어서 우리 주변의 많은 디바이스에서 종종 볼 수 있는 센서이기도 합니다.

▶ 조도센서를 측정하기 위해서 회로도 한번 연결해 보겠습니다.

STEP 4. 코드 작성하기
▶ 코드는 analogRead() 함수를 활용하여 값을 읽고 이를 시리얼 모니터에 출력해보도록 하겠습니다.
void setup() {
Serial.begin(115200);
}
void loop() {
int sensorVal = analogRead(39);
Serial.println(sensorVal);
delay(100);
}
이제 모든 준비는 완료 되었습니다!
아래 빨간색 위치에 업로드 버튼 누르면!! 끝!
단, 포트연결 잊지 마세요!

▼▼▼ 더 자세한 부분은 아래 강의를 확인해 보세요!! ▼▼▼
MAKE IT NOW Easy Connector 보드를 활용하여 간편하게 IoT 시스템을 학습하고 만들어보세요!
[메이크잇나우] 쉽게 연결하는 Easy Connect IoT 베이직 키트 (iot 키트 교육 교구 패키지 이지커넥트
[Make it Now] 메이커 제품을 만날 수 있는 마켓입니다.
smartstore.naver.com
카카오톡 문의하기 !
MAKE IT NOW
카카오톡 채팅을 해보세요.
pf.kakao.com
'메이커 자료 > ESP32 : Easy Connector' 카테고리의 다른 글
#6. ESP32 근접센서 활용 주차장 차량감지기 - MAKEITNOW 메이크잇나우 (0) | 2022.01.22 |
---|---|
#5. ESP32 온습도센서 활용, DHT11 - Makeitnow 메이크잇나우 (0) | 2022.01.18 |
#3. ESP32 버튼으로 LED 제어하기 : 디지털 입력 - Makeitnow 메이크잇나우 (0) | 2022.01.13 |
#2. ESP32 LED 제어하기 - on / off - MakeitNow 메이크잇나우 (0) | 2022.01.06 |
#1. ESP32 아두이노 설치 및 세팅하기 - MakeitNow 메이크잇나우 (0) | 2022.01.05 |