ESP32 C3 슈퍼 미니 LDR 모듈

LDR 조명 센서 모듈은 ESP32 C3 슈퍼 미니로 조명 수준을 감지하고 측정하기 위한 간단하면서도 강력한 구성 요소입니다. 이 초급자 친화적 튜토리얼은 LDR 모듈을 연결하고 프로그래밍하는 방법을 보여줄 것입니다.

이 튜토리얼에서는 ESP32 C3 슈퍼 미니와 LDR 조명 센서 모듈을 함께 사용하여 빛을 감지하고 측정하는 방법을 배웁니다. 다음을 다룰 것입니다:

ESP32 c3 슈퍼 미니 - ldr 모듈
ldr 조명 센서 모듈
image source: diyables.io

나중에 LED 또는 조명을 켜도록 코드를 변경하거나 빛을 감지했을 때 릴레이를 사용할 수 있습니다.

원시 형태의 조명 센서에 관심이 있다면 ESP32 C3 Super Mini - 라이트 센서 튜토리얼을 살펴보는 것을 제안합니다.

필요한 하드웨어

1×ESP32 C3 슈퍼 미니 아마존
1×USB 케이블 Type-C 쿠팡 | 아마존
1×LDR 조명 센서 모듈 쿠팡 | 아마존
1×브레드보드 쿠팡 | 아마존
1×점퍼 와이어 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

LDR 조명 센서 모듈 정보

LDR 조명 센서 모듈은 환경의 주변 조명 강도를 감지하고 측정하는 디지털 및 아날로그 센서입니다.

  • 작동 전압: 3.3V~5V(ESP32 C3 슈퍼 미니와 호환)
  • 출력 유형: 디지털(DO) 및 아날로그(AO) 출력 사용 가능
  • 기본 제공 포텐셜미터: 디지털 출력의 조정 가능한 민감도 임계값
  • LED 표시기: 쉬운 모니터링을 위한 전원 LED 및 상태 LED
  • 초보자 친화적: 간단한 Arduino 코드로 쉽게 연결하고 프로그래밍 가능
  • 다양한 응용: 조명 활성화 스위치, 자동 조명 및 환경 모니터링에 완벽
  • 컴팩트 설계: 소형 모듈은 브레드보드에 쉽게 맞음

핀아웃

LDR 조명 센서 모듈에는 ESP32 C3 슈퍼 미니와 인터페이스하기 위한 4개의 연결 핀이 있습니다:

  • VCC: 전원 공급 핀 - ESP32 C3 슈퍼 미니의 3.3V 또는 5V에 연결
  • GND: 그라운드 핀 - ESP32 C3 슈퍼 미니의 GND에 연결
  • DO: 디지털 출력 핀 - 어두울 때 HIGH, 밝을 때 LOW 출력(포텐셜미터를 통해 조정 가능한 임계값)
  • AO: 아날로그 출력 핀 - 조명 강도에 비례하여 가변 전압 출력(낮은 값 = 더 밝은 조명)
ldr 조명 센서 모듈 핀아웃
image source: diyables.io

또한 LDR 조명 센서 모듈은 2개의 LED 표시기가 있습니다:

  • PWR-LED 표시기는 전원 상태를 나타냅니다.
  • DO-LED 표시기는 DO 핀의 빛의 상태를 반영합니다: 빛이 있을 때 켜지고 어두울 때 꺼집니다.

작동 방식

DO 핀에 관한 것:

  • LDR 조명 센서 모듈에는 빛 감지를 위한 민감도 또는 임계값을 조정할 수 있는 포텐셜미터가 있습니다.
  • 주변 환경의 조명 강도가 설정된 임계값 이상일 때(빛으로 간주됨) 센서의 DO 핀 출력이 LOW가 되고 DO-LED가 켜집니다.
  • 주변 환경의 조명 강도가 설정된 임계값 미만일 때(어둡다고 간주됨) 센서의 DO 핀 출력이 HIGH가 되고 DO-LED가 꺼집니다.

AO 핀에 관한 것:

  • AO 핀에서 읽은 값은 주변 환경의 조명 강도에 반비례합니다. 즉, 조명 강도가 증가(밝아짐)하면 AO 핀의 값이 감소합니다.
  • 유사하게 조명 강도가 감소(어두워짐)하면 AO 핀의 값이 증가합니다.

포텐셜미터를 조정해도 AO 핀의 값에는 영향을 주지 않습니다.

배선도

이 섹션은 LDR 조명 센서 모듈을 ESP32 C3 슈퍼 미니에 연결하는 방법을 보여줍니다.

  • 참고: 프로젝트 요구사항에 따라 디지털 출력(DO), 아날로그 출력(AO) 또는 둘 다를 사용할 수 있습니다.
ESP32 c3 슈퍼 미니 ldr 조명 센서 모듈 배선도

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

  • AO와 DO 모두를 사용할 때 ESP32 C3 슈퍼 미니와 LDR 조명 센서 모듈 간의 배선도입니다.
LDR 모듈 핀 ESP32 C3 슈퍼 미니 핀
VCC 3.3V
GND GND
DO GPIO6
AO A5(GPIO5 / ADC1_CH5)

ESP32 C3 슈퍼 미니 코드 - DO 핀에서 값 읽기

이 코드는 LDR 조명 센서 모듈의 디지털 출력을 읽기 위해 ESP32 C3 슈퍼 미니를 사용하는 방법을 시연합니다.

  • DO 핀에 대한 디지털 입력으로 GPIO8 구성
  • 센서에서 HIGH 또는 LOW 신호 읽기
  • 임계값을 기반으로 빛 또는 어두운 조건 감지
  • 직렬 모니터에 조명 상태 표시
  • 온보드 포텐셜미터를 사용한 조정 가능한 민감도
/* * 이 ESP32 C3 Super Mini 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 C3 Super Mini 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32-c3/esp32-c3-super-mini-ldr-module */ #define DO_PIN 6 // The ESP32 C3 SuperMini pin connected to DO pin of the ldr module void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(115200); // initialize the ESP32's pin as an input pinMode(DO_PIN, INPUT); } void loop() { int light_state = digitalRead(DO_PIN); if (light_state == HIGH) Serial.println("It is dark"); else Serial.println("It is light"); }

빠른 단계

  • ESP32 C3 미니를 처음 사용하시나요? 먼저 ESP32 C3 슈퍼 미니 - 시작하기 튜토리얼을 완료하여 개발 환경을 설정하세요.
  • Arduino IDE 설정: ESP32 C3 슈퍼 미니를 처음 사용하는 경우 Arduino IDE에서 ESP32 C3 슈퍼 미니용 환경을 설정하는 방법 튜토리얼을 참조하세요.
  • 구성 요소 배선: 위에 표시된 배선도에 따라 LDR 조명 센서 모듈을 ESP32 C3 슈퍼 미니에 연결합니다.
  • ESP32 연결: USB Type-C 케이블을 사용하여 ESP32 C3 슈퍼 미니를 컴퓨터에 연결합니다.
  • 보드 선택: Arduino IDE를 열고 ESP32 C3 슈퍼 미니 보드와 해당 COM 포트를 선택합니다.
  • 코드 업로드: 위의 코드를 복사하고 Arduino IDE를 열어 업로드 버튼을 클릭하여 ESP32 C3 슈퍼 미니에 코드를 업로드합니다.
  • 센서 테스트: LDR 조명 센서 모듈을 손이나 물체로 덮었다 풀어 조명 감지를 테스트합니다.
  • 결과 보기: 직렬 모니터를 열어 실시간으로 조명 감지 상태를 확인합니다.
  • 민감도 조정: 필요하면 모듈의 포텐셜미터를 돌려 조명 감지 임계값을 조정합니다.
  • 전문가 팁: 조명 조건에 맞는 완벽한 민감도 설정을 찾은 후 나중 프로젝트를 위해 포텐셜미터 위치에 표시합니다.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
It is light It is light It is dark It is dark It is dark It is light It is light It is light
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

LED 상태가 빛의 유무와 관계없이 항상 켜져 있거나 꺼져 있는 상태를 유지하는 것을 관찰하면 포텐셜미터를 조정할 수 있습니다. 이 조정을 통해 센서의 조명 민감도를 미세 조정할 수 있습니다.

또한 코드는 요구사항에 따라 수정할 수 있습니다. 예를 들어 빛이 감지되었을 때 LED를 활성화하거나 조명을 켜도록 프로그래밍할 수 있습니다. 또한 서보 모터를 회전시킬 수도 있습니다. 이러한 사용자 정의 옵션에 대한 자세한 지침 및 튜토리얼은 이 가이드의 끝에서 찾을 수 있습니다.

ESP32 C3 슈퍼 미니 코드 - AO 핀에서 값 읽기

이 코드는 정밀한 조명 측정을 위해 LDR 조명 센서 모듈에서 아날로그 값을 읽는 방법을 보여줍니다.

  • GPIO3(A0)을 AO 핀에 대한 아날로그 입력으로 구성
  • 0~4095(12비트 ADC)의 아날로그 값 읽기
  • 지속적인 조명 강도 수준 측정
  • 낮은 값은 더 밝은 조명을 나타냅니다
  • 높은 값은 더 어두운 조건을 나타냅니다
