Circuito 9 - Fotoresistor LDR Com Netduino - DuinoLabs

5
26/03/13 Circuito 9 - Fotoresistor LDR com Netduino - DuinoLabs duinolabs.com/starterkit/ncir09/ 1/5 0 items – 0 items – R$0.00 R$0.00 Circuito 9 – Fotoresistor LDR com Netduino O que faremos? Mesmo que obter o valor de um potenciômetro pode ser útil para coisas controladas por pessoas, o que utilizar quando queremos trabalhar com o nosso ambiente? Usamos exatamente os mesmos princípios, mas no lugar de um potenciômetro vamos usar um foto resistor (resistência baseada na luz ou LDR). O Netduino não pode medir resistência diretamente (ele mede tensão) por isso precisamos montar um divisor de tensão . Esta tensão pode ser calculada, mas para nosso propósito podemos experimentar valores e ver o que acontece. Um valor baixo ocorre quando o sensor estiver bem iluminado enquanto um valor alto ocorre quando estiver no escuro. Componentes Esquemático Layout Search... DuinoLabs Curtir 1.036 pessoas curtiram DuinoLabs. Assine DuinoLabs You are here: You are here: Home Home > Kit Didático de Eletrônica Kit Didático de Eletrônica > Circuito 9 – Fotoresistor LDR com Netduino Circuito 9 – Fotoresistor LDR com Netduino DuinoLabs DuinoLabs Search for products Receba as novidades. email Home Home Produtos Produtos Minha conta Minha conta Blog Blog Kit Didático de Eletrônica Kit Didático de Eletrônica Sobre a DuinoLabs Sobre a DuinoLabs Termos e Condições de Compras Termos e Condições de Compras

Transcript of Circuito 9 - Fotoresistor LDR Com Netduino - DuinoLabs

26/03/13 Circuito 9 - Fotoresistor LDR com Netduino - DuinoLabs

duinolabs.com/starterkit/ncir09/ 1/5

0 items – 0 items – R$0.00R$0.00

Circuito 9 – Fotoresistor

LDR com Netduino

O que faremos?

Mesmo que obter o valor de um potenciômetro pode ser útil para coisas

controladas por pessoas, o que utilizar quando queremos trabalhar com

o nosso ambiente? Usamos exatamente os mesmos princípios, mas no

lugar de um potenciômetro vamos usar um foto resistor (resistência

baseada na luz ou LDR). O Netduino não pode medir resistência

diretamente (ele mede tensão) por isso precisamos montar um divisor de

tensão . Esta tensão pode ser calculada, mas para nosso propósito

podemos experimentar valores e ver o que acontece. Um valor baixo

ocorre quando o sensor estiver bem iluminado enquanto um valor alto

ocorre quando estiver no escuro.

Componentes

Esquemático

Layout

Search...

DuinoLabs

Curtir

1.036 pessoas curtiram DuinoLabs.

Assine DuinoLabs

You are here:You are here: HomeHome >> Kit Didático de EletrônicaKit Didático de Eletrônica >> Circuito 9 – Fotoresistor LDR com NetduinoCircuito 9 – Fotoresistor LDR com Netduino

DuinoLabsDuinoLabs Search for products

Receba as novidades.

email

HomeHome ProdutosProdutos Minha contaMinha conta BlogBlog Kit Didático de EletrônicaKit Didático de Eletrônica Sobre a DuinoLabsSobre a DuinoLabs

Termos e Condições de ComprasTermos e Condições de Compras

26/03/13 Circuito 9 - Fotoresistor LDR com Netduino - DuinoLabs

duinolabs.com/starterkit/ncir09/ 2/5

26/03/13 Circuito 9 - Fotoresistor LDR com Netduino - DuinoLabs

duinolabs.com/starterkit/ncir09/ 3/5

Código

1 – Crie um novo projeto Netduino Plus utilizando o Visual Studio;

2 – Copie o código fonte do projeto nos links a seguir, conforme a versão

do firmware do seu Netduino:

[codesyntax lang="csharp" title="Para .NET Micro Framework 4.1"]

//Bibliotecas utilizadas no programa

using System; //classes básicas

using System.Threading; //classes de threading (tarefas)

using Microsoft.SPOT; //Smart Personal Objects Technology Classes

using Microsoft.SPOT.Hardware; //classes de hardware da SPOT

using SecretLabs.NETMF.Hardware; //classes de hardware da Secret Labs

using SecretLabs.NETMF.Hardware.NetduinoPlus; //classes específicas do Netduino

namespace NCIR09 /// Define o namespace onde estamos trabalhando ///

{

public class Program

{

static AnalogInput lightSensor = new AnalogInput(Pins.GPIO_PIN_A0); // Define que o foto resistor esta conectado ao pino analógico 0

static PWM led = new PWM(Pins.GPIO_PIN_D9); // Define que o LED esta ligadono pino 9

public static void Main() /// Função principal (executa ao ligar o Netduino) ///

{

int value = 0; // declara uma variavel para armazenar a leitura do sensor de luz

while (true) /// Faça Sempre ///

{

value = lightSensor.Read(); // leia o valor do photo resistor

value = (int)((double)value * 0.1111); // ajusta o valor lido ~0-900 em escala de 0-100

led.SetDutyCycle((uint)value); // define o brilho do led de acordo com a leitura do sensor

} /// Encerra o laço for ///

} /// Encerra a função Main() ///

} /// Encerra o programa ///

} /// Encerra o namespace ///

[/codesyntax]

[codesyntax lang="csharp" title="Para .NET Micro Framework 4.2"]

//Bibliotecas utilizadas no programa

using System; //classes básicas

using System.Threading; //classes de threading (tarefas)

using Microsoft.SPOT; //Smart Personal Objects Technology Classes

using Microsoft.SPOT.Hardware; //classes de hardware da SPOT

using SecretLabs.NETMF.Hardware; //classes de hardware da Secret Labs

using SecretLabs.NETMF.Hardware.NetduinoPlus; //classes específicas do Netduino

namespace NCIR09 /// Define o namespace onde estamos trabalhando ///

{

public class Program

{

static AnalogInput lightSensor = new AnalogInput(AnalogChannels.ANALOG_PIN_A0, 10); // Define que o foto resistor esta conectado ao pino analógico 0

static PWM led = new PWM(PWMChannels.PWM_PIN_D9, 100, 0, false); // Define que o LED esta ligadono pino 9

public static void Main() /// Função principal (executa ao ligar o Netduino) ///

{

int value = 0; // declara uma variavel para armazenar a leitura do sensor de luz

while (true) /// Faça Sempre ///

26/03/13 Circuito 9 - Fotoresistor LDR com Netduino - DuinoLabs

duinolabs.com/starterkit/ncir09/ 4/5

{

value = lightSensor.ReadRaw(); // leia o valor do photo resistor

value = (int)((double)value * 0.1111); // ajusta o valor lido ~0-900 em escala de 0-1

led.DutyCycle = value; // define o brilho do led de acordo com a leitura do sensor

} /// Encerra o laço for ///

} /// Encerra a função Main() ///

} /// Encerra o programa ///

} /// Encerra o namespace ///

[/codesyntax]

OBS1 : A versão do .NET Micro Framework deve corresponder ao

firmware instalado no seu Netduino. Confira este tutorial para saber

como descobrir qual versão está utilizando.

3 – Substitua o conteúdo do arquivo “Program.cs” criado no Visual

Studio pelo conteúdo do arquivo que você copiou no passo anterior.

Não funcionou? Três coisas para tentar

1. LED Fica Apagado? Este é um erro que fazemos de vez em quando.

Tente inverter o LED e confirme a sua ligação.

2. Não Responde as Mudanças de Luz? Dado que o espaço entre

os terminais do LDR não é padrão, é fácil ligá-los errado. Verifique se

estão nos lugares corretos.

3. Ainda Nada? Você pode estar em uma sala que seja muito clara ou

escura. Tente acender e apagar as luzes da sala para ver se ajuda. Ou

se tiver uma lanterna, use-a.

Faça Melhor

Resposta inversa

Talvez você queira a resposta invertida. Não se preocupe, podemos fazer

isto apenas trocando:

led.SetDutyCycle((uint)value);

por

led.SetDutyCycle(100 – (uint)value);

Grave o programa e veja a mudança.

Luz noturna

Ao invés de controlar o brilho de um LED em resposta a luz, vamos então

ligar ou desligar o LED em resposta a um limiar. Substitua o código após

while (true) por:

int threshold = 300;

value = lightSensor.Read();

if (value > threshold) {

led.SetDutyCycle(100);

}

else {

26/03/13 Circuito 9 - Fotoresistor LDR com Netduino - DuinoLabs

duinolabs.com/starterkit/ncir09/ 5/5

Compartilhe: Curtir 0 TweetTweet 0 0

led.SetDutyCycle(0);

}

Para alterar o ponto onde o LED liga e desliga, altere o valor do limiar.

Para este exemplo, nos usamos a função de PWM do pino 9. Como

estamos agora ligando e desligando o LED, você poderia utilizar qualquer

outra porta que não seja compatível com a função PWM.

Mais, mais e mais!

Quer saber mais detalhes, onde comprar peças ou outras informações?

Deixe o seu comentário!

Tags

.NET Gadgeteer .NET Micro Framework A

Internet das Coisas Arduino ARM Bootloader C# Cabo USB

componentes eletrônicos Conversor Analógico Digital crowdsourcing

debug Deploy Depuração enchentes Energia Enum enumerados

Esquemático Firmware Fonte Alimentação internet das coisaas Internet

das Coisas Kit Desenvolvimento Microcontrolador micro

controlador modbus Modulação Largura Pulso

Netduino Netduino Mini Netduino Plus netmf Open-

Source Pachube PCB Placa Eletrônica Programação C# Protoboard

PWM sensores Sistemas Embarcados Visual Basic Visual C#

Visual Studio visual studio express

Links Relacionados

Baltimore Hackerspace (Inglês)

Bildr

Citizen Scientist League (Inglês)

CNC or Bust! (Inglês)

Fritzing

Garoa Hacker Clube

Georgi's blog

Microsoft .NET Micro Framework (Inglês)

Netduino Brasil

Powered by Powered by WordPressWordPress. Designed by . Designed by