robotica

aprendendo a desviar dos obstáculos – Parte 2

Vamos agora completar o programa para que o Natalino agora possa andar tranquilamente sem se bater em algum obstáculo.

Mas antes eu gostaria de apresentar um bloco do nosso ArduBlock, o bloco para criarmos uma sub-rotina, metodoslocalizado na aba controle. Uma sub-rotina é um pedaço de código que você dá a ele um nome e pode usar quantas vezes quiser sem precisar reescrever o código, basta “chamar” a sub-rotina no lugar que você desejar no código.

O primeiro bloco serve para criar a sua sub-rotina, para dar um nome a ela basta dar dois cliques no texto sub-rotina e escrever o nome mais adequado. O segundo é para chamar a sub-rotina, basta encaixar esse bloco onde o código deverá ser chamado no seu programa principal, lembrando de colocar o nome da sub-rotina que você modificou na etapa de criação.

Pronto agora que já sabemos implementar sub-rotinas, vamos voltar para a movimentação do Natalino. Para que ele desvie dos obstáculos eu posso seguir a seguinte lógica:

  • quando a distância lida pelo sensor estiver entre 0 e 25 (valor testado e calibrado para esta montagem de robô, sugiro testar com o seu robô 🙂 )
    • será feito o sorteio de um número aleatório que será usado de guia
    • se esse número é menor que 50, Natalino gira para a direita
    • senão ele vai girar para a esquerda
  • agora se a distância entre Natalino e um objeto a sua volta for maior que 25 cm ele continuará andando para frente.

Então criei as seguintes sub-rotinas para me ajudar:

modulos2modulos1

E por fim, usei essas sub-rotinas para escrever o programa principal:

desviarobstaculocompleto

Ah, um detalhe eu coloquei o método calcularDistância no setup, para que a distância tenha um valor real e inicial antes mesmo de começar o loop evitando algum erro de movimentação desde o início.

Fiz uma coletânea dos artigos dessa nossa jornada que vão desde a montagem até o de hoje, olha só quanta coisa a gente já viu por aqui:

Me conta ai se você curtiu esses tutoriais de montagem e movimentação de um robô utilizando Arduino e Ardublock!!!! Até a próxima 🙂 

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s