Índice:

Robô Utrasonic Avoidance usando Arduino: 7 etapas
Robô Utrasonic Avoidance usando Arduino: 7 etapas

Vídeo: Robô Utrasonic Avoidance usando Arduino: 7 etapas

Vídeo: Robô Utrasonic Avoidance usando Arduino: 7 etapas
Vídeo: How To Make Arduino Obstacle avoiding Car🚙 | Arduino Smart Car🚙 2024, Novembro
Anonim
Image
Image
Robô Utrasonic Avoidance usando Arduino
Robô Utrasonic Avoidance usando Arduino

Neste tutorial, vou mostrar como fazer seu próprio obstáculo evitando o robô! Usaremos a placa Arduino UNO e um sensor ultrassônico. Se o robô detecta um objeto à sua frente, com a ajuda de um pequeno servo motor, ele varre a área à esquerda e à direita para encontrar a melhor maneira de fazer a curva. Possui também um LED de notificação, uma campainha para tocar um tom quando um objeto é detectado e um botão para alterar a função do robô (parado / avançando).

É muito fácil fazer!

Etapa 1: Coisas que você precisa fazer

Coisas que precisam ser feitas!
Coisas que precisam ser feitas!
Coisas que precisam ser feitas!
Coisas que precisam ser feitas!
Coisas que precisam ser feitas!
Coisas que precisam ser feitas!
Coisas que precisam ser feitas!
Coisas que precisam ser feitas!

Para este projeto, você precisará de:

  1. Arduino UNO (compre em gearbest.com)
  2. Mini breadboard (compre em gearbest.com)
  3. Módulo de driver de motor L298 (compre em gearbest.com)
  4. 2 motores cc com rodas HC-SR04 sensor ultrassônico (compre em gearbest.com)
  5. Micro servo motor (compre em gearbest.com)
  6. Botão vermelho LED220 Ohm resistor9V porta-bateria (com ou sem conector de alimentação)
  7. 8 espaçadores (macho-fêmea),
  8. 8 porcas e 8 parafusos, você também precisará de um grande (metal)

clipe de papel e uma conta para fazer a roda de suporte traseira.

Para a base do robô, usei um Acryllic Chasis da Aliexpress. Você também pode usar um pedaço de madeira ou metal (ou duas placas elétricas).

O custo de todo o projeto é de cerca de 20 $

Ferramentas: Furadeira super-cola driver de pistola cola quente (opcional) Poder:

Usaremos uma bateria de 9V para alimentar nosso robô porque é pequeno e barato, mas não é muito poderoso e ficará vazio após cerca de uma hora. Considere se você deseja usar uma bateria recarregável (mín. 6V, máx. 7V) que será mais potente, mas também será mais cara e maior do que a bateria de 9V.

Etapa 2: compreensão dos conceitos

Entendendo os conceitos
Entendendo os conceitos
Entendendo os conceitos
Entendendo os conceitos
Entendendo os conceitos
Entendendo os conceitos

O objetivo é conscientizar o robô dos obstáculos à sua frente, para que ele possa mudar de direção e evitá-los. No artigo anterior, fizemos o robô se mover - agora vamos dar a ele alguma autonomia.

Sensor ultrasônico

HC-SR04 é um circuito capaz de medir distâncias a objetos de até 4 metros usando ondas ultrassônicas. Ele envia um ping (como um submarino) e mede o tempo (em microssegundos) entre o envio e o recebimento de qualquer coisa. Este tempo é dividido por 2 conforme a onda se move para frente e para trás. E então divida por 29 para obter uma distância em centímetros (ou 74 para polegadas), porque o som viaja 29,4 µs por centímetro (340 m / s). O sensor é muito preciso com tolerância de ~ 3 mm e fácil de integrar com o Arduino.

Interface do sensor ultrassônico com o microcontrolador AVR

Qualquer robô autônomo deve ter um obstáculo evitando e um sensor de medição de distância anexado. Um par de transceptores IR ou um sensor de escala de cinza pode funcionar facilmente para detecção de obstáculos na faixa de 1 a 10 cm. Telêmetros infravermelhos (por exemplo, os de Sharp) podem medir a distância até o obstáculo mais próximo com alcance de até 100 cm. No entanto, os sensores IV são afetados pela luz solar e outras fontes de luz. Telêmetros IR têm menor alcance e também são caros para o que fazem. Sensores ultrassônicos (também conhecidos como sensores de proximidade ultrassônicos ou sonar para geeks) realizam essas duas tarefas a um custo razoável e precisão excepcional. O intervalo é qualquer coisa entre 3 cm a 350 cm com precisão de ~ 3 mm. Amarrando um desses sensores ultrassônicos em nosso robô, ele pode atuar como um evitador de obstáculos e um sensor de medição de distância.

