デジタル光センサー
ストーリー
プロジェクト結果のデモ
では、下の配線図を確認してみましょう。ちなみに、デジタル光センサーの図が見つからなかったので、テキストとして保存しました!!!!
ボードのセットアップ
配線図
- 赤色LED:GPIO#12
ピン番号を変更するのもあなた次第ですが、それらがUWPコードに正しく反映されていることを確認してください。
私が好きな部分、コーディング!
ステップ1:UWPアプリケーションを作成する
- Open Visual Studio 2017/2015
- 空白のアプリを選択(ユニバーサルウィンドウ)
- プロジェクト名「DigitalLightSensorApp」を入力してください
ステップ2: MainPage.xaml.csを開き、コーディングしましょう
使用しているものをすべて削除し、次のものだけを含めます
Windows.UI.Xaml.Controlsを使用する;
Windows.Devices.Gpioを使用する;
プライベートGpioPin_sensorPin;
プライベートGpioPin_ledPin;;
private int _sensorGpioPinNumber =5;
private int _ledGpioPinNumber =12;
private void Initialize()
{
//デフォルトのGpioコントローラーを取得する
var gpioController =GpioController.GetDefault();
//センサーのGpioピンを開き、モードを次のように設定しますinput
_ensorPin =gpioController.OpenPin(_sensorGpioPinNumber);
_sensorPin.SetDriveMode(GpioPinDriveMode.Input);
_ SensorPin.ValueChanged + =HandleSensorLightDetectionChange;;
// LED Gpioピンを開き、モードを出力に設定します
_ledPin =gpioController.OpenPin(_ledGpioPinNumber);
_ ledPin.SetDriveMode(GpioPinDriveMode.Output);
handleLightStatus( );
}
private void HandleSensorLightDetectionChange(GpioPin sender、
GpioPinValueChangedEventArgs args)
{
handleLightStatus();
}
private void handleLightStatus()
{
//光センサーが光を検出しなかった場合は、LEDをオフにします
if(_sensorPin.Read()==GpioPinValue.High)
{
// LEDをオフにします
_ledPin.Write(GpioPinValue.Low);
}
else
{
// LEDをオンにします
_ledPin.Write(GpioPinValue.High);
}
}
Windows.UI.Xaml.Controlsを使用する;
Windows.Devices.Gpioを使用する;
名前空間DigitalLightSensorApp
{
パブリックシールされた部分クラスMainPage:ページ
{
private GpioPin _sensorPin;
private GpioPin _ledPin;
private int _sensorGpioPinNumber =5;
private int _ledGpioPinNumber =12;
public MainPage()
{
this.InitializeComponent();
}
private void Initialize()
{
//デフォルトのGpioコントローラーを取得します
var gpioController =GpioController.GetDefault();
//センサーのGpioピンを開き、モードをinputに設定します
_sensorPin =gpioController.OpenPin(_sensorGpioPinNumber);
_ensorPin.SetDriveMode(GpioPinDriveMode.Input);
_sensorPin.ValueChanged + =HandleSensorLightDetectionChange;;
// LED Gpioピンを開き、モードを出力に設定します
_ledPin =gpioController.OpenPin(_ledGpioPinNumber);
_ ledPin.SetDriveMode(GpioPinDriveMode.Output);
handleLightStatus( );
}
private void HandleSensorLightDetectionChange(GpioPin sender、GpioPinValueChangedEventArgs args)
{
handleLightStatus();
}
private void handleLightStatus()
{
//光センサーが光を検出しなかった場合は、LEDをオフにします
if(_sensorPin.Read()==GpioPinValue.High)
{
// Turn LEDをオフにする
_ledPin.Write(GpioPinValue.Low);
}
else
{
// LEDをオンにする
_ledPin.Write(GpioPinValue .High);
}
}
}
}
詳細を読む:デジタル光センサー
製造プロセス
- デジタル磁気センサーの基礎
- Raspberry Piの1線式温度センサーDS1820(GPIO直接)
- 超音波センサー(HC-SR04)+ Raspberry Pi
- RPiを備えたライントラッキングセンサー
- BMP180I2Cデジタル気圧センサー
- Raspberry Pi 1-Wireデジタル温度計センサー(DS18B20)
- JAVAのRaspberryPiデジタルホールセンサー
- ラズベリーパイ温度および光センサー
- DS18B20センサーをテストする
- MSP430ワイヤレスセンサーノードへのソーラードライブウェイライト
- デジタルインターフェースを備えたシンプルなアナログ近接センサー(Raspberry Pi用)[最終更新日:2014年2月7日]