Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Sensor de luz digital

Um aplicativo central de IoT do Windows 10 que liga um LED baseado na leitura do sensor de luz digital.

História

Levei algum tempo para descobrir que a leitura do status do Sensor de luz digital é simples e simplesmente depende da leitura do valor GPIO!

A ideia do projeto é muito simples, basta ligar o LED na luz quando o sensor detectar a luz e vice-versa.


Demonstração do resultado do projeto

Então, vamos seguir em frente e verificar o diagrama de fiação abaixo e, a propósito, não encontrei um diagrama para o sensor de luz digital, então o mantive como um texto !!!!

Configurando o Conselho



Diagrama de fiação

Depende de você também alterar os números dos pinos, mas certifique-se de que eles estejam refletidos corretamente no código UWP.

A parte que eu gosto, codificação!

Este projeto tem apenas uma página que contém o código C # e não há necessidade de interface do usuário neste momento.

Etapa 1:Criando o aplicativo UWP

A foto vai aqui!

Etapa 2: Abra o MainPage.xaml.cs e vamos codificar

Remova todos os usando e inclua apenas o seguinte

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

Declare o sensor e as variáveis ​​de membro do pino GPIO do LED

private GpioPin _sensorPin;
private GpioPin _ledPin;;

Declare as variáveis ​​de número do pino GPIO

private int _sensorGpioPinNumber =5;
private int _ledGpioPinNumber =12;

Crie o método de inicialização

private void Initialize ()
{
// Obtenha o controlador Gpio padrão
var gpioController =GpioController.GetDefault ();
// Abra o sensor Gpio Pin e defina o modo para input
_sensorPin =gpioController.OpenPin (_sensorGpioPinNumber);
_sensorPin.SetDriveMode (GpioPinDriveMode.Input);
_sensorPin.ValueChanged + =HandleSensorLightDetectionChange;;
// Abra o LED Gpio Pin e defina o modo para saída
_ledPin =gpioController.OpenPin (_ledGpioPinNumber);
_ledPin.SetDriveMode (GpioPinDriveMode.Output);
handleLightStatus ( );
}

Chame o método handleLightStaus no evento HandleSensorLightDetectionChange

private void HandleSensorLightDetectionChange (remetente GpioPin,
GpioPinValueChangedEventArgs args)
{
handleLightStatus ();
}

Crie o método handleLightStatus

private void handleLightStatus ()
{
// se nenhum sensor de luz detectou luz, então desligue o LED
if (_sensorPin.Read () ==GpioPinValue.High)
{
// Desligue o LED
_ledPin.Write (GpioPinValue.Low);
}
else
{
// Ligue o LED
_ledPin.Write(GpioPinValue.High);
}
}

Descobri que o valor “Alto” ​​retornado do sensor Gpio Pin indica que nenhuma luz foi detectada e “Baixo” indica que a luz foi detectada.

O código completo pode ser encontrado abaixo:

usando Windows.UI.Xaml.Controls;
usando Windows.Devices.Gpio;
namespace DigitalLightSensorApp
{
classe parcial selada 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 ()
{
// Obtenha o controlador Gpio padrão
var gpioController =GpioController.GetDefault ();
// Abra o sensor Gpio Pin e defina o modo para entrada
_sensorPin =gpioController.OpenPin (_sensorGpioPinNumber);
_sensorPin.SetDriveMode (GpioPinDriveMode.Input);
_sensorPin.ValueC =HandleSensorLightDetectionChange;;
// Abra o LED Gpio Pin e defina o modo para saída
_ledPin =gpioController.OpenPin (_ledGpioPinNumber);
_ledPin.SetDriveMode (GpioPinDriveMode.Output);
handleLightStatus ( );
}
private void HandleSensorLightDetectionChange (GpioPin sender, GpioPinValueChangedEventArgs args)
{
handleLightStatus ();
}
private void handleLightStatus ()
{
// se nenhum sensor de luz detectou luz, desligue o LED
if (_sensorPin.Read () ==GpioPinValue.High)
{
// Ligue desligar o LED
_ledPin.Write (GpioPinValue.Low);
}
else
{
// Ligar o LED
_ledPin.Write (GpioPinValue .Alto);
}
}
}
}

Leia mais detalhes:Sensor de luz digital

Processo de manufatura

  1. Fundamentos de sensores magnéticos digitais
  2. Sensor de temperatura de 1 fio DS1820 em Raspberry Pi (GPIO diretamente)
  3. Sensor ultrassônico (HC-SR04) + Raspberry Pi
  4. Sensor de rastreamento de linha com RPi
  5. Sensor de pressão barométrica digital BMP180 I2C
  6. Sensor de termômetro digital de 1 fio Raspberry Pi (DS18B20)
  7. Sensor digital Hall Raspberry Pi em JAVA
  8. Temperatura do Raspberry Pi e sensor de luz
  9. Teste o sensor DS18B20
  10. Luz solar da garagem para o nó do sensor sem fio MSP430