Arduino Nano - Sensor de Movimento - LED
Este tutorial ensina você a usar o Arduino Nano e o sensor de movimento para controlar um LED. Em detalhes:
- O Arduino Nano acende o LED quando um movimento é detectado
- O Arduino Nano apaga o LED quando nenhum movimento é percebido
Isso pode ser aplicado em um processo de automação que dispara ações ao detectar a presença de pessoas.
Hardware Necessário
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.
Buy Note: Use the LED Module for easier wiring. It includes an integrated resistor.
Sobre o LED e o Sensor de Movimento
Se você não conhece o LED e o sensor de movimento (incluindo pinagem, funcionamento e programação), os tutoriais a seguir podem ajudar:
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Veja A melhor forma de alimentar o Arduino Nano e outros componentes.
Configuração Inicial
| Ajuste do Tempo de Atraso | Gire totalmente no sentido anti-horário. |
| Ajuste do Alcance de Detecção | Gire totalmente no sentido horário. |
| Seletor de Disparo Repetido | Coloque o jumper como mostrado na imagem. |

Código Arduino Nano
/*
* 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-motion-sensor-led
*/
#define MOTION_SENSOR_PIN 2 // The Arduino Nano pin connected to the OUTPUT pin of motion sensor
#define LED_PIN 7 // The Arduino Nano pin connected to the LED
int motion_state = LOW; // current state of motion sensor's pin
int prev_motion_state = LOW; // previous state of motion sensor's pin
void setup() {
Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor.
pinMode(MOTION_SENSOR_PIN, INPUT); // set arduino pin to input mode
pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode
}
void loop() {
prev_motion_state = motion_state; // store old state
motion_state = digitalRead(MOTION_SENSOR_PIN); // read new state
if (prev_motion_state == LOW && motion_state == HIGH) { // pin state change: LOW -> HIGH
Serial.println("Motion detected!");
digitalWrite(LED_PIN, HIGH); // turn on
}
else if (prev_motion_state == HIGH && motion_state == LOW) { // pin state change: HIGH -> LOW
Serial.println("Motion stopped!");
digitalWrite(LED_PIN, LOW); // turn off
}
}
Passos Rápidos
- Conecte o Arduino Nano ao computador com um cabo USB.
- Abra o Arduino IDE e selecione a placa e a porta corretas.
- Copie o código acima e abra-o no Arduino IDE.
- Clique no botão Upload no Arduino IDE para fazer o upload do código para o Arduino Nano.

- Mova a mão na frente do sensor e observe a mudança no estado do LED.
Explicação do Código
Confira a explicação linha por linha nos comentários do código-fonte!