Índice:

Arduino - Robô de solução de labirinto (MicroMouse) Robô que segue a parede: 6 etapas (com imagens)
Arduino - Robô de solução de labirinto (MicroMouse) Robô que segue a parede: 6 etapas (com imagens)

Vídeo: Arduino - Robô de solução de labirinto (MicroMouse) Robô que segue a parede: 6 etapas (com imagens)

Vídeo: Arduino - Robô de solução de labirinto (MicroMouse) Robô que segue a parede: 6 etapas (com imagens)
Vídeo: Demonstration of a Maze Solver Algorithm with a Wall Following Approach | CoppeliaSim (V-REP) 2024, Julho
Anonim
Arduino | Robô de solução de labirinto (MicroMouse) Robô que segue a parede
Arduino | Robô de solução de labirinto (MicroMouse) Robô que segue a parede
Arduino | Robô de resolução de labirinto (MicroMouse) Robô que segue a parede
Arduino | Robô de resolução de labirinto (MicroMouse) Robô que segue a parede
Arduino | Robô de solução de labirinto (MicroMouse) Robô que segue a parede
Arduino | Robô de solução de labirinto (MicroMouse) Robô que segue a parede
Arduino | Robô de solução de labirinto (MicroMouse) Robô que segue a parede
Arduino | Robô de solução de labirinto (MicroMouse) Robô que segue a parede

Bem-vindo, sou Isaac e este é meu primeiro robô "Striker v1.0". Este robô foi projetado para resolver um labirinto simples. Na competição tivemos dois labirintos e o robô foi capaz de identificá-los. Quaisquer outras mudanças no labirinto pode exigir uma mudança no código e no design, mas é tudo fácil de fazer.

Etapa 1: Peças

Peças
Peças
Peças
Peças
Peças
Peças

Em primeiro lugar, você precisa saber com o que está lidando.

Robôs = Eletricidade + Hardware + Software1- Eletricidade: as baterias têm muitas especificações, você só deve saber quanta Corrente e Tensão você precisa.

2- Hardware: "Corpo, Motor, Driver do Motor, Sensores, Fios e o Controlador" você deve obter apenas as partes importantes que realizam a tarefa, não há necessidade de obter um Controlador caro e sofisticado para uma tarefa simples.

3- Software: O código tem tudo a ver com lógica. Depois de entender como o controlador funciona, será fácil escolher as funções e tornar o código mais simples. A linguagem do código é determinada pelo tipo de controlador.

Lista de peças:

  1. Arduino UNO
  2. Motores 12v DC (x2)
  3. Rodas (x2)
  4. Driver do motor (L298N)
  5. Sensor de distância (Ultra Sonic)
  6. Fios
  7. Bateria 12v (1000 mAh)

Lista de ferramentas:

  1. Carregador de bateria
  2. Chapa acrílica
  3. Ferro de solda
  4. Cortador de arame
  5. Nylon Zip Wrap

Para diversão extra, você pode usar LEDs para iluminá-lo, mas não é muito importante.

Etapa 2: design do corpo

Desenho Corporal
Desenho Corporal
Desenho Corporal
Desenho Corporal
Desenho Corporal
Desenho Corporal

A ideia principal era empilhar as peças acima do corpo e usar o Nylon Zip Wrap para estabilizar o Arduino e os fios estabilizarão o resto graças ao seu peso leve.

Usei o CorelDRAW para projetar o corpo e fiz furos extras no caso de quaisquer alterações futuras.

Fui a uma oficina local para usar o cortador a laser e comecei a construir tudo junto. Mais tarde, fiz algumas alterações porque os motores eram mais longos do que eu esperava. Quero dizer que seu robô não precisa ser construído da mesma maneira que o meu.

O arquivo PDF e o arquivo CorelDRAW estão anexados.

Se você não conseguir cortar o desenho a laser, não se preocupe. Contanto que você tenha um Arduino, os mesmos sensores e motores, você deve conseguir fazer meu código funcionar em seu robô com pequenas alterações.

Etapa 3: Implementação (construção)

Implementação (construção)
Implementação (construção)
Implementação (construção)
Implementação (construção)
Implementação (construção)
Implementação (construção)

O design facilitou a fixação de sensores no corpo.

Etapa 4: Fiação

Fiação
Fiação
Fiação
Fiação
Fiação
Fiação

Aqui está um diagrama esquemático do robô. essas conexões estão relacionadas ao código. Você pode alterar as conexões, mas certifique-se de alterar o código com elas. As peças. Sensores

Eu gostaria de explicar "O sensor ultrassônico"

