Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Sensor de luz digital

Una aplicación principal de Windows 10 IoT que se enciende un LED basado en la lectura del sensor de luz digital.

Historia

Me tomó un tiempo darme cuenta de que leer el estado del sensor de luz digital es sencillo y ¡simplemente depende de leer el valor GPIO!

La idea del proyecto es muy simple, solo enciende el LED en luz cuando el sensor detecta luz y al revés.

Demostración del resultado del proyecto

¡Así que sigamos adelante y revisemos el diagrama de cableado a continuación y, por cierto, no encontré un diagrama para el sensor de luz digital, así que lo guardé como texto!

Configuración del tablero

Diagrama de cableado

También depende de usted cambiar los números de PIN, pero asegúrese de que se reflejen correctamente en el código UWP.

¡La parte que me gusta, la codificación!

Este proyecto solo tiene una página que contiene el código C # y esta vez no se requiere UI.

Paso 1:Creación de la aplicación para UWP

¡Aquí va la foto!

Paso 2: Abra MainPage.xaml.cs y vamos a codificar

Elimine todo el uso y solo incluya lo siguiente

usando Windows.UI.Xaml.Controls;
usando Windows.Devices.Gpio;

Declare el sensor y las variables del miembro del pin GPIO del LED

GpioPin privado _sensorPin;
GpioPin privado _ledPin;;

Declarar las variables de número de pin GPIO

privado int _sensorGpioPinNumber =5;
privado int _ledGpioPinNumber =12;

Cree el método de inicialización

private void Initialize ()
{
// Obtenga el controlador Gpio predeterminado
var gpioController =GpioController.GetDefault ();
// Abra el sensor Gpio Pin y configure el modo en input
_sensorPin =gpioController.OpenPin (_sensorGpioPinNumber);
_sensorPin.SetDriveMode (GpioPinDriveMode.Input);
_sensorPin.ValueChanged + =HandleSensorLightDetectionChange;;
// Abra el LED Gpio Pin y configure el modo en salida
_ledPin =gpioController.OpenPin (_ledGpioPinNumber);
_ledPin.SetDriveMode (GpioPinDriveMode.Output);
handleLightStatus ( );
}

Llame al método handleLightStaus en el evento HandleSensorLightDetectionChange

Private void HandleSensorLightDetectionChange (GpioPin sender,
GpioPinValueChangedEventArgs args)
{
handleLightStatus ();
}

Cree el método handleLightStatus

private void handleLightStatus ()
{
// si ningún sensor de luz detectó luz, apague el LED
if (_sensorPin.Read () ==GpioPinValue.High)
{
// Apaga el LED
_ledPin.Write (GpioPinValue.Low);
}
else
{
// Enciende el LED
_ledPin.Write(GpioPinValue.High);
}
}

Descubrí que el valor "Alto" devuelto por el sensor Gpio Pin indica que no se detectó luz y "Bajo" indica que se detectó luz.

El código completo se puede encontrar a continuación:

usando Windows.UI.Xaml.Controls;
usando Windows.Devices.Gpio;
espacio de nombres DigitalLightSensorApp
{
clase parcial sellada pública MainPage:Página
{
private GpioPin _sensorPin;
private GpioPin _ledPin;
private int _sensorGpioPinNumber =5;
private int _ledGpioPinNumber =12;
public MainPage ()
{
this.InitializeComponent ();
}
private void Initialize ()
{
// Obtenga el controlador Gpio predeterminado
var gpioController =GpioController.GetDefault ();
// Abra el sensor Gpio Pin y configure el modo en input
_sensorPin =gpioController.OpenPin (_sensorGpioPinNumber);
_sensorPin.SetDriveMode (GpioPinDriveMode.Input);
_sensorPin.ValueChanged =HandleSensorLightDetectionChange;;
// Abra el LED Gpio Pin y configure el modo en salida
_ledPin =gpioController.OpenPin (_ledGpioPinNumber);
_ledPin.SetDriveMode (GpioPinDriveMode.Output);
handleLightStatus ( );
}
private void HandleSensorLightDetectionChange (GpioPin sender, GpioPinValueChangedEventArgs args)
{
handleLightStatus ();
}
private void handleLightStatus ()
{
// si ningún sensor de luz detectó luz, apague el LED
if (_sensorPin.Read () ==GpioPinValue.High)
{
// Gire apaga el LED
_ledPin.Write (GpioPinValue.Low);
}
else
{
// Enciende el LED
_ledPin.Write (GpioPinValue .Alto);
}
}
}
}

Leer más detalles:Sensor de luz digital


Proceso de manufactura

  1. Fundamentos de los sensores magnéticos digitales
  2. Sensor de temperatura de 1 cable DS1820 en Raspberry Pi (GPIO directamente)
  3. Sensor ultrasónico (HC-SR04) + Raspberry Pi
  4. Sensor de seguimiento de línea con RPi
  5. Sensor de presión barométrica digital BMP180 I2C
  6. Sensor de termómetro digital de 1 cable Raspberry Pi (DS18B20)
  7. Sensor de pasillo digital Raspberry Pi en JAVA
  8. Sensor de temperatura y luz Raspberry Pi
  9. Prueba del sensor DS18B20
  10. Luz solar de entrada al nodo de sensor inalámbrico MSP430
  11. Un sensor de proximidad analógico simple con interfaz digital (para Raspberry Pi) [última actualización:7 de febrero de 2014]