LDR 센서와 Arduino Nano의 인터페이스

Ldr Senseowa Arduino Nanoui Inteopeiseu



Light Dependent Resistor는 조명 의존 프로젝트에 광범위하게 적용됩니다. Arduino Nano와 같은 마이크로 컨트롤러의 도움으로 LDR을 사용하여 광도 수준에 따라 다양한 장치를 제어할 수 있습니다. 이 안내서는 LDR의 기본 사항과 Arduino Nano를 사용한 응용 프로그램을 다룹니다.

이 기사의 내용은 다음과 같습니다.







1: LDR 센서 소개



2: Arduino Nano를 사용한 LDR의 응용



3: LDR과 Arduino Nano의 인터페이스





결론

1: LDR 센서 소개

의존적 아르 자형 esistor(LDR)는 노출되는 빛의 강도에 따라 저항을 변경하는 일종의 저항입니다. 어두운 곳에서는 저항이 매우 높고 밝은 곳에서는 저항이 매우 낮습니다. 이러한 저항 변화는 광 감지 프로젝트에 가장 적합합니다.




LDR은 아날로그 핀에서 Arduino ADC가 읽을 아날로그 전압 출력을 제공합니다. Arduino의 아날로그 입력 핀은 ADC를 사용하여 LDR의 아날로그 전압을 디지털 값으로 변환합니다. ADC의 범위는 0~1023이며 0은 0V를 나타내고 1023은 최대 입력 전압(Arduino의 경우 일반적으로 5V)을 나타냅니다.

Arduino는 다음을 사용하여 아날로그 값을 읽습니다. 아날로그 읽기() 코드에서 작동합니다. analogRead() 함수는 아날로그 입력 핀 번호를 인수로 받아 디지털 값을 반환합니다.


광자 또는 가벼운 입자는 LDR의 작동에서 중요한 역할을 합니다. 빛이 LDR의 표면에 떨어지면 광자가 재료에 흡수되어 재료의 전자가 방출됩니다. 자유 전자의 수는 빛의 강도에 정비례하며 자유 전자가 많을수록 LDR의 저항은 낮아집니다.

2: Arduino Nano를 사용한 LDR의 응용

다음은 Arduino를 사용한 LDR의 몇 가지 일반적인 응용 프로그램 목록입니다.

    • 자동 조명 제어
    • 조명 활성화 스위치
    • 조명 수준 표시기
    • 장치의 야간 모드
    • 조명 기반 보안 시스템

3: LDR과 Arduino Nano의 인터페이스

Arduino Nano에서 LDR을 사용하려면 간단한 회로를 만들어야 합니다. 회로는 LDR, 저항 및 Arduino Nano로 구성됩니다. LDR과 저항은 직렬로 연결되며 LDR은 Arduino Nano의 아날로그 입력 핀에 연결됩니다. LDR 작동을 테스트할 수 있는 회로에 LED가 추가됩니다.

3.1: 개략도

다음 이미지는 LDR 센서가 있는 Arduino Nano의 회로도입니다.

3.2: 코드

회로가 설정되면 다음 단계는 Arduino Nano용 코드를 작성하는 것입니다. 이 코드는 LDR에서 아날로그 입력을 읽고 이를 사용하여 다양한 조명 수준에 따라 LED 또는 기타 장치를 제어합니다.

정수 LDR_Val = 0 ; /* 포토레지스터 값을 저장하는 변수 */
정수 센서 =A0; /* 아날로그 핀 ~을 위한 포토레지스터 */
정수 ~ 주도의 = 12 ; /* LED 출력 핀 */
무효 설정 ( ) {
직렬 시작 ( 9600 ) ; /* 전송 속도 ~을 위한 직렬 통신 */
  pinMode ( LED, 출력 ) ; /* LED 핀 세트 ~처럼 산출 */
}
무효 루프 ( ) {
LDR_Val = 아날로그 읽기 ( 감지기 ) ; /* 비슷한 물건 읽다 LDR 값 */
직렬.인쇄 ( 'LDR 출력 값: ' ) ;
Serial.println ( LDR_Val ) ; /* 직렬 모니터에 LDR 출력 값 표시 */
만약에 ( LDR_Val > 100 ) { /* 광도가 HIGH인 경우 */
Serial.println ( ' 고강도 ' ) ;
디지털 쓰기 ( 주도, 낮음 ) ; /* LED가 꺼진 상태로 유지됨 */
}
또 다른 {
/* 또 다른 만약에 광도가 낮음 LED가 계속 켜져 있음 */
Serial.println ( '낮은 강도' ) ;
디지털 쓰기 ( 주도, 높음 ) ; /* LED 켜기 LDR 값은 더 적은 ~보다 100 */
}
지연 ( 1000 ) ; /* 매번 값을 읽습니다. 1 비서 */
}


위의 코드에서 LDR에서 오는 아날로그 입력을 사용하여 LED를 제어하는 ​​Arduino Nano와 함께 LDR을 사용합니다.

코드의 처음 세 줄은 다음을 저장할 변수를 선언합니다. 포토레지스터 값 , 아날로그 핀 포토레지스터의 경우, 주도의 출력 핀.

에서 설정() 기능을 사용하면 직렬 통신이 9600의 전송 속도로 시작되고 LED 핀 D12가 출력으로 설정됩니다.

에서 고리() 함수, photoresistor 값은 analogRead() 함수를 사용하여 읽혀지며, 이는 LDR_Val 변하기 쉬운. Photoresistor 값은 Serial.println() 함수를 사용하여 직렬 모니터에 표시됩니다.

다른 경우라면 문은 포토레지스터에 의해 감지된 빛의 강도를 기반으로 LED를 제어하는 ​​데 사용됩니다. 포토레지스터 값이 100보다 크면 빛의 강도가 높음을 의미하고 LED는 꺼진 상태를 유지합니다. 그러나 포토레지스터 값이 100보다 작거나 같으면 광량이 LOW이고 LED가 켜진다는 의미입니다.

마지막으로, 프로그램은 포토레지스터 값을 다시 읽기 전에 delay() 함수를 사용하여 1초 동안 기다립니다. 이 주기는 포토레지스터에서 감지한 광도에 따라 LED가 켜지고 꺼지는 무한정 반복됩니다.

3.3: 희미한 빛 아래에서 출력

광도는 100 미만이므로 LED는 계속 켜져 있습니다.

3.4: 밝은 조명 아래에서 출력

광량이 증가하면 LDR 값이 증가하고 LDR 저항이 감소하여 LED가 꺼집니다.

결론

LDR은 아날로그 핀을 사용하여 Arduino Nano와 인터페이스할 수 있습니다. LDR 출력은 다양한 애플리케이션에서 광 감지를 제어할 수 있습니다. 자동 조명 제어, 조명 기반 보안 시스템 또는 단순한 조명 수준 표시기에 사용되는 경우 LDR과 Arduino Nano를 연결하여 광도 변화에 반응하는 프로젝트를 생성할 수 있습니다.