工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

デジタル光センサー

デジタル光センサーの読み取り値に基づいてLEDをオンにするWindows10IoTコアアプリケーション。

ストーリー

デジタル光センサーのステータスの読み取りが簡単で、GPIO値の読み取りに依存していることを理解するのに少し時間がかかりました!

プロジェクトのアイデアは非常にシンプルです。センサーが光を検出したときにLEDをオンにするだけで、その逆も可能です。

プロジェクト結果のデモ

では、下の配線図を確認してみましょう。ちなみに、デジタル光センサーの図が見つからなかったので、テキストとして保存しました!!!!

ボードのセットアップ

配線図
  • デジタル光センサー:GPIO#5
    • 赤色LED:GPIO#12

    ピン番号を変更するのもあなた次第ですが、それらがUWPコードに正しく反映されていることを確認してください。

    私が好きな部分、コーディング!

    このプロジェクトはC#コードを含むページにのみあり、今回はUIは必要ありません。

    ステップ1:UWPアプリケーションを作成する

    • Open Visual Studio 2017/2015
    • 空白のアプリを選択(ユニバーサルウィンドウ)
    • プロジェクト名「DigitalLightSensorApp」を入力してください
    写真はここにあります!

    ステップ2: MainPage.xaml.csを開き、コーディングしましょう

    使用しているものをすべて削除し、次のものだけを含めます

    Windows.UI.Xaml.Controlsを使用する;
    Windows.Devices.Gpioを使用する;

    センサーとLEDGPIOピンメンバー変数を宣言します

    プライベートGpioPin_sensorPin;
    プライベートGpioPin_ledPin;;

    GPIOピン番号変数を宣言する

    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( );
    }

    HandleSensorLightDetectionChangeイベントでhandleLightStausメソッドを呼び出します

    private void HandleSensorLightDetectionChange(GpioPin sender、
    GpioPinValueChangedEventArgs args)
    {
    handleLightStatus();
    }

    handleLightStatusメソッドを作成する

    private void handleLightStatus()
    {
    //光センサーが光を検出しなかった場合は、LEDをオフにします
    if(_sensorPin.Read()==GpioPinValue.High)
    {
    // LEDをオフにします
    _ledPin.Write(GpioPinValue.Low);
    }
    else
    {
    // LEDをオンにします
    _ledPin.Write(GpioPinValue.High);
    }
    }

    センサーGpioピンから返される「High」値は光が検出されていないことを示し、「Low」は光が検出されていることを示します。

    完全なコードは以下にあります:

    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);
    }
    }
    }
    }

    詳細を読む:デジタル光センサー


    製造プロセス

    1. デジタル磁気センサーの基礎
    2. Raspberry Piの1線式温度センサーDS1820(GPIO直接)
    3. 超音波センサー(HC-SR04)+ Raspberry Pi
    4. RPiを備えたライントラッキングセンサー
    5. BMP180I2Cデジタル気圧センサー
    6. Raspberry Pi 1-Wireデジタル温度計センサー(DS18B20)
    7. JAVAのRaspberryPiデジタルホールセンサー
    8. ラズベリーパイ温度および光センサー
    9. DS18B20センサーをテストする
    10. MSP430ワイヤレスセンサーノードへのソーラードライブウェイライト
    11. デジタルインターフェースを備えたシンプルなアナログ近接センサー(Raspberry Pi用)[最終更新日:2014年2月7日]