Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Цифровой датчик освещенности

Базовое приложение Windows 10 IoT, которое включается светодиод, основанный на показаниях цифрового датчика освещенности.

История

Мне потребовалось некоторое время, чтобы понять, что считывание статуса цифрового датчика освещенности несложно и просто зависит от чтения значения GPIO!

Идея проекта очень проста:просто включить светодиод, когда датчик обнаруживает свет, и наоборот.

Демонстрация результата проекта

Итак, давайте продвинемся вперед и проверим схему подключения ниже, и, кстати, я не нашел схемы цифрового датчика освещенности, поэтому сохранил ее в виде текста !!!!

Настройка доски

Схема подключения

Вы также должны изменить номера контактов, но убедитесь, что они правильно отражены в коде UWP.

Часть, которая мне нравится, кодирование!

В этом проекте есть только страница, содержащая код C #, и на этот раз пользовательский интерфейс не требуется.

Шаг 1. Создание приложения UWP

Здесь фото!

Шаг 2: Откройте MainPage.xaml.cs и давайте код

Удалите все использование и включите только следующее

используя Windows.UI.Xaml.Controls;
используя Windows.Devices.Gpio;

Объявите переменные-члены датчика и светодиодного вывода GPIO

частный GpioPin _sensorPin;
частный GpioPin _ledPin;;

Объявите переменные номера контактов GPIO

частный int _sensorGpioPinNumber =5;
частный int _ledGpioPinNumber =12;

Создайте метод инициализации

private void Initialize ()
{
// Получить контроллер Gpio по умолчанию
var gpioController =GpioController.GetDefault ();
// Открыть датчик Gpio Pin и установить режим input
_sensorPin =gpioController.OpenPin (_sensorGpioPinNumber);
_sensorPin.SetDriveMode (GpioPinDriveMode.Input);
_sensorPin.ValueChanged + =HandleSensorLightDetectionC;
// Откройте светодиод Gpio Pin и установите режим вывода
_ledPin =gpioController.OpenPin (_ledGpioPinNumber);
_ledPin.SetDriveMode (GpioPinDriveMode.Output);
handleLightStatus ( );
}

Вызов метода handleLightStaus в событии HandleSensorLightDetectionChange

private void HandleSensorLightDetectionChange (отправитель GpioPin,
аргументы GpioPinValueChangedEventArgs)
{
handleLightStatus ();
}

Создайте метод handleLightStatus

private void handleLightStatus ()
{
// если световой датчик не обнаружил свет, то выключите светодиод
if (_sensorPin.Read () ==GpioPinValue.High)
{
// Выключаем светодиод
_ledPin.Write (GpioPinValue.Low);
}
else
{
// Включаем светодиод
_ledPin.Write(GpioPinValue.High);
}
}

Я обнаружил, что значение «High», возвращаемое датчиком Gpio Pin, указывает на отсутствие обнаруженного света, а «Low» указывает на обнаружение света.

Полный код можно найти ниже:

using Windows.UI.Xaml.Controls;
using Windows.Devices.Gpio;
пространство имен DigitalLightSensorApp
{
общедоступный закрытый частичный класс MainPage:Page
{
частный GpioPin _sensorPin;
частный GpioPin _ledPin;
частный int _sensorGpioPinNumber =5;
частный int _ledGpioPinNumber =12;
общедоступный MainPage ()
{
this.InitializeComponent ();
}
private void Initialize ()
{
// Получить контроллер Gpio по умолчанию
var gpioController =GpioController.GetDefault ();
// Открываем датчик Gpio Pin и устанавливаем режим ввода
_sensorPin =gpioController.OpenPin (_sensorGpioPinNumber);
_sensorPin.SetDriveMode (GpioPinDriveMode.Input);
_sensorPin.ValueC =HandleSensorLightDetectionChange;;
// Откройте светодиод Gpio Pin и установите режим вывода
_ledPin =gpioController.OpenPin (_ledGpioPinNumber);
_ledPin.SetDriveMode (GpioPinDriveMode.Output);
handleLightStatus ( );
}
private void HandleSensorLightDetectionChange (отправитель GpioPin, аргументы GpioPinValueChangedEventArgs)
{
handleLightStatus ();
}
private void handleLightStatus ()
{
// если световой датчик не обнаружил свет, то выключаем светодиод
if (_sensorPin.Read () ==GpioPinValue.High)
{
// Включаем выключить светодиод
_ledPin.Write (GpioPinValue.Low);
}
else
{
// Включить светодиод
_ledPin.Write (GpioPinValue .High);
}
}
}
}

Подробнее:цифровой датчик освещенности


Производственный процесс

  1. Основы цифровых магнитных датчиков
  2. 1-проводный датчик температуры DS1820 на Raspberry Pi (напрямую через GPIO)
  3. Ультразвуковой датчик (HC-SR04) + Raspberry Pi
  4. Датчик отслеживания линии с RPi
  5. Цифровой датчик барометрического давления BMP180 I2C
  6. Цифровой датчик термометра Raspberry Pi 1-Wire (DS18B20)
  7. Цифровой датчик Холла Raspberry Pi в JAVA
  8. Датчик температуры и освещенности Raspberry Pi
  9. Тест датчика DS18B20
  10. Солнечный свет подъездной дороги к узлу беспроводного датчика MSP430