제조공정
팬텀 YoYo 고감도 사용 SPI 인터페이스가 있는 MCP3008 8채널 10비트 ADC의 수분 센서.
다음 프로젝트에서 MCP3008을 사용하여 여러 센서를 모니터링하고 있습니다. 이 프로젝트에서는 Raspberry Pi 2, Windows 10 IoT Core 및 C#과 함께 SPI 인터페이스가 있는 MCP3008 8채널 10비트 ADC에서 Phantom YoYo 고감도 물 센서를 사용하는 방법에 대해 자세히 설명하겠습니다.
ADC는 아날로그-디지털 변환기입니다. 아날로그 신호는 숫자로 변환되어 애플리케이션으로 읽어들입니다. MCP3008은 10비트 ADC입니다. 즉, 10비트를 사용하여 채널의 값을 나타냅니다. 값은 0에서 1023 사이의 숫자로 표시됩니다(총 1024개의 가능한 값). 이 숫자는 의미 있는 값으로 변환됩니다. 예를 들어 채널 중 하나의 전압을 측정하고 채널에서 읽은 값이 523이라고 가정해 보겠습니다. 최대 전압이 3.3V라는 것을 알고 있습니다. 채널의 전압은 공식을 사용하여 계산됩니다.
값/최대값 * Vref
내가 얻는 전압 해결
523 / 1023 * 3.3
1.687V 값 제공 . 먼저 판독값을 정규화한 다음 정규화된 판독값에 알려진 최대값인 3.3V를 곱하여 이 값을 계산했습니다.
정확한 전압 측정이 중요한 경우 Raspberry Pi의 실제 전압을 측정하고 이 값을 계산에 사용하여 ADC에서 더 정확한 변환을 얻을 것을 적극 권장합니다. 내 것을 측정했을 때 출력이 3.301V(소스 코드에서 찾은 값)임을 발견했습니다. 실제와 크게 다르지 않지만 다른 유형의 보드는 더 다를 수 있습니다.
물론, 전압을 계산하고 싶을 때는 말이 되지만, 센서마다 의미가 다릅니다. MCP3008의 채널에 연결된 각 센서에 대해 특정 세부정보를 알고 판독값을 적절하게 해석해야 합니다.
MCP3008 배선은 간단합니다. 칩 자체의 한쪽 끝에는 핀 1과 16을 나타내는 노치가 표시되어 있습니다(여기에서 데이터 시트 참조).
핀 1 ~ 8은 8개의 입력 핀이며 채널 0 ~ 7이라고 합니다. 채널 0은 핀 1입니다. 핀 16은 Vdd이며 전압 소스에 연결됩니다(3.3V 또는 5V on 라즈베리 파이). 핀 9는 Raspberry Pi의 접지 핀에 연결됩니다. 핀 15 및 14는 아날로그 회로를 참조하는 데 사용됩니다. 핀 15는 Vref이며 MCP3008에서 채널 중 하나의 최대 전압을 결정하는 데 사용됩니다. 내 예에서는 이 핀을 Raspberry Pi의 3.3V 소스에 연결했습니다. 채널 중 하나에 전압이 인가되면 MCP는 1023이 3.3V를 나타내고 0이 0V를 나타내도록 판독값을 조정합니다. 이렇게 하면 위에서 사용한 계산이 작동합니다. 핀 14는 아날로그 접지 핀입니다. 내 예에서는 Raspberry Pi의 접지 핀에 연결했습니다. 아날로그 회로를 디지털 회로에서 분리해야 하는 경우 이 핀은 아날로그 회로의 접지에 연결됩니다. 나머지 4개의 핀(10~13)은 Raspberry Pi와 통신하는 데 사용되는 SPI 직렬 인터페이스 핀입니다. 이 프로젝트에 포함된 배선 다이어그램은 이러한 핀을 Raspberry Pi에 연결하는 방법을 보여줍니다.
이 프로젝트에서는 이 개념을 설명하기 위해 간단한 전압 측정을 포함했습니다. 물 센서 판독값은 채널에서 판독된 값의 대체 해석을 보여줍니다.
센서
이 프로젝트에서 저는 두 개의 회로를 하나로 연결했습니다. 첫 번째는 MCP3008 핀(채널 0) 중 하나에서 전압을 변경할 수 있는 간단한 전위차계입니다. 이것은 단순히 MCP3008이 어떻게 작동하는지 보여주기 위한 것입니다. 두 번째 회로는 MCP3008의 두 번째 채널(채널 1)에 연결된 물 센서입니다.
팬텀 요요 물 센서에는 3개의 핀이 있습니다. 첫 번째 핀은 접지(장치에 '-'로 표시됨)이며 Raspberry Pi의 접지 핀에 연결됩니다. 다음 핀은 전원(장치에 '+'로 표시됨)이며 Raspberry Pi의 3.3V 핀에 연결됩니다(장치는 5V에도 연결할 수 있음). 세 번째이자 마지막 핀은 신호(기기에 's'로 표시되어 있습니다. 이 핀에는 기기에 있는 물의 양에 따라 달라지는 전압 신호가 있습니다. 이 기기는 수위 센서가 아닙니다. 단순히 변화하는 것을 감지합니다. 기기와 접촉하는 물의 양. 소스 핀은 MCP3008의 입력 중 하나에 연결됩니다.
서킷
센서를 지원하는 회로는 정말 간단합니다. 이 장치는 추가 구성 요소 없이 보드 라즈베리 파이에 직접 연결됩니다.
이 프로젝트를 위해 만든 애플리케이션은 범용 Windows 애플리케이션입니다. 기본 보기에서 2미터를 표시합니다. 첫 번째 미터는 전위차계 회로에서 측정되는 전류 전압을 보여줍니다. 두 번째는 0에서 100까지의 값으로 정규화된 물 센서의 판독값을 보여줍니다. 소프트웨어는 또한 물 센서의 보정을 허용합니다. 소스 코드에 대한 링크는 페이지 하단에서 찾을 수 있습니다.
소프트웨어 프로젝트에는 MCP3008과 상호 작용하기 위한 별도의 프로젝트도 포함되어 있습니다. 이 코드는 MCP3008 칩을 프로젝트에 쉽게 통합하기 위해 애플리케이션에서 사용할 수 있습니다.
사용하려면 먼저 다음과 같이 클래스 개체를 선언합니다.
개인 Mcp3008 _mcp3008 =null;
OnNavigatedTo에서 이벤트는 다음 코드를 추가합니다:
_mcp3008 =새로운 Mcp3008(0);
await_mcp3008.Initialize();
채널 0의 전압을 읽으려면 다음 코드 줄을 사용하십시오.
부동 전압 =_mcp3008.Read(Mcp3008.Channels.Single0).AsScaledValue(3.3f);
한 채널에서 값을 읽었음을 나타내는 Channel.Single0의 사용에 유의하세요. 장치가 두 핀의 차이를 읽도록 지정할 수 있습니다. 이것은 Mcp3008.Channels.Differential0으로 지정할 수 있으며, 이는 채널 0이 양수이고 채널 1이 음수인 채널 0과 채널 1 사이의 차이로 측정해야 함을 나타냅니다. 소스 코드는 문서이며 각 값을 설명하는 도구 설명을 제공합니다.
객체 사용을 마치면 일반적으로 OnNavigatedFrom 이벤트는 개체를 삭제합니다.
_mcp3008.Dispose();
_mcp3008 =null;
페이지 하단 근처에 있는 다이어그램을 가이드로 사용하여 이 가이드를 사용하여 회로를 조립하십시오(와이어 색상은 선택 사항이며 회로를 쉽게 따라갈 수 있도록 선택되었습니다. 건설될 때).
참고: 이 프로젝트는 옵션인 멀티미터를 사용하여 전위차계의 전압을 측정합니다. 이는 값을 MCP3008에서 읽은 값과 비교하기 위해 수행됩니다. 이것은 선택 사항입니다. 멀티미터가 없으면 이 전압을 비교할 수 없습니다. 이것은 MCP3008에서 읽은 값이 멀티미터에서 읽은 값과 동일하다는 것을 보여주기 위해 수행됩니다. 아래 이미지와 같이 멀티미터를 설정하여 DC 전압을 측정합니다(멀티미터는 다르게 보일 수 있음).
Fluke 87 멀티미터
디버그를 선택합니다. , 팔 구성 및 원격 시스템 . 이제 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택한 다음 디버그를 클릭합니다. 꼬리표. 그런 다음 원격 머신 필드에 Raspberry Pi 2 IP 주소를 입력하고 인증 사용을 선택 취소합니다. .
F5 키를 누릅니다. . 애플리케이션이 기기에 배포되며 처음에는 몇 분이 소요될 수 있습니다.
아래 동영상은 애플리케이션 데모입니다.
참고: 이 응용 프로그램은 선형 360° 게이지를 사용하여 물의 양을 표시합니다. 이 센서에는 물의 양과 센서의 판독값 사이에 내가 알고 있는 선형 상관 관계나 다른 상관 관계가 없습니다. 더 많은 물이 존재할 때 더 높은 값에 비해 약간의 방울이 있을 때 더 작은 값을 생성합니다. ADC의 개념을 이해하는 데 도움이 되도록 선형 게이지를 더 많이 사용합니다. GPIO 핀에서 포착할 수 있는 높거나 낮은 신호를 생성하기 위해 광절연 AC 전압 센서를 배선한 방법과 유사하게 물 센서를 배선할 수 있습니다. 이 장치는 습식 또는 건식 신호를 제공하도록 배선될 수 있습니다. 하지만 이 물 센서를 ADC에 연결하는 이유는 물이 적은 것과 많은 것의 차이를 감지하고 이 프로젝트에서 설명하는 접근 방식이 이 목표를 달성하기를 원하기 때문입니다.
출처: MCP3008의 고감도 수분 센서
제조공정
물이 당신이 한동안 작업한 회로를 망칠 때 좋지 않습니다. 그리고 물이나 비로부터 보호해야 하는 장치를 다치게 하면 더욱 실망스럽습니다. 다행히 해결책이 있습니다. 물 센서 회로만 있으면 됩니다. 물 센서 회로는 또한 물 손상으로부터 장치를 보호하기 위해 구축할 수 있는 재미있는 프로젝트입니다. 따라서 이 기사에서는 물 센서 회로의 작동 방식, 다이어그램 및 구성 요소, 여러 응용 프로그램, 그리고 가장 중요한 것은 손쉬운 물 센서 회로를 구축하는 방법을 보여줍니다. 준비 되었나요? 뛰어들자! 물 센서는 어떻게 작동합니까? 물
물 흐름 센서 가정에서 사용하는 물의 양을 측정하는 방법을 찾고 계십니까? 수류 센서가 있으면 도움이 될 것입니다. 효과적인 물 관리를 위해서는 효과적인 물 관리에 필요한 물만 공급하면 됩니다. 이러한 이유로 물 관리 시스템의 물 흐름을 지속적으로 측정하는 것이 가장 좋습니다. 또한 다양한 유형의 물 흐름 센서 및 측정 기술이 있습니다. 회로에 사용할 회로를 혼동하기에는 충분합니다. 따라서 이 기사에서는 다양한 유형의 물 센서와 이를 Arduino와 함께 사용하는 방법을 다룰 것입니다. 물 흐름 센서란 무엇입니까? 물 유