라즈베리 파이의 GPIO 핀에 LDR 연결


12

LDR을 Raspberry Pi의 GPIO 핀에 연결하고 싶습니다. Raspberry Pi에는 아날로그-디지털 변환기가 없으므로 GPIO에서 HIGH 신호 (3.3v) 신호를 보내는 것이 좋습니다 LDR에 저항이 낮은 경우 (200ohm 미만) LDR의 저항이 높을 때 (예 : 2k 이상) LOW 신호. 설명서 에 따르면 Raspberry Pi의 GPIO 핀에서 안전하게 가져올 수있는 최대 전류 는 50mA입니다. 필요한 저항을 어떻게 계산합니까? 풀업 / 다운 저항도 추가해야합니까? 프로세서를 굽지 않고 안전한 방법으로 그렇게하는 방법에 대한 명확한 아이디어가 없습니다.

또한 LDR이 매우 낮은 저항 상태에있을 때 항상 저항을 갖도록 회로에 저항을 연결해야한다고 생각합니다.

업데이트 : 그것은 잘 작동, 나는 회로를 내장하고이를 표시됩니다 이 게시물에 , 도움을 주셔서 감사합니다.


1
"GPIO 입력 히스테리시스 (Schmitt 트리거)를 켜거나 끌 수 있고, 출력 슬루 레이트가 빠르거나 제한 될 수 있으며 소스 및 싱크 전류는 2mA에서 최대 16mA로 구성 할 수 있습니다." 50mA는 3V3 핀에서 최대로 끌어옵니다.
Ignacio Vazquez-Abrams

답변:


13

이를 수행하는 가장 좋은 방법은 트랜지스터를 비교기로 사용하여 전환을 선명하게하는 것입니다.
회로 예는 다음과 같습니다.

LDR

전압 분배기의 상단으로 LDR을 사용합니다. LDR 저항이 떨어지면 트랜지스터베이스의 전압이 상승하여 켜집니다. 트랜지스터는 임의의 범용 NPN 일 수있다.
우리는 켜기를 원하는 위치를 기준으로 저항 값을 계산할 수 있습니다.

LDR 저항이 200Ω (어두움)에서 10kΩ (어두움)으로 바뀌 었다고 가정 해 봅시다. LDR이 5kΩ 일 때 트랜지스터가 켜지기를 원합니다. 전원 (V +)은 3.3V입니다. 일반적인 NPN 트랜지스터는 약 0.7V에서 켜집니다.

기본 저항에 5,000 * (0.7 / 3.3) = 1060Ω이 필요합니다. 1kΩ 저항은 충분히 가까이 있기 때문에 선택할 수 있습니다. 켜는 지점에 맞게 값을 조정하십시오.

회로의 시뮬레이션은 다음과 같습니다.

LDR 시뮬레이션

가로 축은 LDR 저항이고 파란색 선은 Vout 지점의 전압입니다 (이 값을 Rpi 입력 핀에 연결-입력으로 설정해야합니다. Vout과 Rpi 핀 사이에 1kΩ 저항을 추가하여이를 보호 할 수 있습니다) 실수로 출력으로 설정 한 경우) 예상대로 트랜지스터가 약 5kΩ에서 켜지는 것을 볼 수 있습니다 (트랜지스터베이스 이미 터 전압은 온도 등에 따라 달라 지지만 사용자의 목적에 충분히 가까울 수 있습니다)

트랜지스터 출력이 밝을 때 낮고 어두울 때 높으므로 LDR과 저항을 바꾸고 다른 방법으로 원한다면 저항에 5,000 * (3.3 / 0.7) = 23.5kΩ을 사용할 수 있습니다. 실제로는 더 높은 저항으로 인해 더 적은 전류를 소비하므로 더 나은 구성이므로 중요한 경우이 버전을 사용하십시오.


동의했다. 나는 op-amp 비교기를 제안하려고했지만 과잉이라고 생각했습니다. 트랜지스터를 스위치로 사용하는 간단한 해결책은 나에게 일어나지 않았습니다.
Ignacio Vazquez-Abrams 1

2
그것이 바로 내가 필요한 것입니다. 대답 해 주셔서 감사합니다. 논리 레벨을 제어하기 위해이 시그 모이 드를 구성 할 수 있다는 것은 정말 놀랍습니다. 시간을 보내 주셔서 감사합니다. 이것을 작성하십시오.
독거미

@Tarantula-문제 없습니다. 기꺼이 도와 드리겠습니다.
Oli Glaser 3
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.