Arduino UNO R4 - Sensor de Desvio de Obstáculos

Neste guia, vamos aprender a usar o Arduino UNO R4 e o sensor infravermelho de desvio de obstáculos para detectar obstáculos.

Arduino UNO R4 Obstacle Avoidance Sensor

Sobre o Sensor IR de Desvio de Obstáculos

O sensor de obstáculos infravermelho (IR) consegue encontrar obstáculos à sua frente usando um sinal infravermelho. Ele detecta objetos de 2cm a 30cm de distância. Você pode mudar a distância de detecção com uma ferramenta embutida chamada potenciômetro.

Pinagem

O sensor IR de desvio de obstáculos tem três pinos:

  • Pino GND: conecte este pino ao GND (0V).
  • Pino VCC: conecte este pino ao VCC (5V ou 3,3V).
  • Pino OUT: é um pino de saída. Ele fica LOW se houver um obstáculo e HIGH se não houver obstáculo. Conecte este pino ao pino de entrada do Arduino UNO R4.
IR Obstacle Avoidance Sensor Pinout
image source: diyables.io

Como Funciona

Um módulo sensor de obstáculos infravermelho inclui um transmissor IR e um receptor IR. O transmissor IR envia um sinal IR, e o receptor IR detecta esse sinal quando ele volta, refletido por um objeto, para verificar se há um obstáculo. A detecção de um obstáculo é mostrada pelo pino OUT.

  • Quando há um obstáculo na frente do sensor, o pino OUT do sensor fica LOW.
  • Quando não há obstáculo na frente do sensor, o pino OUT dele fica HIGH.

※ Nota:

Durante o transporte, o sensor pode ser dobrado ou danificado, o que pode fazer com que ele não funcione direito. Se o sensor não estiver funcionando bem, ajuste o transmissor e o receptor infravermelhos para que fiquem alinhados em paralelo um com o outro.

Diagrama de Ligação

The wiring diagram between Arduino UNO R4 IR Obstacle Avoidance Sensor

This image is created using Fritzing. Click to enlarge image

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

Como Programar o Sensor IR de Desvio de Obstáculos

  • Defina o pino do Arduino UNO R4 como entrada digital usando a função pinMode(). Por exemplo, configure o pino 8.
pinMode(8, INPUT_PULLUP);
  • Leia o estado do pino do Arduino UNO R4 usando a função digitalRead().
int state = digitalRead(8);

Código Arduino UNO R4

Há dois casos de uso para o sensor de obstáculos:

  • Fazer algo ou não fazer nada, dependendo de haver ou não um obstáculo.
  • Fazer algo ou não fazer nada, quando você detecta um obstáculo ou quando ele sai.

Código Arduino UNO R4 para verificar se o obstáculo está presente

/* * 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-obstacle-avoidance-sensor */ #define SENSOR_PIN 8 // The Arduino UNO R4 pin connected to OUT pin of IR obstacle avoidance sensor void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the Arduino's pin as aninput pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: int state = digitalRead(SENSOR_PIN); if (state == LOW) Serial.println("The obstacle is present"); else Serial.println("The obstacle is NOT present"); delay(100); }

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.
  • Conecte o sensor de desvio de obstáculos ao Arduino Uno R4 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 correta (por exemplo, Arduino Uno R4 WiFi) e a porta COM.
  • Copie o código e abra-o no Arduino IDE.
  • Clique no botão Upload do Arduino IDE para enviar o código ao Arduino UNO R4.
  • Coloque um obstáculo na frente do sensor por algum tempo e depois retire-o.
  • Confira os resultados no Serial Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
The obstacle is NOT present The obstacle is NOT present The obstacle is NOT present The obstacle is NOT present The obstacle is NOT present The obstacle is present The obstacle is present The obstacle is present The obstacle is present The obstacle is NOT present The obstacle is NOT present
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2

Código Arduino UNO R4 para detectar o obstáculo

/* * 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-obstacle-avoidance-sensor */ #define SENSOR_PIN 8 // The Arduino UNO R4 pin connected to OUT pin of IR obstacle avoidance sensor int prev_obstacle_state = HIGH; // the previous state from the input pin int obstacle_state; // the current reading from the input pin void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the Arduino's pin as aninput pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: obstacle_state = digitalRead(SENSOR_PIN); if (prev_obstacle_state == HIGH && obstacle_state == LOW) Serial.println("The obstacle is detected"); else if (prev_obstacle_state == LOW && obstacle_state == HIGH) Serial.println("The obstacle is cleared"); delay(50); // save the the last state prev_obstacle_state = obstacle_state; }

Passos Rápidos

  • Copie o código e abra-o no Arduino IDE.
  • Clique no botão Upload do Arduino IDE para enviar o código ao Arduino UNO R4.
  • Coloque um obstáculo na frente do sensor por um instante e depois retire-o.
  • Confira os resultados no Serial Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
The obstacle is detected The obstacle is cleared
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2

Vídeo

Referências de Funçõ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!