Modo Circuitos Programados Avançado

Transcrição

Modo Circuitos Programados Avançado
Programação de Robótica:
Modo Circuitos
Programados
- Avançado -
1
Programação de Robótica: Modo Circuitos Programados - Avançado
ATENÇÃO
Lembramos que você poderá consultar o Manual de Referência do Software
Modelix System caso haja dúvidas sobre como utilizar algum elemento do software.
Assim você sempre utilizará da melhor forma possível a vasta gama de recursos que
o programa possui.
O conteúdo dessa apostila é voltado para usuários que já possuem conhecimentos na
utilização tanto do software Modelix System quanto da UC modelixino 2.8 e que
terminaram os exercícios propostos na apostila Programação de Robótica: Modo
Circuitos Programados.
Para fazer os exercícios será usada a mesma bancada, porém além dos componentes
apresentados anteriormente, em alguns exercícios serão apresentados novos
componentes.
A partir daqui os exercícios serão de maior dificuldade, dando uma base melhor para
que você faça projetos com maiores níveis de complexidade.
Exercício 1: Calibrando o sensor de luz utilizando variáveis.
Foi mostrado na apostila Programação de Robótica: Modo Circuitos Programados,
para trabalhar numa faixa específica de variação com o sensor de luz, que é possível
fazer a calibração para lugares com luminosidades muito diferentes.
Para facilitar essa calibração, podemos utilizar o recurso de variáveis do software
Modelix System que permite armazenar o valor lido pelo sensor e executar funções de
acordo com cada valor.
Será usada uma entrada analógica para o sensor de luz; nomeie-a como na figura
abaixo:
Adicione o recurso de variáveis para sua área de trabalho clicando no botão no canto
superior direito da tela. Caso tenha alguma dúvida consulte a aula 10 da apostila
Programação de Robótica: Modo Circuitos Programados.
Precisaremos apenas das duas variáveis já definidas, x e y, mas quando necessário, é
possível adicionar mais variáveis á sua lista clicando nas opções de variáveis globais e
clicando em adicionar.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei
©2012 Modelix Robotics
Programação de Robótica: Modo Circuitos Programados - Avançado 2
Obs.: Os valores das variáveis numa sub-rotina não podem ser aproveitados em outras
sub-rotinas, portanto é preciso armazenar os valores em cada sub-rotina.
Para guardar o valor lido pelo sensor, crie uma sub-rotina chamada Armazenar
determinando x e y iguais à entrada do sensor de luz, porém para que a leitura seja
mais precisa, adicione blocos aguardar
dando tempo para a leitura.
Nesse caso, faremos a leitura do primeiro
valor e do segundo valor por 5 segundos
cada, se necessário, aumente esse tempo.
Inicie um fluxograma para chamar a sub-rotina e armazene
os valores.
Dessa forma, sempre que houver alguma variação de
luminosidade, será possível armazenar esses valores e
utilizar uma faixa mais adequada para a sua necessidade.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei
©2012 Modelix Robotics
3
Programação de Robótica: Modo Circuitos Programados - Avançado
Exercício 2: Controlando saídas digitais com variáveis.
Em aulas anteriores você viu como ligar e desligar os atuadores conectados ao
Modelixino 2.8 utilizando fluxogramas.
Nesse exercício, dividido em duas sub-rotinas, serão mostrados dois exemplos da
utilização do recurso de variáveis do software Modelix System para controlar as saídas
digitais.
Na primeira sub-rotina, será apresentada uma forma de usar o acréscimo de valores
em variáveis para ligar e desligar um LED e na segunda sub-rotina, será mostrado o
controle do acionamento de um BUZZER em função de um valor armazenado após a
leitura de um sensor de luz.
Portanto, usaremos duas saídas digitais e uma entrada analógica.
Adicione o recurso de variáveis para a sua área de trabalho.
Começaremos fazendo uma contagem, para acionarmos os atuadores por um número
pré-determinado de vezes, onde teremos um valor x inicial que será acrescido até que
alcance um valor limite y e ao fim dessa contagem, será iniciada uma nova tarefa no
fluxograma.
Comece criando uma sub-rotina chamada liga/desl LED e com dois blocos Definir,
atribua x=1 e y =10.
Num bloco Decisão, faça a comparação: Se x = y.
Enquanto na contagem o valor de x não alcançar o valor de y, o LED será ativado por
0,5 segundos, mas quando x for igual a y, a sub-rotina será finalizada.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei
©2012 Modelix Robotics
Programação de Robótica: Modo Circuitos Programados - Avançado 4
Para fazer a contagem usaremos novamente um bloco Definir, onde faremos a
operação matemática: x = x + 1, que acrescentará uma unidade ao valor de x sempre
que o LED ligar e desligar, fazendo com que o valor de x aumente até se igualar ao
valor de y.
Monte o fluxograma abaixo:
Agora, armazenaremos o valor lido por um sensor de luz e em função disso
controlaremos o BUZZER.
Crie uma sub-rotina chamada: liga/desl BUZZER e atribua para x o valor lido na entrada
do sensor de luz. Esse valor armazenado servirá como uma faixa de luminosidade.
Num bloco Decisão defina: Se x<Sensor Luz, que fará a comparação dos próximos
valores lidos pelo sensor com o valor
armazenado.
Por fim, quando o valor lido pelo sensor
for menor que o valor armazenado, o
BUZZER será acionado e quando o valor
lido for maior, o BUZZER será desligado,
da mesma forma que no fluxograma
representado ao lado:
Faça as devidas conexões no modelixino 2.8, chame as duas subrotinas com um bloco iniciar na área de trabalho e execute o
fluxograma.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei
©2012 Modelix Robotics
5
Programação de Robótica: Modo Circuitos Programados - Avançado
Exercício 3: Usando o Reversor PWM em motores.
Nesta aula será apresentado um importante componente da Modelix e que tornará os
seus projetos ainda mais completos: O Reversor PWM.
O Reversor PWM tem capacidade para controlar dois motores e, a partir dos
comandos da UC, consegue acioná-los nos dois sentidos de rotação.
Possui um único pino para alimentação, a qual recomendamos que seja de no máximo
6 volts em experimentos com os componentes Modelix, para garantir a segurança e
bom funcionamento, mas também suporta maiores tensões.
Para motores menores, ainda é possível utilizar a alimentação gerada pela UC, mas se
forem usados motores mais potentes, utilize alimentação externa.
Além disso, para o controle dos motores, existem cinco pinos centrais que devem ser
conectados à UC modelixino 2.8 exatamente como identificados na placa, que são os
pinos: 4, 5, 6, 7 e um GND.
Identificação dos pinos:
1. Alimentação externa (respeite a polaridade)
2. Entrada do Motor 1.
3. Saídas da UC.
1
4. Entrada do Motor 2.
2
3
4
Neste exemplo será usado um motor MM-F e criaremos um fluxograma para controlar
o seu sentido de rotação com a UC modelixino 2.8.
Começaremos com as conexões físicas. Observe o procedimento abaixo:
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei
©2012 Modelix Robotics
Programação de Robótica: Modo Circuitos Programados - Avançado 6
Conecte o motor ao Reversor PWM nos pinos identificados como Motor 1 e conecte, a
partir da UC modelixino 2.8, um pino de saída de 5 V ao “+” e um GND ao “-“ da
alimentação.
Faça a conexão dos pinos: 4, 5, 6, 7 e GND da UC aos pinos do Reversor PWM
exatamente como estão indicados.
Após o procedimento, suas conexões devem estar assim:
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei
©2012 Modelix Robotics
7
Programação de Robótica: Modo Circuitos Programados - Avançado
Antes de iniciarmos a elaboração do fluxograma, existem alguns ajustes
específicos para o Reversor PWM a serem feitos no software Modelix System.
Clique nas abas ao lado dos nomes das saídas 4 e 7 e selecione a opção em
que as saídas 4 e 5 e as saídas 6 e 7 estão juntas.
A saída 4/5 é a responsável pelo controle do Motor 1 e a saída 6/7 é a
responsável pelo controle do Motor 2; então mude o nome das saídas para o
de seus respectivos motores.
Você pode testar os motores clicando nas saídas com o botão esquerdo do
mouse, para que o motor gire para
frente e com o direito, para que o
motor gire reverso, como mostrado
nas figuras do lado direito:
Exercício 4: Usando software Modelix System para controlar motores com o
Reversor PWM.
Nessa aula você verá como controlar as saídas para os motores com software Modelix
System.
Utilizando o mesmo procedimento da aula anterior, prosseguiremos criando um
fluxograma que nos permitirá alterar os sentidos de rotação dos motores e a potência
aplicada a eles.
Para o controle da potência utilizaremos o recurso de variáveis, portanto
começaremos adicionando o recurso de variáveis à área de trabalho.
Arraste um bloco Saída para a área de trabalho e vá até as últimas opções de saídas.
Você verá que existem opções específicas para os motores.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei
©2012 Modelix Robotics
Programação de Robótica: Modo Circuitos Programados - Avançado 8
Clicando no botão frente, o motor será acionado num sentido; clicando no botão
rever., o motor reverterá o sentido de rotação; clicando no botão desl., o motor irá
parar.
Ao lado desses comandos, existe uma aba que nos permite definir um valor em
porcentagem para a potência aplicada.
Recomendamos que a porcentagem inicial seja de no mínimo 30%, pois
motores mais potentes não funcionam com valores menores.
É possível notar que o valor da potência pode ser controlado por variáveis e é
exatamente o que faremos nesse exercício.
O motor começará girando com 100% da potência e aos poucos essa potência
será reduzida até que chegue a 10% e o motor pare. Quando isso
acontecer, o motor começará a rodar novamente, porém no sentido
reverso. Aos poucos a potência aumentará até o máximo e então o
motor voltará a rodar no primeiro sentido, criando assim um loop.
Comece atribuindo x=100 e num bloco decisão faça a condição
para x=10. Se x não estiver com o valor 10, o motor será acionado
e serão retiradas 10 unidades do valor de x através da expressão
x=x-10.
Num bloco Saída, acione o motor no botão frente, defina o valor da
potência como sendo x% e em seguida adicione um bloco aguardar
para 2 segundos. Dessa forma, a potência iniciará em 100% e a
cada 2 segundos será reduzida em 10%.
Veja o fluxograma ao lado:
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei
©2012 Modelix Robotics
9
Programação de Robótica: Modo Circuitos Programados - Avançado
Quando o valor de x chegar a 10, o motor ficará parado por um segundo. Em
seguida, começará a rodar no sentido reverso com x% de potência e a cada 2
segundos serão aumentadas 10 unidades ao valor de x com a expressão:
x=x+10, até que chegue a 100.
Num bloco Decisão faça a condição x = 100. Se o valor de x não chegar a 100,
o motor continuará funcionando no sentido reverso. Quando a potência chegar
a 100% o motor ficará parado por um segundo e voltará ao primeiro sentido de
rotação, criando um loop.
Veja como ficou o fluxograma na imagem abaixo:
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei
©2012 Modelix Robotics

Documentos relacionados