Arduino UNO R4 - Sensor de Movimento - Servo Motor

Boas-vindas! Este tutorial vai guiar você no uso de um Arduino UNO R4 com um sensor de movimento e um servo motor. É claro e simples, ideal para iniciantes. O sensor de movimento detecta movimento, e o servo motor gira para um ângulo específico. Você pode usar isso para controlar coisas como um portão, uma câmera ou um pequeno braço robótico. No final, você vai aprender a:

Você vai entender como programar o Arduino UNO R4 para ler o sensor de movimento e controlar o servo motor. Conecte o servo motor a um dispositivo, e o sensor de movimento vai cuidar do resto. Este projeto é perfeito para quem está começando com Arduino e quer criar projetos divertidos e interativos. Vamos começar!

Arduino UNO R4 com Sensor de Movimento e Servo Motor

Sobre o Servo Motor e o Sensor de Movimento

Se você não conhece servo motores e sensores de movimento (conexões de pinos, funções e métodos de programação), consulte os tutoriais abaixo:

Diagrama de Ligação

Diagrama de Ligação do Arduino UNO R4 com Sensor de Movimento e Servo Motor

This image is created using Fritzing. Click to enlarge image

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

Configuração Inicial

Ajuste do Tempo de AtrasoGire o parafuso totalmente no sentido anti-horário.
Ajuste do Alcance de DetecçãoGire o parafuso totalmente no sentido horário.
Seletor de Disparo RepetidoColoque o jumper como mostrado na imagem.
configuração inicial do sensor de movimento para Arduino

Código Arduino UNO R4 - Sensor de Movimento Controla Servo Motor

/* * Este código de Arduino UNO R4 foi desenvolvido por pt.newbiely.com * Este código de Arduino UNO R4 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-motion-sensor-servo-motor */ #include <Servo.h> #define MOTION_SENSOR_PIN 2 // The Arduino Uno R4 pin connected to motion sensor's pin #define SERVO_PIN 9 // The Arduino Uno R4 pin connected to servo motor's pin Servo servo; // create servo object to control a servo // variables will change: 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 serial 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

Siga estas instruções passo a passo:

  • Se esta é a primeira vez que você usa o Arduino Uno R4 WiFi/Minima, consulte o tutorial sobre como configurar o ambiente para o Arduino Uno R4 WiFi/Minima no Arduino IDE.
  • Ligue os componentes de acordo com o diagrama fornecido.
  • Conecte a placa Arduino Uno R4 ao seu computador usando um cabo USB.
  • Abra o Arduino IDE no seu computador.
  • Selecione a placa Arduino Uno R4 apropriada (por exemplo, Arduino Uno R4 WiFi) e a porta COM.
  • Conecte o Arduino UNO R4 ao seu computador com o cabo USB.
  • Abra o Arduino IDE e escolha a placa e a porta corretas.
  • Cole o código fornecido no Arduino IDE.
  • Pressione o botão Upload no Arduino IDE para enviar o código para o Arduino UNO R4.
  • Acene com a mão na frente do sensor.
  • Veja o servo motor se mover em resposta.

Arduino UNO R4 com Sensor de Movimento HC-SR501 - Tutorial em Vídeo

Abaixo está um tutorial em vídeo, passo a passo, que mostra como usar o sensor de movimento HC-SR501 com o Arduino UNO R4. No final do vídeo, você vai ver como fazer um sistema de abertura automática de porta com um servo e um buzzer usando o código abaixo:

#include <Servo.h> #define SENSOR_PIN 2 // The Arduino UNO R4 connected to the output pin of the motion sensor #define SERVO_PIN 5 #define BUZZER_PIN 6 Servo servo; int motion_state = LOW; // Initialize current pin state to LOW int prev_motion_state = LOW; // Initialize previous pin state to LOW void setup() { Serial.begin(9600); // Start serial communication at 9600 baud rate pinMode(SENSOR_PIN, INPUT); // Configure pin 2 as an input for the sensor pinMode(BUZZER_PIN, OUTPUT); // Configure the buzzer pin as output servo.attach(SERVO_PIN); servo.write(0); noTone(BUZZER_PIN); } void beep() { for (int i = 0; i < 2; i++) { tone(BUZZER_PIN, 5000); delay(100); noTone(BUZZER_PIN); delay(100); } } void loop() { prev_motion_state = motion_state; // Assign the current pin state to the previous pin state for comparison motion_state = digitalRead(SENSOR_PIN); // Read the current state from the sensor output // Check for transition from LOW to HIGH which indicates motion detected if (prev_motion_state == LOW && motion_state == HIGH) { Serial.println("Motion detected!"); // Print message when motion is detected servo.write(180); beep(); // Optional: Additional actions when motion is detected } // Check for transition from HIGH to LOW which indicates motion has stopped else if (prev_motion_state == HIGH && motion_state == LOW) { Serial.println("Motion stopped!"); // Print message when motion has stopped servo.write(0); beep(); // Optional: Additional actions when motion stops } }

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