Som “ultrassônico” refere-se a qualquer coisa acima das frequências de som audível e inclui nominalmente qualquer coisa acima de 20.000 Hz ou 20kHz! Sensores ultrassônicos baratos usados para robótica geralmente funcionam em uma faixa de 40 kHz a 250 kHz, enquanto aqueles usados em equipamentos médicos vão até 10 MHz.

Etapa 3: Ferramentas necessárias

Ferramentas necessárias
Ferramentas necessárias
Ferramentas necessárias
Ferramentas necessárias
Ferramentas necessárias
Ferramentas necessárias
Ferramentas necessárias
Ferramentas necessárias
  1. Multímetro
  2. Tábua de pão
  3. Alicate de ponta fina
  4. Decapador de Arame
  5. Cortador de fio
  6. Pistola de cola

Multímetro Um multímetro é, na verdade, um dispositivo simples usado principalmente para medir a tensão e a resistência e para determinar se um circuito está fechado. Semelhante à depuração de código de computador, o multímetro ajuda a “depurar” seus circuitos eletrônicos.

Materiais de construção

Um suprimento prontamente disponível de madeira fina e / ou acrílico para fazer a estrutura mecânica é muito útil. Metais como alumínio e aço são frequentemente restritos àqueles com acesso a uma oficina mecânica, embora o alumínio fino possa ser cortado com tesouras e dobrado à mão. As armações mecânicas podem até ser construídas com utensílios domésticos, como recipientes de plástico.

Embora outros materiais como plásticos (além do acrílico) ou materiais mais exóticos como fibra de vidro e fibra de carbono sejam possíveis, eles não serão considerados neste guia. Vários fabricantes notaram que não é fácil para a maioria dos amadores produzir suas próprias peças mecânicas e criaram peças mecânicas modulares. Um líder nisso é o Lynxmotion, que oferece uma ampla variedade de designs robóticos, bem como as peças necessárias para fazer seus próprios robôs personalizados.

Ferramentas de mão

Chaves de fenda e alicates de vários tipos e tamanhos (incluindo conjunto de ferramentas de joalheiro: pequenas chaves de fenda comumente disponíveis em lojas de varejo) são necessários. Uma broca (de preferência uma furadeira para furos retos) também é importante. Uma serra manual para cortar materiais de construção (ou uma tupia) também é um ativo importante. Se o orçamento permitir, uma pequena serra de fita de mesa (faixa de US $ 200) é definitivamente uma ferramenta a ser considerada.

Placa de ensaio sem solda

Uma placa de ensaio sem solda permite otimizar seu layout e conectar componentes com facilidade. Junto com uma breadboard sem solda, você deve comprar um kit de jumper pré-formado que consiste em fios pré-cortados e dobrados para serem usados com uma breadboard sem solda. Isso torna as conexões muito fáceis.

Conjunto de chaves de fenda pequenas

Essas pequenas chaves de fenda são necessárias ao trabalhar com eletrônicos. Não os force muito - seu tamanho os torna mais frágeis.

Conjunto de chave de fenda normal

Todas as oficinas precisam de uma multi-ferramenta ou conjunto de ferramentas que inclui cabeças planas / Phillips e outras chaves de fenda.

Alicate de ponta fina

um conjunto de alicates de bico fino é incrivelmente útil ao trabalhar com pequenos componentes e peças e é um complemento muito barato para sua caixa de ferramentas. Eles são diferentes dos alicates comuns porque chegam a um ponto que pode entrar em pequenas áreas.

Decapantes / cortadores de fio

Se você está planejando cortar todos os fios, um descascador de fios economizará muito tempo e esforço. Um descascador de fios, quando usado corretamente, removerá apenas o isolamento do cabo e não produzirá quaisquer dobras ou danificará os condutores. A outra alternativa para um descascador de fios é uma tesoura, embora o resultado final possa ser confuso. Tesoura, régua, caneta, lápis, canivete Exacto (ou outra ferramenta de corte manual) Estes são essenciais em qualquer escritório.

Etapa 4: Cocepts para codificar AVR

Cocepts para codificar AVR
Cocepts para codificar AVR

Calculando a velocidade do som em relação aos sensores ultrassônicos

Pouca matemática, mas não tenha medo. É mais simples do que você pensa.

A velocidade do som no ar seco à temperatura ambiente (~ 20 ° C) = 343 metros / segundo

Para a onda sonora atingir e fazer uma viagem de ida e volta para o objeto próximo é = 343/2 = 171,5 m / uma vez que o alcance máximo de um sensor ultrassônico barato não é mais do que 5 metros (ida e volta), faria mais sentido mude as unidades para centímetros e microssegundos.

