Arduino Nano - Sensor de Luz

Este tutorial ensina você a usar o sensor de luz com o Arduino Nano. Em detalhes:

Hardware Necessário

1×Official Arduino Nano
1×Alternatively, DIYables Nano V3.0 Development Board
1×Cabo USB A para Mini-B
1×Sensor de Luz
1×10 kΩ Resistor
1×Protoboard
1×Fios Jumper
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para Arduino Nano
1×(Recomendado) Placa de Expansão Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentação para Arduino Nano

Or you can buy the following kits:

1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

O sensor de luz LDR é muito barato, mas requer um resistor na ligação, o que pode deixar a montagem mais complexa. Para simplificar a ligação, você pode usar um módulo sensor de luz LDR como alternativa.

Sobre o Sensor de Luz

O sensor de luz usado neste tutorial é um fotoresistor, também conhecido como fotocélula, resistor dependente de luz ou LDR.

Ele não é usado apenas para detectar luz, mas também para medir a quantidade de brilho ou iluminação da luz ao redor.

Pinagem do Sensor de Luz

Um fotoresistor tem dois pinos que não precisam ser distinguidos, pois ele é um tipo de resistor e os pinos são simétricos.

Light Sensor pinout

Como Funciona

A quantidade de luz a que a face do fotoresistor está exposta determina a sua resistência. Medindo essa resistência, podemos medir o brilho da luz ambiente.

How Light Sensor Works

WARNING

O valor do sensor de luz apenas dá uma indicação da intensidade da luz e não é uma medida exata do fluxo luminoso. Portanto, ele deve ser usado somente em aplicações que não exijam um alto grau de precisão.

Arduino Nano - Sensor de Luz

Os pinos A0 a A7 do Arduino Nano podem ser usados como entradas analógicas. Esses pinos de entrada analógica convertem a tensão (variando de 0 volts a VCC) em valores inteiros (de 0 a 1023), chamados de valor ADC ou valor analógico.

Conecte um pino do fotoresistor a um pino de entrada analógica. Usando a função analogRead(), leia o valor analógico do pino. Isso nos permitirá determinar os níveis de luz de forma relativa.

Diagrama de Ligação

The wiring diagram between Arduino Nano and Light Sensor

This image is created using Fritzing. Click to enlarge image

Código Arduino Nano

O código abaixo lê o valor de uma fotocélula e determina o nível de luz de forma qualitativa.

/* * Este código de Arduino Nano foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano/arduino-nano-light-sensor */ void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); } void loop() { // reads the input on analog pin A0 (value between 0 and 1023) int analog_value = analogRead(A0); Serial.print("Analog reading: "); Serial.print(analog_value); // The raw analog reading // We'll have a few threshholds, qualitatively determined if (analog_value < 10) { Serial.println(" - Dark"); } else if (analog_value < 200) { Serial.println(" - Dim"); } else if (analog_value < 500) { Serial.println(" - Light"); } else if (analog_value < 800) { Serial.println(" - Bright"); } else { Serial.println(" - Very bright"); } delay(500); }

Passos Rápidos

  • Copie o código e abra-o com a Arduino IDE.
  • Clique no botão Upload na IDE para transferir o código para o Arduino Nano.
  • Abra o Serial Monitor.
  • Aponte uma luz para o sensor.
  • Confira o resultado no Serial Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano' on 'COM15')
New Line
9600 baud
Analog reading: 163 - Dim Analog reading: 152 - Dim Analog reading: 187 - Dim Analog reading: 188 - Dim Analog reading: 957 - Very bright Analog reading: 972 - Very bright Analog reading: 981 - Very bright
Ln 11, Col 1
Arduino Nano on COM15
2

Sensor de Luz e LED

  • Quando estiver escuro, o código abaixo vai ligar o LED. Caso contrário, o LED será desligado.
/* * Este código de Arduino Nano foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano/arduino-nano-light-sensor */ const int LIGHT_SENSOR_PIN = A0; // The Arduino Nano pin connected to light sensor's pin const int LED_PIN = 2; // The Arduino Nano pin connected to LED's pin const int ANALOG_THRESHOLD = 500; int analog_value; void setup() { pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode } void loop() { analog_value = analogRead(LIGHT_SENSOR_PIN); // read the input on analog pin if(analog_value < ANALOG_THRESHOLD) digitalWrite(LED_PIN, HIGH); // turn on LED else digitalWrite(LED_PIN, LOW); // turn off LED }
  • O diagrama de ligação para o código acima:
The wiring diagram between Arduino Nano and Light Sensor LED

This image is created using Fritzing. Click to enlarge image

Veja A melhor forma de alimentar o Arduino Nano e outros componentes.

Vídeo

Desafie-se

  • Quando a luz do seu quarto estiver fraca, ative-a automaticamente.
  • Consulte Arduino Nano - Relé para mais informações.

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!