39
Programação do Robô Zug Alex Vidigal Bastos www.decom.ufop.br/alex/unipac.html [email protected] 1

progr robo zug [Modo de Compatibilidade]Recursos do Zug Dados Complementares • Comprimento: 175 mm • Largura: 145 mm • Altura75 mm • Peso • Alimentação: 6 pilhasAA •

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

  • Programação do Robô Zug

    Alex Vidigal Bastoswww.decom.ufop.br/alex/[email protected]

    1

  • Agenda

    • Recursos do Zug

    • Robô Zug

    • Controlando o Motor

    • LED e BIP

    2

  • Recursos do Zug

    3

  • Recursos do Zug

    Dados Complementares

    • Comprimento: 175 mm

    • Largura: 145 mm

    • Altura 75 mm

    • Peso

    • Alimentação: 6 pilhas AA

    • Software Basic

    • Entradapara fonte externa 9 a 12v

    4

    • Compatível com Windows XP ou inferior

    • Requer porta serial RS 232 no computador

    • Cabo serial (incluso no kit)

    • Sensores: de toque frontal 220º

    • sensor de luz ambiente 180º

    • sensor de laser

    • sensor de cores

    • sensor de som para comando verbal

  • O robô Zug

    O controle do robô é feito por um microcontroladorprogramável na linguagem Basic, que é de fácil compreensão.

    Com o software Basic, é possível controlar todas as portasdo microcontrolador.

    5

  • O robô Zug

    6

  • O robô Zug

    • As portas de comunicação do microcontrolador são bi-direcionais, podem ser saídas ou entradas depende somenteda programação que você fizer.

    • Se a porta for utilizada como saída, ela acionará ummotor, um led ou um bip, se for utilizada como entrada, elarecebe sinal externo dos sensores.

    7

  • Exemplo (lógica 0/1)

    8

  • Controlando o motor

    • A corrente elétrica deste sinal é baixa não acionandocargas com grande potência, portanto se faz necessárioamplificar o sinal elétrico de saída.

    • Utiliza-se um transistor, que se comporta como uma chavepara ligar cargas, amplificar a corrente e acionar um relé dealta capacidade de corrente para mover o motor do robô.

    9

  • Controlando o motor

    10

  • Controlando o motor

    • O microcontrolador controla os motores dos robôs,obedecendo a programação. Os sinais de acionamento dosmotores saem pelas portas de comunicação, compostas pelasportas 1 até 4.

    11

  • Controlando o motor

    12

  • Controlando o motor

    13

  • LED e BIP

    • O robô possui um led programável, um bip programável,

    e um gerador de som;

    • O acionamento do led e do bip, são feitos pelas portascorrespondentes aos pin 0 e pin 7;

    14

  • LED e BIP

    • O robô possui um led programável, um bip programável,

    e um gerador de som;

    • O acionamento do led e do bip, são feitos pelas portascorrespondentes aos pin 0 e pin 7;

    15

  • LEDe BIP

    16

  • LEDe BIP

    17

  • Sensores de Toque

    • O robô ZUG possui 2 entradas programáveis para ligar sensores de toque, detectando as colisões do robô com obstáculos:

    porta 5 e porta 6, ativos no nível lógico 1.

    • Chamamos de entrada quando o microcontrolador recebe sinal elétrico de fora, pelas portas de comunicação, de forma digital. Ligado ou desligado.

    18

  • Sensores de Toque

    19

  • Sensores de Toque

    20

  • Programando o Robô Zug

    • O que devemos saber para programar? A linguagem de programação Basic Step.

    21

  • Programando o Robô Zug

    • O que devemos saber para programar? A linguagem de programação Basic Step.

    22

  • Alguns comandos

    • Output

    - Exemplo: output 7

    - significa que a porta 7 é configurada como uma saída.

    • Pin

    - Exemplo: Pin 7 = 0

    - significa que a porta 7 é desligada.

    23

  • Temporizando uma porta saída

    • pause

    - Exemplo: pause 2000

    - faz o programa esperar 2 000 milisegundos(ms).

    • goto

    - Exemplo:

    retorno:

    ......

    goto retorno

    - ele salta para onde está escrito a palavra retorno, reiniciando todo o ciclo.

    24

  • Exercício

    Nosso objetivo agora é fazer um pisca-pisca com o led da porta 7 do microcontrolador do robô. Vejamos a estratégia para a execução do programa.

    • 1º ligar o led;

    • 2º pause___; aguardar 2 segundos.

    • 3º desligar o led;

    • 4º pause___ ; aguardar 2 segundos.

    • 5º retornar ao primeiro passo

    25

  • Comentários

    • É possivel escrever comentários na área de trabalho, ao lado da programação, desde que precedido por apóstrofo ( ’ ). Com a presença do apóstrofo o hardware desconsidera , não entende como instrução.

    • Este hábito ajuda o estudante de robótica e programação a entender o programa.

    Exemplo: output 7 ‘ declara a porta como saída

    26

  • Gerando Sons

    • O robô possui um BIP na porta 0 e um conector para ligação

    externa de um altofalante de 8 ohms.

    27

  • Exercício

    Nosso objetivo agora é fazer um programa para fazer um bip a cada 1 segundo; desligando e ligando o bip.

    28

  • Recebendo Sinais Externos

    • O microcontrolador do robô percebe sinais externos vindos dos sensores, desde que as portas sejam devidamente programadas.

    • O primeiro passo é configurar a porta para ser uma entrada, com o comando input. Vamos utilizar a entrada ligada ao sensor da porta 5 lado direito ue é o sensor de toque frontal do lado direito;

    29

  • Exemplo

    • Fazer com que o robô ligue o led (porta 7),ao toque do sensor frontal.

    Como que o microcontrolador vai saber que tocamos no sensor da porta 5?

    if pin5 = 1 then led

    30

  • Exemplo

    31

  • Exercício

    1) Desenvolva um programa para o led desligar quandopressionar

    o sensor frontal?

    2 - Faça o led piscar quando pressionar o sensor frontal.

    3 - Faça um programa para ligar o led, quando pressionar obotão frontal, e desligar quando pressionar a 2ª vez.

    4 - Faça o programa ligar e desligar o bip a cada toque no sensoralternadamente.

    32

  • Recebendo Sinais Externos

    • O microcontrolador do robô percebe sinais externos vindos dos sensores, desde que as portas sejam devidamente programadas.

    • O primeiro passo é configurar a porta para ser uma entrada, com o comando input. Vamos utilizar a entrada ligada ao sensor da porta 5 lado direito ue é o sensor de toque frontal do lado direito;

    33

  • Programando os motores

    34

  • Programando os motores

    O desenho ao lado mostra como devemos programar os motores M1 e M2, visto o robô de cima. O motor 1 (M1) fica a direita, o motor 2 (M2) fica a esquerda.

    • pin1 = programa a porta 1

    • pin2 = programa a porta 2

    • pin3 = programa a porta 3

    • pin4 = programa a porta 4

    35

  • Exercícios - Motores

    Programa 1 - Robô anda para frente um tempo

    Programa 2 - Robô anda para trás um tempo

    Programa 3 - Robô gira 90°,com uma só roda

    Programa 4 - Robô gira no próprio eixo

    36

  • Exercícios - Motores

    • 1 - Quantos milisegundos são necessários para o robô

    girar 90°?

    • 2 - Quantos milisegundos são necessários para o robô

    girar 180°?

    • 3 - Quantos milisegundos são necessários para o robô

    girar 360°?

    37

  • Exercícios - Obstáculos

    • Como vamos programar o robô para desviar de obstáculos?

    • É simples. Vamos passo a passo.

    • Em ordem, como proceder na programação.

    • 1° O robô vai em frente;

    • 2° Bate o sensor do lado direito (porta 5);

    • 3° Desligam-se os motores, e o robô pára;

    • 4º O robô dá uma ré (anda para trás);

    • 5º O robô gira 90° para a esquerda.

    38

  • Perguntas

    39