13 : Fazendo um robô seguidor de linha - efrainmpp1/URA-2.0-ESP GitHub Wiki

Introdução

Na atividade passada conseguimos montar nosso robô com o motor DC e terminamos com uma breve demonstração de uma movimentação dele.Agora pretendemos elevar um pouco o nivel,faremos com que o robô que se movimente de acordo com a cor do caminho.Esse modelo de robô é o que chamamos de robô seguidor de linha,já que sua trajetória é determinada por uma linha preta na qual ele irá seguir.Esse modelo é muito utilizado nas Olimpíadas de Robótica.

(No caso da figura acima o robô segue a linha branca mas nos exemplos que iremos mostrar ele irá seguir a linha preta )

Montagem

Obs : A montagem do robô com os dois motores DC é a mesma da atividade passada.A mudança será na implemetação de dois sensores ldr digitais.Caso não se lembre como se monta um basta acessar aqui para ser redirecionado para a aula de sensores de linha.

Código

OBS : Para rodar o código a seguir previamente tem que ter instalado as clases do Motor DC.

OBS2 : Como utilizamos funções criadas no arquivo mov.py teremos que roda-lo previamente pois nos referimos a ele na maior parte do código.

Por fim podemos criar o código

from motorShield import MotorShield
from machine import Pin
from time import sleep

sensor1 = Pin(16, Pin.IN)# criamos o sensor da esquerda e setamos na porta D0
sensor2 = Pin(0, Pin.IN)# criamos o sensor da direita e setamos na porta D3
while True:
  color1 = sensor1.value()#captura o valor do sensor 1
  color2 = sensor2.value()#captura o valor do sensor 2
  
  if(color1 == 1 and color2 == 1):#ambos detectam claro
    frente();
  elif(color1 == 1 and color2 == 0):#sensor esquerdo detecta claro e sensor direita detecta escuro
    dir()
  elif(color1 == 0 and color2 == 1):#sensor esquerdo detecta escuro e sensor direita detecta claro
    esq();
  elif(color1 == 0 and color2 == 0):#sensor esquerdo detecta escuro e sensor direita detecta escuro
    re()
  else:#o robo para
    parar()

Um exemplo visivel desse trabalho do nosso robô é visto no video do youtube.Para acessa-lo basta clicar aqui