Como fazer um robô de limpeza de piso usando sensor ultrassônico?

Um robô de limpeza automática de pisos não é um conceito novo. Mas esses robôs têm um grande problema. Eles são muito caros. E se pudéssemos fazer um robô de limpeza de piso de baixo custo que seja tão eficiente quanto o robô disponível no mercado. Este robô usará um sensor ultrassônico e evitará qualquer obstáculo em seu caminho. Ao fazer isso, ele limpará toda a sala.



(Esta foto foi tirada do Circuit Digest)

Como usar o sensor ultrassônico para fazer um robô de limpeza automática de piso?

Como sabemos agora o resumo do nosso projeto. Vamos reunir mais algumas informações para começar a trabalhar.



Etapa 1: Coletando os componentes

A melhor abordagem para iniciar qualquer projeto é fazer uma lista de componentes completos no início e passar por um breve estudo de cada componente. Isso nos ajuda a evitar os transtornos no meio do projeto. Uma lista completa de todos os componentes usados ​​neste projeto é fornecida abaixo.



  • Chassi de roda de carro
  • Bateria
  • Mostrar pincel

Etapa 2: estudar os componentes

Agora, como temos uma lista completa de todos os componentes, vamos dar um passo à frente e estudar brevemente o funcionamento de cada componente.



Arduino nano é uma placa microcontrolada usada para controlar ou realizar diferentes tarefas em um circuito. Nós queimamos um Código C no Arduino Nano para informar à placa do microcontrolador como e quais operações executar. O Arduino Nano tem exatamente a mesma funcionalidade do Arduino Uno, mas em um tamanho bem pequeno. O microcontrolador na placa Arduino Nano é ATmega328p.

Arduino Nano

O L298N é um circuito integrado de alta corrente e alta tensão. É uma ponte dupla completa projetada para aceitar a lógica TTL padrão. Possui duas entradas de habilitação que permitem que o dispositivo opere de forma independente. Dois motores podem ser conectados e operados ao mesmo tempo. A velocidade dos motores é variada através dos pinos PWM.



Motorista L298N

A placa HC-SR04 é um sensor ultrassônico que é usado para determinar a distância entre dois objetos. Ele consiste em um transmissor e um receptor. O transmissor converte o sinal elétrico em um sinal ultrassônico e o receptor converte o sinal ultrassônico de volta ao sinal elétrico. Quando o transmissor envia uma onda ultrassônica, ela reflete após colidir com um determinado objeto. A distância é calculada usando o tempo que o sinal ultrassônico leva para ir do transmissor e voltar para o receptor.

Sensor ultrasônico

Etapa 3: montagem dos componentes

Como agora sabemos como funcionam todos os componentes, vamos montar todos os componentes e começar a fazer um robô.

Pegue um chassi de roda de carro e monte uma escova de exibição na frente dos chassis. Monte o Scotch Brite embaixo do robô. Certifique-se de que está atrás da escova de sapatos. Agora prenda uma pequena placa de ensaio na parte superior dos chassis e, atrás dela, prenda o driver do motor. Faça as conexões adequadas dos motores ao driver do motor e conecte cuidadosamente os pinos do driver do motor ao Arduino. Monte uma bateria atrás do chassi. A bateria irá alimentar o driver do motor que irá alimentar os motores. O Arduino também obterá energia do driver do motor. O pino Vcc e o aterramento do sensor ultrassônico serão conectados ao 5V e o aterramento do Arduino.

Diagrama de circuito

Etapa 4: Introdução ao Arduino

Se você ainda não está familiarizado com o IDE do Arduino, não se preocupe porque um procedimento passo a passo para configurar e usar o IDE do Arduino com uma placa de microcontrolador é explicado abaixo.

  1. Baixe a versão mais recente do Arduino IDE em Arduino.
  2. Conecte sua placa Arduino Nano ao seu laptop e abra o painel de controle. no painel de controle, clique em Hardware e som . Agora clique em Dispositivos e Impressoras. Aqui, encontre a porta à qual a placa do microcontrolador está conectada. No meu caso é COM14 mas é diferente em computadores diferentes.

    Encontrar o porto

  3. Clique no menu Ferramentas e defina o quadro para Arduino Nano.

    Tabuleiro de Configuração

  4. No mesmo menu de ferramentas, defina a porta para o número da porta que você observou antes no Dispositivos e Impressoras .

    Porta de configuração

  5. No mesmo menu de ferramentas, defina o processador para ATmega328P (antigo bootloader).

    Processador

  6. Baixe o código anexado abaixo e cole-o em seu IDE Arduino. Clique no Envio botão para gravar o código na placa do microcontrolador.

    Envio

Clique aqui para baixar o código.

Etapa 5: Compreendendo o Código

O código é muito bem comentado e autoexplicativo. Mas, ainda assim, é explicado brevemente a seguir.

1. No início, todos os pinos do Arduino que vamos usar são inicializados.

int enable1pin = 8; // Pinos para o primeiro motor int motor1pin1 = 2; int motor1pin2 = 3; int enable2pin = 9; // Pinos para o segundo motor int motor2pin1 = 4; int motor2pin2 = 5; const int trigPin = 11; // Pinos para sensor ultrassônico const int echoPin = 10; const int buzzPin = 6; longa duração; // Variáveis ​​para distância de flutuação do sensor ultrassônico;

2 void setup () é uma função na qual definimos todos os pinos para serem usados ​​como INPUT ou OUTPUT. A taxa de bauds também é definida nesta função. A taxa de transmissão é a velocidade pela qual a placa do microcontrolador se comunica com os sensores conectados.

void setup () {Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode (buzzPin, OUTPUT); pinMode (enable1pin, OUTPUT); pinMode (enable2pin, OUTPUT); pinMode (motor1pin1, OUTPUT); pinMode (motor1pin2, OUTPUT); pinMode (motor2pin1, OUTPUT); pinMode (motor2pin2, OUTPUT); }

3 - void loop () é uma função que é executada continuamente em um loop. Neste loop, informamos ao microcontrolador quando avançar se nenhum obstáculo for encontrado em 50 cm. O robô fará uma curva fechada à direita quando um obstáculo for encontrado.

loop vazio () {digitalWrite (trigPin, LOW); atrasoMicrosegundos (2); digitalWrite (trigPin, HIGH); atrasoMicrosegundos (10); digitalWrite (trigPin, LOW); duração = pulseIn (echoPin, HIGH); distância = 0,034 * (duração / 2); if (distance> 50) // Avançar se nenhum obstáculo for encontrado {digitalWrite (enable1pin, HIGH); digitalWrite (enable2pin, HIGH); digitalWrite (motor1pin1, HIGH); digitalWrite (motor1pin2, LOW); digitalWrite (motor2pin1, HIGH); digitalWrite (motor2pin2, LOW); } else if (distance<50) // Sharp Right Turn if an obstacle found { digitalWrite(enable1pin, HIGH); digitalWrite(enable2pin, HIGH); digitalWrite(motor1pin1, HIGH); digitalWrite(motor1pin2, LOW); digitalWrite(motor2pin1, LOW); digitalWrite(motor2pin2, LOW); } delay(300); // delay }

Agora, como já discutimos tudo que você precisa para fazer um robô de limpeza automática de piso, divirta-se fazendo seu próprio robô de limpeza de piso eficiente e de baixo custo.