Um sensor ultrassônico é um dispositivo que pode medir a distância de um objeto usando ondas sonoras. Ele mede a distância enviando uma onda sonora em uma frequência específica e ouvindo se a onda sonora retorna. Ao registrar o tempo decorrido entre a onda sonora sendo gerada e a onda sonora retornando. Isso parece semelhante ao funcionamento do sonar e do radar.

A conexão do sensor ultrassônico ao Arduino:

  1. O pino GND é conectado ao aterramento.
  2. O pino VCC é conectado ao Positivo (5v).
  3. O pino Echo está conectado ao Arduino. (escolha qualquer pin e combine-o com o código)
  4. O pino TRIG está conectado ao Arduino. (escolha qualquer pin e combine-o com o código)

Você fará um aterramento comum e conectará todos os GNDs a ele (sensores, Arduino, Driver) e todos os aterramentos deverão ser conectados.

Para pinos Vcc também conecte os 3 sensores a um pino 5v

(você pode conectá-los ao Arduino ou ao driver, eu recomendo o driver)

Nota: Não conecte os sensores a uma tensão superior a 5v ou eles serão danificados.

Motorista

A ponte H L298N: é um IC que permite controlar a velocidade e a direção de dois motores CC, ou controlar um motor de passo bipolar com facilidade. O driver da ponte H L298N pode ser usado com motores que têm uma tensão entre 5 e 35 Vcc.

Há também um regulador de 5 V integrado, portanto, se a tensão de alimentação for de até 12 V você também pode fornecer 5 V da placa.

Considere a imagem - compare os números com a lista abaixo da imagem:

  1. Motor DC 1 “+”
  2. Motor DC 1 “-”
  3. Jumper de 12 V - remova-o se estiver usando uma tensão de alimentação superior a 12 V CC. Isso habilita o regulador de 5 V integrado
  4. Conecte a tensão de alimentação do motor aqui, no máximo 35 V DC.
  5. GND
  6. Saída de 5v se o jumper de 12v estiver no lugar
  7. Jumper de habilitação do motor DC 1. Remova o jumper e conecte à saída PWM para controle de velocidade do motor DC.
  8. Controle de direção IN1
  9. Controle de direção IN2
  10. Controle de direção IN3
  11. Controle de direção IN4
  12. Jumper de habilitação do motor DC 2. Remova o jumper e conecte à saída PWM para controle de velocidade do motor DC
  13. Motor DC 2 “+”
  14. Motor DC 2 “-”

Nota: Este driver permite 1A por canal, drenar mais corrente danificará o IC.

Bateria

Usei bateria de 12v com 1000 mAh.

A tabela acima mostra como a tensão cai quando a bateria descarrega. você deve ter isso em mente e você deve recarregar a bateria constantemente.

O tempo de descarga é basicamente a classificação Ah ou mAh dividida pela corrente.

Portanto, para uma bateria de 1000mAh com uma carga que consome 300mA, você tem:

1000/300 = 3,3 horas

Se você drenar mais corrente, o tempo diminuirá e assim por diante. Observação: certifique-se de não exceder a corrente de descarga da bateria ou ela será danificada.

Além disso, faça novamente um aterramento comum e conecte todos os GNDs a ele (sensores, Arduino, driver) todos os aterramentos devem ser conectados.

Etapa 5: codificação

Codificação
Codificação
Codificação
Codificação

Transformei isso em funções e me diverti codificando este robô.

A ideia principal é evitar bater nas paredes e sair do labirinto. Tínhamos 2 labirintos simples e tinha que ter isso em mente porque eram diferentes.

O labirinto azul usa o algoritmo de seguimento da parede direita.

O labirinto vermelho usa o algoritmo de seguimento da parede esquerda.

A foto acima mostra a saída em ambos os labirintos.

Fluxo de código:

  1. definindo os pinos
  2. definindo pinos de saída e entrada
  3. verificar as leituras dos sensores
  4. usar leitura de sensores para definir paredes
  5. verifique a primeira rota (se foi à esquerda, siga a parede esquerda; se for à direita, siga a parede direita)
  6. Use o PID para evitar bater nas paredes e para controlar a velocidade dos motores

Você pode usar este código, mas alterar os pinos e os números constantes para obter os melhores resultados.

Siga este link para obter o código.

create.arduino.cc/editor/is7aq_shs/391be92…

Siga este link para a biblioteca e o arquivo de código do Arduino.

github.com/Is7aQ/Maze-Solving-Robot

Etapa 6: Divirta-se

Divirta-se: DTisto é tudo por diversão, não entre em pânico se não estiver funcionando ou se houver algo errado. rastreie o erro e não desista. Obrigado pela leitura e espero que tenha ajudado. Contato:

E-mail: [email protected]

Recomendado: