아두이노 나노 ESP32 - LDR 모듈 | Arduino Nano ESP32 - LDR Module

LDR 광 센서 모듈은 주변 조명을 감지하고 측정할 수 있습니다. 이 모듈은 디지털 출력(LOW 또는 HIGH일 수 있음)과 아날로그 출력, 이렇게 두 가지 출력을 가지고 있습니다.

이 튜토리얼에서는 아두이노 나노 ESP32와 LDR 광센서 모듈을 함께 사용하여 빛의 양을 감지하고 측정하는 방법을 배울 것입니다. 다룰 내용은 다음과 같습니다:

LDR Light Sensor Module
image source: diyables.io

그 후, 빛을 감지할 때 LED 또는 전구가 켜지도록 (릴레이를 사용하여) 코드를 변경할 수 있습니다.

원시 형태의 조도 센서에 관심이 있다면, Arduino Nano ESP32 - 조도 센서에 대한 튜토리얼을 탐색해 보는 것을 제안합니다.

준비물

1×Arduino Nano ESP32 Amazon
1×USB Cable Type-C 쿠팡 | Amazon
1×LDR Light Sensor Module Amazon
1×Breadboard 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Recommended) Screw Terminal Adapter for Arduino Nano 쿠팡 | Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

LDR 광 센서 모듈에 관하여

LDR 광 센서 모듈은 주변에 빛이 있는지 또는 얼마나 많은 빛이 있는지를 알아내는 데 사용할 수 있습니다. 이 모듈은 다른 옵션을 위해 디지털 출력 핀과 아날로그 출력 핀을 가지고 있습니다.

핀아웃

LDR 광 센서 모듈에는 4개의 핀이 있습니다:

  • VCC 핀: 이 핀을 전원원(3.3V부터 5V 사이)에 연결하세요.
  • GND 핀: 이 핀을 그라운드(0V)에 연결하세요.
  • DO 핀: 이것은 디지털 출력 핀입니다. 어두울 때 HIGH 신호를, 밝을 때는 LOW 신호를 제공합니다. 내장된 포텐시오미터를 사용하여 어둠과 밝음 사이의 임계값을 조절할 수 있습니다.
  • AO 핀: 이것은 아날로그 출력 핀입니다. 빛이 밝아질수록 값이 감소하고, 빛이 어두워질수록 값이 증가합니다.
LDR Light Sensor Module Pinout
image source: diyables.io

또한 LDR 광 센서 모듈에는 두 개의 LED 표시등이 장착되어 있습니다:

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

작동 원리

DO 핀에 관하여:

  • LDR 광 센서 모듈은 빛을 감지하는 민감도 또는 임계값을 조정할 수 있는 가변 저항이 있습니다.
  • 주변 환경의 빛 강도가 설정된 임계값(밝다고 판단됨) 이상일 때, DO 핀의 센서 출력이 LOW가 되고, DO-LED가 켜집니다.
  • 주변 환경의 빛 강도가 설정된 임계값(어둡다고 판단됨) 이하일 때, DO 핀의 센서 출력이 HIGH가 되고, DO-LED가 꺼집니다.

AO 핀 관련하여:

AO 핀에서 읽은 값은 주변 환경의 빛의 세기와 반비례합니다. 즉, 빛의 세기가 증가함에 따라(더 밝아짐) AO 핀의 값은 감소합니다.

마찬가지로, 빛의 세기가 감소함에 따라(더 어두워짐) AO 핀의 값은 증가합니다.

포텐쇼미터를 조정해도 AO 핀의 값에 영향을 주지 않는다는 점을 유의해야 합니다.

선연결

광 센서 모듈에는 두 개의 출력이 있으므로 필요에 따라 하나를 사용하거나 둘 모두를 사용할 수 있습니다.

아두이노 나노 ESP32와 LDR 광 센서 모듈을 DO만 사용할 때의 배선도.

Arduino Nano ESP32 LDR Light Sensor Module wiring diagram

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

Arduino Nano ESP32와 LDR 광 센서 모듈을 AO만 사용할 때의 배선도.

Arduino Nano ESP32 LDR Module wiring diagram

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

아두이노 나노 ESP32와 LDR 광 센서 모듈을 AO와 DO를 모두 사용할 때의 배선도.

Arduino Nano ESP32 Light Sensor Module wiring diagram

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

아두이노 나노 ESP32 코드 - DO 핀에서 값 읽기

/* * 이 Arduino Nano ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino Nano ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano-esp32/arduino-nano-esp32-ldr-module */ #define DO_PIN D2 // 아두이노 나노 ESP32의 D2핀이 LDR 모듈의 DO핀에 연결되어 있습니다. void setup() { // 시리얼 모니터와 통신하기 위해 시리얼을 초기화합니다. Serial.begin(9600); // ESP32의 핀을 입력으로 초기화합니다. 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"); }

사용 방법

  • 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에 코드를 업로드하세요.
  • 손이나 무언가로 LDR 광 센서 모듈을 가리고 가리지 않기
  • 시리얼 모니터에서 결과를 확인하세요.
COM6
Send
It is light It is light It is dark It is dark It is dark It is light It is light It is light
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

빛의 존재 여부 관계 없이 LED 상태가 계속 켜져 있거나 꺼져 있음을 관찰하는 경우, 가변 저항을 조정할 수 있는 옵션이 있습니다. 이 조정을 통해 센서의 빛 감도를 미세하게 조정할 수 있습니다.

또한, 코드는 귀하의 요구 사항에 따라 수정할 수 있습니다. 예를 들어, 빛이 감지될 때 LED를 활성화하거나 불빛이 켜지도록 프로그래밍할 수 있습니다. 추가적으로, 서보 모터를 회전시킬 수 있는 유연성을 가지고 있습니다. 이러한 맞춤화 옵션에 대한 자세한 지침과 튜토리얼은 이 가이드의 끝 부분에서 찾을 수 있습니다.

아두이노 나노 ESP32 코드 - AO 핀에서 값 읽기

/* * 이 Arduino Nano ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino Nano ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano-esp32/arduino-nano-esp32-ldr-module */ #define AO_PIN A4 // Arduino Nano ESP32의 핀이 ldr 모듈의 AO핀에 연결됨 void setup() { // 직렬 모니터와 통신하기 위해 직렬을 초기화합니다. Serial.begin(9600); } void loop() { int light_value = analogRead(AO_PIN); Serial.print("The AO value: "); Serial.println(light_value); }

사용 방법

  • 위의 코드를 복사하고 Arduino IDE로 열기
  • Arduino Nano ESP32로 코드를 업로드하기 위해 Arduino IDE에서 Upload 버튼을 클릭하십시오
  • 손이나 무언가로 LDR 광 센서 모듈을 가리고 가리지 마십시오
  • 시리얼 모니터에서 결과를 확인하십시오.
COM6
Send
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
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!