Arduino Nano - Sensor de Obstáculo

Este tutorial ensina como usar o Arduino Nano com o sensor infravermelho de desvio de obstáculos. Em detalhes, vamos aprender:

Hardware Necessário

1×Official Arduino Nano
1×Alternatively, DIYables Nano V3.0 Development Board
1×Cabo USB A para Mini-B
1×Sensor IR de Desvio de Obstáculos
1×(Alternativa) TCRT5000 Obstacle Avoidance Sensor
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.

Sobre o Sensor IR de Desvio de Obstáculos

O sensor infravermelho de obstáculos é usado para identificar a presença de qualquer barreira na frente do módulo por meio de um sinal infravermelho. Seu alcance de detecção fica entre 2cm e 30cm e pode ser ajustado com um potenciômetro embutido.

Pinagem do Sensor Infravermelho de Desvio de Obstáculos

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

  • Pino GND: deve ser conectado ao GND (0V)
  • Pino VCC: deve ser conectado ao VCC (5V ou 3.3v)
  • Pino OUT: é um pino de saída - ele fica em LOW quando um obstáculo é detectado e em HIGH quando não há obstáculo. Este pino deve ser conectado a um pino de entrada do Arduino Nano.
IR Obstacle Avoidance Sensor pinout

Como Funciona

O módulo do sensor infravermelho de obstáculos contém um transmissor IR e um receptor IR. O transmissor emite o sinal IR. O receptor procura o sinal IR refletido para detectar se há um objeto presente ou não. O pino OUT do sensor indicará a presença de um obstáculo:

  • Se houver um obstáculo na frente do sensor, o pino OUT ficará em LOW
  • Se não houver obstáculo na frente do sensor, o pino OUT ficará em HIGH

※ Nota:

O sensor pode se deformar durante o transporte, o que pode causar mau funcionamento. Se o sensor não estiver funcionando corretamente, ajuste o transmissor e o receptor IR para garantir que fiquem paralelos entre si.

Diagrama de Ligação

The wiring diagram between Arduino Nano and IR Obstacle Avoidance Sensor

This image is created using Fritzing. Click to enlarge image

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

Como Programar o Sensor IR de Desvio de Obstáculos

  • Inicializa o pino do Arduino Nano no modo de entrada digital usando a função pinMode(). Por exemplo, D2:
pinMode(2, INPUT_PULLUP);
  • Usa a função digitalRead() para ler o estado do pino do Arduino Nano.
int state = digitalRead(2);

Código Arduino Nano

Existem dois métodos para programar uma aplicação de desvio de obstáculos:

  • Agir ou não quando um obstáculo está presente ou ausente
  • Agir ou não quando um obstáculo é detectado ou removido

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

/* * 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-obstacle-sensor */ #define SENSOR_PIN 2 // The Arduino Nano pin connected to the out pin of obstacle avoidance sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the Arduino Nano pin as an input 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

  • Copie o código e abra com a Arduino IDE.
  • Clique no botão Upload da Arduino IDE para enviar o código ao Arduino Nano.
  • Coloque um obstáculo na frente do sensor por um tempo e depois retire.
  • Veja 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
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 Nano on COM15
2

Código Arduino Nano para detectar o obstáculo

/* * 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-obstacle-sensor */ #define SENSOR_PIN 2 // The Arduino Nano pin connected to the out pin of obstacle avoidance sensor int prev_state = HIGH; // The previous state from the input pin int obstacle_state; // The current reading from the input pin void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the Arduino Nano pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: obstacle_state = digitalRead(SENSOR_PIN); if (prev_state == HIGH && obstacle_state == LOW) Serial.println("The obstacle is detected"); else if (prev_state == LOW && obstacle_state == HIGH) Serial.println("The obstacle is cleared"); delay(50); // save the the last state prev_state = obstacle_state; }

Passos Rápidos

  • Copie o código e abra com a Arduino IDE.
  • Clique no botão Upload da Arduino IDE para compilar e fazer upload do código para o Arduino Nano.
  • Coloque um obstáculo na frente do sensor por um instante e depois remova.
  • Veja 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
The obstacle is detected The obstacle is cleared
Ln 11, Col 1
Arduino Nano 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!