/* * 이 ESP32 C3 Super Mini 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 C3 Super Mini 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32-c3/esp32-c3-super-mini-ldr-module */ #define AO_PIN A5 // The ESP32 C3 SuperMini pin connected to AO pin of the ldr module void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(115200); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); } void loop() { int light_value = analogRead(AO_PIN); Serial.print("The AO value: "); Serial.println(light_value); }

빠른 단계

  • ESP32 C3 미니를 처음 사용하시나요? 먼저 ESP32 C3 슈퍼 미니 - 시작하기 튜토리얼을 완료하여 개발 환경을 설정하세요.
  • 코드 업로드: 위의 코드를 복사하고 Arduino IDE를 열어 업로드 버튼을 클릭합니다.
  • 센서 테스트: LDR 조명 센서 모듈을 손이나 다양한 조명 조건으로 이동하여 덮었다 풀어 테스트합니다.
  • 값 모니터링: 직렬 모니터를 열어 아날로그 조명 수준 판독값을 확인합니다.
  • 변화 관찰: 빛을 차단할 때 값이 증가하고 빛을 추가할 때 값이 감소하는 것을 확인합니다.
  • 전문가 팁: 환경의 최소값과 최대값을 기록하여 백분율이나 럭스 수준 같은 의미 있는 범위로 매핑합니다.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
The AO value: 145 The AO value: 146 The AO value: 146 The AO value: 572 The AO value: 1678 The AO value: 1945 The AO value: 2956 The AO value: 3001 The AO value: 3098 The AO value: 4005 The AO value: 4005 The AO value: 1645 The AO value: 1546 The AO value: 346 The AO value: 172
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

※ 주의:

이 튜토리얼은 센서 또는 구성 요소에 연결된 ADC(아날로그-디지털 변환기)에서 값을 읽기 위해 analogRead() 함수를 사용합니다. ESP32 C3 슈퍼 미니의 ADC는 높은 정확도가 필요하지 않은 프로젝트에 적합합니다. 그러나 정밀한 측정이 필요한 프로젝트의 경우 다음을 염두에 두세요:

  • ESP32 C3 슈퍼 미니의 ADC는 완벽하게 정확하지 않으며 올바른 결과를 얻기 위해 보정이 필요할 수 있습니다. 각 ESP32 C3 슈퍼 미니 보드는 약간 다를 수 있으므로 각 개별 보드에 대해 보정이 필요합니다.
  • 보정은 특히 초보자에게는 어려울 수 있으며 항상 원하는 정확한 결과를 얻지 못할 수 있습니다.

높은 정밀도가 필요한 프로젝트의 경우 ESP32 C3 슈퍼 미니와 함께 외부 ADC(예: ADS1115)를 사용하거나 더 신뢰할 수 있는 ADC를 갖춘 Arduino Uno R4 WiFi와 같은 다른 Arduino를 사용하는 것을 고려하세요. 여전히 ESP32 C3 슈퍼 미니의 ADC를 보정하려면 ESP32 ADC 보정 드라이버를 참조하세요.

응용 아이디어

ESP32 C3 슈퍼 미니 및 LDR 조명 센서 모듈을 사용하여 구축할 수 있는 실용적인 프로젝트는 다음과 같습니다:

  • 자동 야간 조명: 방이 어두워지면 자동으로 조명 켜기
  • 스마트 커튼 컨트롤러: 햇빛 강도를 기반으로 커튼 열거나 닫기
  • 태양전지 추적기: 태양전지를 가장 밝은 빛원을 향하도록 최적화
  • 에너지 절약 시스템: 자연 채광이 충분할 때 자동으로 불필요한 조명 끄기
  • 식물 성장 모니터: 실내 식물 및 정원의 조명 노출 추적
  • 보안 시스템: 모니터링되는 영역에서 조명이 켜지거나 꺼질 때 감지
  • 사진 조명 측광기: 카메라 설정을 위한 주변 조명 측정

비디오 튜토리얼

아래 비디오를 시청하여 이 프로젝트에 대한 시각적 안내를 받으세요.

도전 과제

ESP32 C3 슈퍼 미니 및 LDR 조명 센서 모듈의 기술을 확장하기 위해 이러한 도전 과제를 시도합니다:

  • 쉬움: 방이 어두울 때 켜지고 밝을 때 꺼지는 LED 추가
  • 쉬움: 다양한 아날로그 값 범위에 따라 "밝음", "중간" 또는 "어두움" 표시
  • 중간: 조명 강도 수준을 기반으로 회전하는 서보 모터 제어
  • 중간: 빛이 감지될 때 부저를 트리거하는 조명 활성화 알람 만들기
  • 고급: 빛 수준을 타임스탬프와 함께 SD 카드에 기록하는 데이터 로거 구축
  • 고급: 조명 수준이 최적일 때만 물을 주는 자동 식물 급수 시스템 만들기