제조공정
켜지는 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 .높음);
}
}
}
}
자세히 보기:디지털 광 센서
제조공정
구성품 및 소모품 Arduino UNO × 1 LED(일반) × 1 점퍼 와이어(일반) × 4 1 메가 옴 저항기 × 1 알루미늄 호일 또는 동전 × 1 앱 및 온라인 서비스 Arduino IDE 이 프로젝트 정보 이 프로젝트에서는 arduino Capacitive Sensing Library를 기반으로 작동하는 코인을 사용하여 터치 센서를 만들었습니다. 이 센서를 사용하여 LED를 터치하여
구성품 및 소모품 Arduino UNO × 1 KY-039 하트비트 센서 × 1 점퍼 와이어(일반) × 1 이 프로젝트 정보 Arduino용 37개 센서 세트 , 심장 박동 센서가 있습니다. 이름은 너무 많은 것을 약속합니다. 사람들은 이것이 I2C 또는 이와 유사한 것을 통해 디지털 숫자를 제공한다고 생각하는 경향이 있습니다. 숫자는 심장 박동수입니다. 센서가 제공하는 것은 0에서 1023 사이의 아날로그 값으로, 광 센서가 수신하는 적외선의 양 또는 실제