산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

하나의 GPIO 핀으로 아날로그 센서 읽기

일부 다른 장치와 달리 Raspberry Pi에는 아날로그 입력이 없습니다. 17개의 모든 GPIO 핀은 디지털입니다. 그들은 높은 수준과 낮은 수준을 출력하거나 높은 수준과 낮은 수준을 읽을 수 있습니다. 이는 Pi에 디지털 입력을 제공하는 센서에 적합하지만 제공하지 않는 센서를 사용하려는 경우에는 그다지 좋지 않습니다.

LDR(Light Dependent Resistor) 또는 서미스터(온도 센서)와 같은 가변 저항기 역할을 하는 센서의 경우 간단한 솔루션이 있습니다. 단일 GPIO 핀을 사용하여 여러 레벨을 측정할 수 있습니다. 조도 센서의 경우 이를 통해 다양한 조도를 측정할 수 있습니다.

전자 제품 소개로 자주 사용되는 기본 'RC' 충전 회로(Wikipedia 기사)를 사용합니다. 이 회로에서는 저항기를 커패시터와 직렬로 배치합니다. 이러한 구성 요소에 전압이 가해지면 커패시터 양단의 전압이 상승합니다. 전압이 최대값의 63%에 도달하는 데 걸리는 시간은 저항에 커패시턴스를 곱한 것과 같습니다. Light Dependent 저항을 사용할 때 이 시간은 조명 수준에 비례합니다. 이 시간을 시정수라고 합니다.

t =RC 여기서 t는 시간이고 R은 저항(옴)이고 C는 커패시턴스(패럿)입니다.

따라서 트릭은 회로의 한 지점이 GPIO 핀에서 '높음'으로 등록하기에 충분한 전압에 도달하는 데 걸리는 시간을 측정하는 것입니다. 이 전압은 대략 2볼트이며, 이는 내가 좋아하는 3.3V의 63%에 가깝습니다. 따라서 회로가 GPIO 입력을 Low에서 High로 변경하는 데 걸리는 시간은 't'와 같습니다.

10Kohm 저항과 1uF 커패시터의 경우 t는 10밀리초와 같습니다. 어둠 속에서 우리의 LDR은 1초의 시간을 줄 1Mohm의 저항을 가질 수 있습니다. 온라인 시정수 계산기를 사용하여 다른 값을 계산할 수 있습니다.

3.3V와 GPIO 핀 사이에 항상 저항이 있음을 보장하기 위해 LDR과 직렬로 2.2Kohm 저항을 삽입했습니다.

이론

다음은 이벤트 순서입니다.

<울>
  • GPIO 핀을 출력으로 설정하고 Low로 설정합니다. 이렇게 하면 커패시터의 모든 전하가 방전되고 커패시터의 양쪽이 0V가 됩니다.
  • GPIO 핀을 입력으로 설정합니다. 이것은 저항을 통해 그리고 커패시터를 통해 접지로 전류의 흐름을 시작합니다. 커패시터 양단의 전압이 상승하기 시작합니다. 소요 시간은 LDR의 저항에 비례합니다.
  • GPIO 핀을 모니터링하고 값을 읽습니다. 기다리는 동안 카운터를 늘립니다.
  • 어느 시점에서 커패시터 전압은 GPIO 핀(약 2v)에 의해 High로 간주될 만큼 충분히 증가합니다. 소요 시간은 LDR에서 볼 수 있는 조명 수준에 비례합니다.
  • GPIO 핀을 출력으로 설정하고 필요에 따라 프로세스를 반복합니다.
  • 자세한 내용:하나의 GPIO 핀으로 아날로그 센서 읽기


    제조공정

    1. 저렴한 센서로 가정의 온도 흐름 매핑
    2. RPi가 있는 라인 추적 센서
    3. 실제 센서로 효과 제어
    4. 하나의 GPIO 핀으로 아날로그 센서 읽기
    5. Raspberry Pi에서 아날로그 입력이 없는 아날로그 센서
    6. Java ME 8 + Raspberry Pi + 센서 =IoT World(1부)
    7. Raspberry Pi 및 Zabbix Supervisor로 아날로그 센서 읽기
    8. 디지털 인터페이스가 있는 간단한 아날로그 근접 센서(Raspberry Pi용) [최종 업데이트:2014년 2월 7일]
    9. PIR 모션 센서가 있는 Raspberry Pi GPIO:최고의 자습서
    10. MCP3008을 사용하는 Raspberry Pi의 아날로그 센서