Arduino Nano - Sensor de Movimento - Servo Motor

Este tutorial ensina como usar o Arduino Nano e o sensor de movimento para controlar o servo motor. Em detalhes:

Isso pode ser aplicado em um processo de automação que dispara ações ao detectar a presença de uma pessoa.

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 Movimento HC-SR501
1×Servo Motor
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.

Buy Note: For controlling multiple servo motors, use the PCA9685 16 Channel PWM Servo Driver Module to save MCU pins and simplify wiring.

Sobre o Servo Motor e o Sensor de Movimento

Se você não conhece os servo motores e os sensores de movimento, incluindo pinagem, como funcionam e como programá-los, os tutoriais a seguir podem ajudar:

Diagrama de Ligação

The wiring diagram between Arduino Nano and Motion Sensor Servo Motor

This image is created using Fritzing. Click to enlarge image

Note que o diagrama de ligação mostrado acima é adequado apenas para um servo motor de baixo torque. Caso o motor vibre em vez de girar, é preciso usar uma fonte de alimentação externa para operar o servo motor. O diagrama de ligação a seguir mostra como conectar o servo motor a uma fonte de alimentação externa.

The wiring diagram between Arduino Nano and Motion Sensor Servo Motor

This image is created using Fritzing. Click to enlarge image

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

Não se esqueça de conectar o GND da fonte externa ao GND do Arduino.

Configuração Inicial

Ajuste do Tempo de AtrasoGire-o totalmente no sentido anti-horário.
Ajuste do Alcance de DetecçãoGire-o totalmente no sentido horário.
Seletor de Disparo RepetidoColoque o jumper como mostrado na imagem.
arduino motion sensor initial setting

Código Arduino Nano - Sensor de Movimento Controla Servo Motor

/* * 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-servo-motor */ #include <Servo.h> #define MOTION_SENSOR_PIN 2 // The Arduino Nano pin connected to the OUTPUT pin of motion sensor #define SERVO_PIN 9 // The Arduino Nano pin connected to the servo motor Servo servo; // create servo object to control a servo int angle = 0; // The current angle of servo motor int prev_motion_state; // The previous state of motion sensor int motion_state; // The current state of motion sensor 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 servo.attach(SERVO_PIN); // attaches the servo on pin 9 to the servo object servo.write(angle); motion_state = digitalRead(MOTION_SENSOR_PIN); } void loop() { prev_motion_state = motion_state; // save the last state motion_state = digitalRead(MOTION_SENSOR_PIN); // read new state if (motion_state == LOW && prev_motion_state == HIGH) { // pin state change: LOW -> HIGH Serial.println("Motion detected!"); servo.write(90); } else if (motion_state == HIGH && prev_motion_state == LOW) { // pin state change: HIGH -> LOW Serial.println("Motion stopped!"); servo.write(0); } }

Passos Rápidos

  • Conecte o Arduino Nano ao computador usando um cabo USB.
  • Abra o Arduino IDE, selecione a placa e a porta apropriadas.
  • Copie o código acima e abra-o no Arduino IDE.
  • Clique no botão Upload no Arduino IDE para compilar e fazer o upload do código para o Arduino Nano.
  • Acene com a mão na frente do sensor.
  • Observe o movimento do servo motor.

Vídeo

※ 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!