1 metro = 100 centímetro 1 segundo = 10 ^ 6 microssegundos = (s / 171,5) x (m / 100 cm) x ((1x10 ^ 6) / s) = (1 / 171,5) x (1/100) x (1000000 / 1) = 58,30903790087464 us / cm = 58,31 us / cm (arredondado para dois dígitos para facilitar os cálculos)Portanto, o tempo que leva para um pulso viajar até um objeto e retornar 1 centímetro é de 58,31 microssegundos.

o pequeno pano de fundo sobre os ciclos de clock do AVR

É necessário um capítulo totalmente diferente para entender os ciclos de clock do AVR, mas entenderemos brevemente como ele funciona para tornar nossos cálculos mais fáceis

Para o nosso exemplo, usaremos a placa AVR Draco que possui um microcontrolador AVR - Atmega328P de 8 bits. Para manter as coisas simples, não ajustaremos as configurações de um microcontrolador. Nenhum pedaço de fusível tocado; Nenhum cristal externo anexado; Nenhuma dor de cabeça. Nas configurações de fábrica, ele funciona com um oscilador interno de 8 MHz com um prescaler / 8; Se você não entende tudo isso, significa simplesmente que o microcontrolador está funcionando com um oscilador RC interno de 1 MHz e cada ciclo de clock leva 1 microssegundo.

1 2 1MHz = de 1000000 ciclos por segundo Portanto, 1s / 1000000 = 1/1000000 = 1us

Relógios AVR e conversão de distância

Estamos quase lá! Uma vez que sabemos como converter os ciclos de clock do AVR em distâncias percorridas por ondas sonoras, é fácil implementar a lógica em um programa.

Sabemos que a velocidade do som ultrassônico em ambiente ideal é: 58,31 us / cm

Sabemos que a resolução do microcontrolador AVR é 1us / ciclo de clock (CLK)

Portanto, a distância percorrida por som por ciclo de clock (CLK) é:

1 2 3 = (58,31 us / cm) x (1us / clk) = 58,31 ciclos de relógio / cm ou = 1 / 58,31 cm / clk

Se o número de ciclos de clock que o som leva para viajar e se recuperar for conhecido, podemos facilmente calcular a distância. Por exemplo, se o sensor leva 1000 ciclos de relógio para viajar e retornar, a distância de um sensor até o objeto mais próximo é = 1000 / 58,31 = 17,15 cm (aprox.)

Tudo faz sentido agora? Não? Leia isso novamente

Se você for claro com toda a lógica mencionada acima, iremos implementá-la em um cenário do mundo real conectando um sensor ultrassônico HC-SR04 barato à nossa placa AVR Arduino.

Etapa 5: Conexões de hardware:

Conexões de hardware
Conexões de hardware
Conexões de hardware
Conexões de hardware
Conexões de hardware
Conexões de hardware
Conexões de hardware
Conexões de hardware

A placa Arduino facilita a conexão de quaisquer sensores externos e também a visualização dos resultados no LCD. Para detecção de faixa ultrassônica, usamos um módulo HC-SR04 de baixo custo. O módulo possui 4 pinos que podem ser conectados à placa do microcontrolador: VCC, TRIG, ECHO e GND.

Conecte o pino VCC a 5V e o pino GND ao aterramento na placa Arduino.

Os pinos TRIG e ECHO podem ser conectados a qualquer pino disponível na placa. O envio de um mínimo de 10us de sinal ‘alto’ para o pino de disparo envia oito ondas sonoras de 40 kHz e puxa o pino de eco para alto. Se o som é refletido em um objeto próximo e retorna, ele é capturado pelo transdutor de recepção e o pino de eco é puxado para 'baixo'.

Outras variantes de módulos de sensores ultrassônicos também estão disponíveis com apenas 3 pinos. O princípio de funcionamento ainda é o mesmo, mas a funcionalidade dos pinos de disparo e eco são combinados em um único pino.

Uma vez conectado, os pinos de acionamento e eco podem ser configurados via software. Para manter este exemplo simples, não usaremos nenhum pino de interrupção (ou pino de captura de entrada) neste exemplo. Não usar os pinos de interrupção designados também nos dá a liberdade de conectar o módulo a qualquer pino disponível na placa.

Etapa 6: Código

Código O código abaixo contém apenas uma extensão “ultrassônica” para controle de motor DC usando uma ponte H do artigo anterior. Quando o robô detecta um obstáculo à sua frente, ele se vira (grau aleatório) e continua avançando. Essa funcionalidade pode ser facilmente estendida para continuar girando e detectando obstáculos ao mesmo tempo - de forma que o robô não gire aleatoriamente, mas comece a se mover para frente somente quando nenhum objeto for detectado.

Para obter a explicação do código, consulte os vídeos do Youtube listados no canal.

Etapa 7: Vídeo

Assista ao vídeo para todo o processo.

Recomendado: