Atualmente Vazio: R$0.00
Sobre a Aula
Instruções controle de decisão usando lógica.
Versão original criada por Brit Cruise.
Vamos resolver um problema um pouco mais complexo usando o sensor de rotação novamente. Vamos imaginar que há uma barra conectada ao motor, e nosso objetivo é programá-lo para gerar um som agudo quando essa barra estiver dentro de uma determinada região, que chamaremos de Região A. Qualquer posição dentro dessa região fará com que o motor emita um som agudo. Já as posições antes ou depois dessa região farão parte da Região B, onde queremos que o motor gere um som grave.
Lembre-se de que nosso motor está equipado com um sensor de rotação, e podemos resolver esse problema controlando o interruptor com base na lógica. A lógica, que é a linguagem da robótica, trabalha com valores verdadeiro ou falso.
Se traduzirmos essa questão para a lógica, precisamos ser um pouco mais específicos. Sabemos que o sensor de rotação pode assumir valores entre 0 e 360 graus. Digamos que, após alguns testes, descobrimos que a Região A está entre 100 e 200 graus. Isso significa que, se estivermos pensando como um robô, a pergunta que devemos fazer é: “O valor do sensor está entre 100 e 200 graus?”
Se a resposta for sim, isso significa que a barra está dentro da Região A e o som gerado será agudo. Se a resposta for não, a barra está na Região B e o som gerado será grave. Esse é um problema que podemos resolver utilizando uma estrutura condicional.
Construindo o Programa
-
Leitura do Sensor de Rotação
Primeiro, adicionamos um bloco de leitura do sensor de rotação. Para iniciar corretamente, configuramos esse bloco para zerar a posição do motor no momento em que o programa começar. Para isso:-
Adicionamos um bloco de espera e configuramos para aguardar até que o usuário pressione a tecla Enter.
-
Em seguida, usamos um bloco de sensor de rotação, configuramos a porta correta e definimos a opção Reset para zerar a posição do motor.
-
Para indicar que o motor foi zerado, adicionamos um bloco de som, configurado para emitir um som indicando “zero” (por exemplo, a voz de um robô dizendo “zero” ou “ready”).
-
-
Criando a Lógica de Comparação
-
Dentro de um loop, adicionamos outro bloco de leitura do sensor de rotação para monitorar continuamente a posição da barra.
-
Usamos um bloco de comparação (Gama), onde:
-
Definimos 100 graus como o valor mínimo (A).
-
Definimos 200 graus como o valor máximo (B).
-
Conectamos a saída da leitura de rotação à entrada do bloco Gama para verificar se o valor está dentro do intervalo.
-
O bloco Gama retorna Verdadeiro (se o valor estiver entre 100 e 200) ou Falso (se estiver fora desse intervalo).
-
-
-
Executando a Ação Com Base na Lógica
-
Inserimos um bloco de decisão (Switch) que recebe a saída do bloco Gama (Verdadeiro ou Falso).
-
Se for Verdadeiro (dentro da Região A), ativamos um bloco de som configurado para emitir um som agudo.
-
Se for Falso (fora da Região A), ativamos um bloco de som configurado para emitir um som grave.
-
Finalizando o Programa
Agora temos um sistema que: ✔ Detecta a posição da barra em tempo real
✔ Gera um som agudo quando a barra está na Região A
✔ Gera um som grave quando a barra está na Região B
Esse programa pode ser ampliado para incluir mais regiões e diferentes tipos de som, mas essa é a lógica básica para o funcionamento. Agora, vamos testar para ver como o sensor de rotação controla o som gerado! 🚀

