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

디지털 광 센서

켜지는 Windows 10 IoT 코어 애플리케이션 디지털 광 센서 판독을 기반으로 하는 LED.

스토리

디지털 광 센서의 상태를 읽는 것이 간단하고 GPIO 값을 읽는 것에 달려 있다는 것을 이해하는 데 시간이 좀 걸렸습니다!

프로젝트의 아이디어는 매우 간단합니다. 센서가 빛을 감지하고 그 반대의 경우 빛에서 LED를 켜면 됩니다.

프로젝트 결과 데모

그럼 아래 배선도를 확인해 보겠습니다. 그런데 Digital Light Sensor에 대한 다이어그램을 찾지 못해 텍스트로 보관했습니다 !!!!

이사회 설정

배선도

핀 번호를 변경하는 것도 귀하에게 달려 있지만 UWP 코드에 올바르게 반영되었는지 확인하십시오.

내가 좋아하는 부분, 코딩!

이 프로젝트는 C# 코드가 포함된 페이지에만 있으며 이번에는 UI가 필요하지 않습니다.

1단계:UWP 애플리케이션 만들기

사진이 여기에 있습니다!

2단계: MainPage.xaml.cs를 열고 코딩해 봅시다.

사용하는 모든 항목을 제거하고 다음 항목만 포함합니다.

Windows.UI.Xaml.Controls 사용,
Windows.Devices.Gpio 사용,

센서 및 LED GPIO 핀 멤버 변수 선언

개인 GpioPin _sensorPin;
개인 GpioPin _ledPin;;

GPIO 핀 번호 변수 선언

개인 int _sensorGpioPinNumber =5;
개인 int _ledGpioPinNumber =12;

초기화 메소드 생성

private void Initialize()
{
// 기본 Gpio 컨트롤러 가져오기
var gpioController =GpioController.GetDefault();
//센서 Gpio 핀을 열고 모드를 다음으로 설정 입력
_sensorPin =gpioController.OpenPin(_sensorGpioPinNumber);
_sensorPin.SetDriveMode(GpioPinDriveMode.Input);
_sensorPin.ValueChanged +=HandleSensorLightDetectionChange;;
// LED Gpio 핀을 열고 모드를 출력으로 설정합니다.
_ledPin =gpioController.OpenPin(_ledGpioPinNumber);
_ledPin.SetDriveMode(GpioPinDriveMode.Output);
handleLightStatus( );
}

HandleSensorLightDetectionChange 이벤트에서 handleLightStaus 메서드 호출

비공개 무효 HandleSensorLightDetectionChange(GpioPin 발신자,
GpioPinValueChangedEventArgs 인수)
{
handleLightStatus();
}

handleLightStatus 메소드 생성

private void handleLightStatus()
{
// 광 센서가 빛을 감지하지 않으면 LED를 끕니다.
if (_sensorPin.Read() ==GpioPinValue.High)
{
//LED 끄기
_ledPin.Write(GpioPinValue.Low);
}
else
{
//LED 켜기
_ledPin.Write(GpioPinValue.High);
}
}

센서 Gpio Pin에서 반환된 "High" 값은 빛이 감지되지 않았음을 나타내고 "Low"는 빛이 감지되었음을 나타냅니다.

전체 코드는 아래에서 찾을 수 있습니다.

Windows.UI.Xaml.Controls 사용,
Windows.Devices.Gpio 사용,
네임스페이스 DigitalLightSensorApp
{
공개 봉인된 부분 클래스 MainPage:페이지
{
개인 GpioPin _sensorPin;
개인 GpioPin _ledPin;
개인 int _sensorGpioPinNumber =5;
개인 int _ledGpioPinNumber =12;
공개 MainPage()
this.InitializeComponent();
}
private void Initialize()
{
// 기본 Gpio 컨트롤러 가져오기
var gpioController =GpioController.GetDefault();
//센서 Gpio 핀을 열고 모드를 입력으로 설정
_sensorPin =gpioController.OpenPin(_sensorGpioPinNumber);
_sensorPin.SetDriveMode(GpioPinDriveMode.Input);
_sensorPin.ValueChanged + =핸들센서LightDetectionChange;;
// LED Gpio 핀을 열고 모드를 출력으로 설정합니다.
_ledPin =gpioController.OpenPin(_ledGpioPinNumber);
_ledPin.SetDriveMode(GpioPinDriveMode.Output);
handleLightStatus( );
}
비공개 무효 HandleSensorLightDetectionChange(GpioPin 발신자, GpioPinValueChangedEventArgs 인수)
{
handleLightStatus();
}
비공개 무효 handleLightStatus()
{
// 광 센서가 빛을 감지하지 않으면 LED를 끕니다.
if (_sensorPin.Read() ==GpioPinValue.High)
{
//Turn LED 끄기
_ledPin.Write(GpioPinValue.Low);
}
else
{
//LED 켜기
_ledPin.Write(GpioPinValue .높음);
}
}
}
}

자세히 보기:디지털 광 센서


제조공정

  1. 디지털 자기 센서의 기초
  2. Raspberry Pi의 1선식 온도 센서 DS1820(GPIO 직접)
  3. 초음파 센서(HC-SR04) + 라즈베리파이
  4. RPi가 있는 라인 추적 센서
  5. BMP180 I2C 디지털 기압 센서
  6. Raspberry Pi 1-와이어 디지털 온도계 센서(DS18B20)
  7. JAVA의 Raspberry Pi 디지털 홀 센서
  8. Raspberry Pi 온도 및 광 센서
  9. DS18B20 센서 테스트
  10. MSP430 무선 센서 노드에 대한 태양광 진입로 조명