• Nenhum resultado encontrado

Slide.auxiliar.Lego4

N/A
N/A
Protected

Academic year: 2021

Share "Slide.auxiliar.Lego4"

Copied!
140
0
0

Texto

(1)

Á

(2)

SENSORES E VARIÁVEIS

SENSORES E VARIÁVEIS

• Sensores

• Tipos de Dados e VariáveisTipos de Dados e Variáveis • Passagem de Dados

• Utilizando Sensores

• Utilizando Arames de Ligação • Utilizando Arames de Ligação • Utilizando Variáveis

(3)
(4)

TIPOS DE SENSORES

TIPOS DE SENSORES

• Sensor de Toque • Sensor SonoroSensor Sonoro

• Sensor de Luminosidade • Sensor Ultrasônico • Botões • Botões • Sensor de Rotação • Controlador de Tempo • Recebendo Mensagem • Recebendo Mensagem

(5)

TIPOS DE SENSORES

TIPOS DE SENSORES

RESUMO DOS SENSORES RESUMO DOS SENSORES

Sensor Condições Descrição

Touch (Toque)

Pressed, released, bumped Pressionado, liberado, colidido

Detecta se o sensor sofreu alguma alteração em seu estado.

Sound

(Sonoro) > ou < n (0 - 100)

Detecta ruídos (sons) onde o robô está, permitindo verificar mudanças sonoras.

Light Detecta valores de iluminação no ambiente onde o robô

Light

(Luminoso) > ou < n (0 - 100) se encontra, permitindo identificar mudanças na iluminação.

Ultrasonic

> ou < n (0 - 100) Detecta a aproximação de obstáculos, permitindo saber (Ultrasom) > ou < n (0 100) a distância do robô ao obstáculo.

Rotation

(Rotação) > ou < n (0 – 360)

Detecta as rotações dos motores do robô, permitindo saber quantos graus o motor deu.

(6)

Tipos de Sensores

Tipos de Sensores

GRUPO SENSOR

Todos os blocos de sensores Todos os blocos de sensores  encontram‐se na paleta  completa de blocos, no  grupo SENSOR.

(7)

Tipos de Sensores

Tipos de Sensores

SENSOR DE TOQUE

O bloco TOUCH SENSOR O bloco TOUCH SENSOR  controla as opções do  sensor  de toque do robô.

(8)

Tipos de Sensores

Tipos de Sensores

SENSOR SONORO

O bloco SOUND SENSOR O bloco SOUND SENSOR  controla as opções do  sensor  sonoro do robô.

(9)

Tipos de Sensores

Tipos de Sensores

SENSOR DE LUZ

O bloco LIGHT SENSOR O bloco LIGHT SENSOR  controla as opções do  sensor  de luz do robô.

(10)

Tipos de Sensores

Tipos de Sensores

SENSOR ULTRASÔNICO O bloco ULTRASONIC O bloco ULTRASONIC  SENSOR controla as opções  do sensor  ultrasônico do  robô.

(11)

Tipos de Sensores

Tipos de Sensores

BOTÕES NXT O bloco NXT BUTTONS O bloco NXT BUTTONS   controla as opções do  botões do robô.

(12)

Tipos de Sensores

Tipos de Sensores

SENSOR DE ROTAÇÃO

O bloco ROTATION SENSOR O bloco ROTATION SENSOR  controla as opções do sensor   de rotação dos motores.

(13)

Tipos de Sensores

Tipos de Sensores

CONTADOR DE TEMPO

O bloco TIMER controla as O bloco TIMER controla as  opções do contador de  tempo do robô.

(14)

Tipos de Sensores

Tipos de Sensores

RECEBENDO DE MENSAGEM

O bloco RECEIVE MESSAGE O bloco RECEIVE MESSAGE  controla as opções do  correio de mensagem do  robô através do Bluetooth.

(15)
(16)

Sensor de Toque

q

BLOCO TOUCH SENSOR

Nas propriedades do bloco TOUCH  SENSOR podemos configurar qual  a ação a ser verificada e definimos  t tá a porta em que o sensor está  conectado. PROPRIEDADES

(17)

Sensor de Toque

q

Na propriedade PORT configuramos  a porta que o sensor está 

conectado.

(18)

Sensor de Toque

q

Na propriedade ACTION  configuramos qual ação a ser  verificada. Se o sensor foi  pressionado, liberado ou colidido. PROPRIEDADE ACTION

(19)
(20)

Sensor Sonoro

BLOCO SOUND SENSOR

Nas propriedades do bloco SOUND  SENSOR podemos configurar qual  a comparação a ser feita, o valor  b t tá base e em que porta o sensor está  ligado. PROPRIEDADES

(21)

Sensor Sonoro

Na propriedade PORT configuramos  a porta que o sensor está 

conectado.

(22)

Sensor Sonoro

Na propriedade COMPARE configuramos  l ã d j f qual comparação desejamos fazer, se  queremos valores maiores ou menores  que o valor base determinado. PROPRIEDADE COMPARE

(23)
(24)

Sensor de Luminosidade

BLOCO LIGHT SENSOR

Nas propriedades do bloco LIGHT  SENSOR podemos configurar qual a  comparação a ser feita, o valor base e  t tá li d em que porta o sensor está ligado.  Com a opção GENERATE LIGHT  podemos gerar ou não luz. PROPRIEDADES

(25)

Sensor de Luminosidade

Na propriedade PORT configuramos  a porta que o sensor está 

conectado.

(26)

Sensor de Luminosidade

Na propriedade COMPARE configuramos  l ã d j f qual comparação desejamos fazer, se  queremos valores maiores ou menores  que o valor base determinado. PROPRIEDADE COMPARE

(27)

Sensor de Luminosidade

Na propriedade FUNCTION temos a opção  GENERATE LIGHT d j j GENERATE LIGHT, se desejarmos que seja  gerada iluminação a deixamos marcada,  caso contrário basta desmarcá‐la. PROPRIEDADE FUNCTION

(28)

Ô

(29)

Sensor Ultrasônico

BLOCO ULTRASONIC SENSOR

Nas propriedades do bloco ULTRASONIC  SENSOR podemos configurar qual a 

comparação a ser feita o valor base e em comparação a ser feita, o valor base e em  que porta o sensor está ligado. E na 

propriedade SHOW definimos as unidades  de medidas a serem utilizadas.

(30)

Sensor Ultrasônico

Na propriedade PORT configuramos  a porta que o sensor está 

conectado.

(31)

Sensor Ultrasônico

Na propriedade COMPARE configuramos  l ã d j f qual comparação desejamos fazer, se  queremos valores maiores ou menores  que o valor base determinado. PROPRIEDADE COMPARE

(32)

Sensor Ultrasônico

Na propriedade SHOW definimos se queremos  as medidas em centímetros ou em polegadas.

(33)

Õ

(34)

BOTÕES

BLOCO NXT BUTTONS Nas propriedades do bloco NXT  BUTTONS podemos configurar qual  a ação a ser verificada e qual o  botão que queremos testar. PROPRIEDADES

(35)

BOTÕES

Na propriedade BUTTONS 

definimos qual o botão do robô  que desejamos utilizar.

(36)

BOTÕES

Na propriedade ACTION configuramos qual  ação a ser verificada. Se o botão definido foi  pressionado, liberado ou colidido.

(37)

Ã

SENSOR DE ROTAÇÃO

(38)

Sensor de Rotação

ç

BLOCO ROTATION SENSOR

Nas propriedades do bloco ROTATION  SENSOR d fi l SENSOR podemos configurar qual a  comparação a ser feita, as unidades  da comparação e a ação a ser feita. PROPRIEDADES

(39)

Sensor de Rotação

ç

Na propriedade PORT configuramos  a porta que o motor está 

conectado.

(40)

Sensor de Rotação

ç

Na propriedade ACTION escolhemos se  queremos zerar o contador ou se queremos  ler o contador para efetuar a comparação ler o contador para efetuar a comparação.

(41)

Sensor de Rotação

ç

Na propriedade COMPARE escolhemos a direção  d t ã d fi i ti d ã da rotação, definimos o tipo de comparação ,  informamos o valor base e a unidade da  comparação. PROPRIEDADE COMPARE

(42)
(43)

Controlador de Tempo

p

BLOCO TIMER Nas propriedades do bloco TIMER  podemos configurar qual a comparação  p g q p ç a ser feita, o tempo de espera e a ação  a ser feita. PROPRIEDADES

(44)

Controlador de Tempo

p

Na propriedade TIMER configuramos o  tempo de espera para a execução,  podemos definir 1,2 ou 3 segundos. podemos definir 1,2 ou 3 segundos.

(45)

Controlador de Tempo

p

Na propriedade ACTION escolhemos se  queremos zerar o contador ou se queremos  ler o contador para efetuar a comparação ler o contador para efetuar a comparação.

(46)

Controlador de Tempo

p

Na propriedade COMPARE escolhemos o tipo de  comparação e informamos o valor base.

(47)
(48)

Recebendo Mensagem

g

BLOCO RECEIVE MESSAGE

Nas propriedades do bloco RECEIVE MESSAGE  podemos configurar qual o tipo de mensagem e  p g q p g qual a mensagem.  Além de configurar qual  caixa desejamos verificar. PROPRIEDADES

(49)

Recebendo Mensagem

g

Na propriedade MESSAGE configuramos o  tipo de mensagem e qual a mensagem que  queremos fazer a comparação.

queremos fazer a comparação.

(50)

Recebendo Mensagem

g

Na propriedade MESSAGE podemos escolher  se a mensagem é do tipo texto, número ou  valor lógico valor lógico. TIPO DE MENSAGEM

(51)

Recebendo Mensagem

g

Na propriedade MESSAGE informamos também Na propriedade MESSAGE informamos também  a mensagem que desejamos verificar.

(52)

Recebendo Mensagem

g

Na propriedade MAILBOX definimos qual caixa Na propriedade MAILBOX definimos qual caixa  de mensagem desejamos verificar.

(53)

Calibrando Sensores

Calibrando Sensores

Os sensores de luz e som podem responder de 

forma diferente em diferentes ambientes.

• Por exemplo, o máximo em uma sala 

iluminada será diferente do máximo em um iluminada será diferente do máximo em um  quarto mal iluminado.

O NXT‐G oferece um bloco de calibração para  corrigir este tipo de variação.

(54)

Calibrando Sensores

Calibrando Sensores

O bloco CALIBRATION nos permite modificar  as configurações de máximo e mínimo dos g ç sensores de luz  e de som durante a execução  do programa do programa.

• Podemos calibrar os sensores também através do menu TOOLS, mas dessa forma os sensores não são calibrados durante a execução do

(55)

Calibrando Sensores

O bloco CALIBRATION fica em COMPLETE O bloco CALIBRATION fica em COMPLETE  PALETTE em ADVANCED.

BLOCO CALIBRATION ADVANCED

(56)

Calibrando Sensores

Para calibrarmos o sensor primeiro devemos escolher

BLOCO CALIBRATION

Para calibrarmos o sensor primeiro devemos escolher  qual sensor iremos calibrar, qual porta ele está, qual  ação desejamos executar e qual valor iremos 

configurar.g

(57)

Calibrando Sensores

Na propriedade SENSOR escolhemos qual sensor Na propriedade SENSOR escolhemos qual sensor  desejamos calibrar: o de luz ou o de som.

(58)

Calibrando Sensores

Na propriedade ACTION escolhemos qual a ação Na propriedade ACTION escolhemos qual a ação  queremos executar: calibrar ou deletar as 

configurações atuais do sensor.

(59)

Calibrando Sensores

Na propriedade VALUE escolhemos qual o valor Na propriedade VALUE escolhemos qual o valor   que vamos configurar: máximo ou de mínimo.

(60)

TIPOS DE DADOS E

TIPOS DE DADOS E

(61)

TIPOS DE DADOS

TIPOS DE DADOS

Tipoipo ValoresValo es Descriçãoesc ição

Numérico -2147483648 - 2147483647

Esse tipo de dado é usado para fazer operações

matemáticas, contadores dentre outras utilidades que os números apresentam

números apresentam

Lógico true (1) ou false (0)

Esse tipo de dado é utilizado para operações lógicas, obtenção de resultados para tomada de decisões. Os sensores do robô utilizam esse tipo de dados para informar os resultados de sua execução.

Esse tipo de dado é utilizado quando queremos operar com textos, ou seja, desejamos operar com palavras e não com números. São muito utilizados para a

Texto a à z,A à Z e 0 à 9

não com números. São muito utilizados para a impressão na tela do robô, para criação de arquivos dentre outras utilidades. Podemos juntar qualquer letra, maiúscula ou minúscula, com números para termos o resultado que queremos.

(62)

Variáveis

Variáveis

• Pense em uma variável como um local para armazenar um valor na memória do robô.

• Outros blocos de programação podem ler o valor atual da variável (e até mesmo alterá lo) valor atual da variável (e até mesmo alterá-lo), bastando para isso ligá-los ao bloco com fios de dados.

• Com variáveis, podemos armazenar dados doCom variáveis, podemos armazenar dados do tipo lógico, numérico ou texto.

(63)

Variáveis

JANELA EDIT VARIABLES

VARIÁVEIS DEFINIDAS DEFINIÇÃO DO NOME DEFINIÇÃO DO NOME DEFINIÇÃO DO TIPO

Para criar variáveis basta ir em EDIT no menu, depois em  DEFINE VARIABLES Na janela EDIT VARIABLES clicamos em DEFINE VARIABLES.  Na janela EDIT VARIABLES clicamos em  CREATE para criar a variável, damos um nome a ela e 

(64)

Variáveis

BLOCO VARIABLE

Depois de criar as variáveis temos que inserir

BLOCO VARIABLE Depois de criar as variáveis temos que inserir  os blocos para controlá‐las para que possamos  utilizá‐las dentro do programa. Para isso basta  irmos em COMPLETE PALETTE, no grupo GRUPO DATA DATA e inserimos o bloco VARIABLE. PROPRIEDADES COMPLETE PALETTE

(65)

Variáveis

Agora precisaremos definir qual será a variável a ser configurada pelo bloco. Utilizamos para isso as propriedades p p p do bloco VARIABLE.

(66)

Variáveis

Podemos escolher entre três opções básicas para definir nossas variáveis: lógica texto para definir nossas variáveis: lógica, texto ou numérica. Qualquer programa irá ter sempre essas três variáveis básicas

definidas e prontas para serem usadas definidas, e prontas para serem usadas.

TIPO LÓGICO

TIPO NUMÉRICO

(67)

Variáveis

Quando definimos o tipo da variável as opções correspondentes dela são disponibilizadas

correspondentes dela são disponibilizadas. Abaixo temos as três opções apenas para compararmos.

TIPO LÓGICO

TIPO NUMÉRICO

(68)

Variáveis

Como podemos ver em qualquer um dos três tipos temos a propriedade ACTION que define p p p q se iremos utilizar o bloco VARIABLE

para ler ou escrever na variável.

PROPRIEDADE ACTION TIPO LÓGICO PROPRIEDADE ACTION

TIPO NUMÉRICO

(69)

Variáveis

Outra propriedade comum é a LIST que é onde definimos qual variável iremos utilizar. Nessa propriedade fica além das variáveis padrões, as variáveis que definimos no menu EDIT em DEFINE VARIABLES.

PROPRIEDADE LIST

LISTAGEM DE TODAS AS VARIÁVEIS DO

TIPO LÓGICO

PROGRAMA DEFINIDAS EM EDIT VARIABLES

TIPO NUMÉRICO

(70)

Variáveis

Agora que vimos as propriedades comuns em todos os blocos VARIABLE para

qualquer tipo, veremos então as

propriedades particulares de cada tipo dentro do bloco VARIABLE.

TIPO LÓGICO

TIPO NUMÉRICO

(71)

Variáveis

Para variáveis do tipo lógica na propriedade VALUE definimos qual o valor que será

escrito na variável se TRUE ou FALSE. Essa opção só fica ativa caso a propriedade

ACTION esteja marcada como WRITE.

PROPRIEDADE VALUE PROPRIEDADE VALUE

(72)

Variáveis

Para variáveis do tipo numérica na propriedade VALUE definimos qual o número que será escrito na variável. Essa opção só fica ativa caso a propriedade ACTION esteja marcada como WRITE.

PROPRIEDADE VALUE

(73)

Variáveis

Para variáveis do tipo texto na propriedade VALUE definimos qual o texto que será escrito na variável. Essa opção só fica ativa caso a propriedade ACTION esteja

marcada como WRITE.

PROPRIEDADE VALUE TIPO TEXTO

(74)

Variáveis

Como podemos ver abaixo todas as variáveis que definimos em DEFINE VARIABLES ficam listadas em LIST no bloco

VARIABLE, assim poderemos utilizar qualquer uma delas durante o programa.

EXEMPLO DE VARIÁVEL DEFINIDA TIPO LÓGICA

EXEMPLO DE VARIÁVEL DEFINIDA TIPO NUMÉRICO

EXEMPLO DE VARIÁVEL DEFINIDA TIPO TEXTO

(75)

Variáveis

Outra coisa que podemos perceber é que a propriedade VALUE das variáveis que definimos é a mesma da sua respectiva variável predefinida do mesmo tipo.

EXEMPLO DE VARIÁVEL DEFINIDA TIPO LÓGICA

EXEMPLO DE VARIÁVEL DEFINIDA TIPO NUMÉRICO

EXEMPLO DE VARIÁVEL DEFINIDA TIPO TEXTO

(76)

Variáveis

Variáveis

• Observação: se precisarmos alterar o tipo de dados ou nome de uma variável, bastará ir ao , comando DEFINE VARIABLES do menu

EDIT e alterar a configuração da variável EDIT e alterar a configuração da variável desejada na janela EDIT VARIABLES.

(77)
(78)

Passagem de Dados

Passagem de Dados

• Poderemos querer utilizar o resultado de

alguma operação de um bloco em outro bloco, g p ç , para isso precisamos ligar um bloco ao outro. • Para fazermos essa passagem de dados

• Para fazermos essa passagem de dados

precisamos utilizar arames de ligação e as conexões dos blocos.

• A seguir veremos os tipos de arames queA seguir veremos os tipos de arames que podem surgir nos nossos programas.

(79)

Conexões e Arames de Ligação

[A] Conexão de entrada (lado esquerdo do bloco)( q ) [B] Conexão de saída (lado direito do bloco) [C] Ligação de dados numéricos (amarelo) [D] Ligação de dados lógicos (verde)

[ ] g ç g ( )

[E] Ligação de dados textos (laranja)

(80)

Conexões e Arames de Ligação

Conexões e Arames de Ligação

• Para podermos ligar dois blocos primeiro

precisamos visualizar suas conexões, para isso

p , p

basta clicar na guia do canto inferior esquerdo do bloco

do bloco.

• Caso não seja mostrado todas as conexões, é só clicar outra vez na guia que elas aparecerão. • Se quisermos ocultar conexões que não estãoSe quisermos ocultar conexões que não estão

(81)

Conexões e Arames de Ligação

Conexões e Arames de Ligação

GUIA DE CONEXÕES ESPANDIDA GUIA DE CONEXÕES OCULTA

(82)

Conexões e Arames de Ligação

Conexões e Arames de Ligação

• O cursor mudará de forma quando o mouseO cursor mudará de forma, quando o mouse passar sobre ou perto de uma conexão de

d d P i b tã d t

dados. Pressione o botão do mouse e arraste um fio de dados da saída de um bloco até a entrada de outro bloco.

• Para excluir um fio de dados que se estende daPara excluir um fio de dados que se estende da esquerda para a direita entre duas conexões de dados clique sobre a conexão do bloco da

dados, clique sobre a conexão do bloco da direita.

(83)

Conexões e Arames de Ligação

Conexões e Arames de Ligação

• Cada fio de dados transporta um tipoCada fio de dados transporta um tipo

específico de dados entre os blocos. Por

l fi d d d é t d d

exemplo, se um fio de dados é arrastado de

uma saída lógica de um bloco, ele só pode ser conectado a uma entrada lógica de outro bloco. • Caso se conecte tipos de dados diferentes aCaso se conecte tipos de dados diferentes a

ligação será quebrada e você não poderá enviar seu programa para o robô pois um erro de tipo seu programa para o robô, pois um erro de tipo foi encontrado no seu programa.

(84)

Conexões e Arames de Ligação

Conexões e Arames de Ligação

• Se você clicar em um fio quebrado vocêSe você clicar em um fio quebrado você

poderá visualizar na janela de ajuda o motivo. • Os dados devem estar dentro dos limites

possíveis da conexão. p

• Se um fio de entrada de dados transmite um valor fora da faixa possível da conexão que é valor fora da faixa possível da conexão que é ligado, o bloco irá ignora o valor ou alterá-lo

l d d l

(85)

Conexões e Arames de Ligação

Conexões e Arames de Ligação

• Para PLUGS que permitem apenas algunsPara PLUGS que permitem apenas alguns valores de entrada (ex: apenas 0, 1 ou 2), a

ã i á i t d l f

conexão irá ignorar a entrada se o valor for fora de seu alcance.

• Para plugs que aceitam maiores gamas de

entrada (ex: 0 - 100) a conexão irá forçar para entrada (ex: 0 100), a conexão irá forçar para se ajustar. Por exemplo, se uma conexão no

bloco MOVE POWER recebe um valor de bloco MOVE POWER recebe um valor de entrada de 150, o bloco irá alterar o valor de

d

(86)

Conexões e Arames de Ligação

Conexões e Arames de Ligação

• Se uma entrada tem uma saída correspondenteSe uma entrada tem uma saída correspondente, os dados de entrada passarão através da

t d íd lt d

entrada para a saída sem ser alterado.

• Neste caso, você só pode usar a saída se a p

entrada estiver conectada a um fio de dados de entrada

entrada

• Ligar uma saída de dados em uma entrada sem

fi d d d d d

fio conectado a entrada de dados

(87)

Conexões e Arames de Ligação

Conexões e Arames de Ligação

CONEXÃO DE ENTRADA PASSANDO PARA A SAÍDA CONEXÃO DE ENTRADA PASSANDO PARA A SAÍDA PARA A SAÍDA PARA A SAÍDA

OS DADOS OBTIDOS NAS ENTRADAS SÃO PASSADOS PARA A SAÍDA SEM SOFREREM MUDANÇAS, ASSIM PODEMOS UTILIZÁ-LOS MAS SAÍDAS.

(88)
(89)

Utilizando Sensores

Utilizando Sensores

• Para criar programas que são controlados por sensores temos duas opções, podemos utilizar um bloco para a verificação do sensor e outro p ç para testar a condição de controle ou podemos utilizar o bloco Wait para fazer tudo Isso nos utilizar o bloco Wait para fazer tudo. Isso nos facilita muito em casos em que queremos

apenas testar se certa condição foi satisfeita no apenas testar se certa condição foi satisfeita no sensor escolhido. Mostraremos à seguir como

ili bl i l d

(90)

Utilizando Sensores

Na aba de blocos comuns temos o grupo WAIT Na aba de blocos comuns temos o grupo WAIT,  onde podemos escolher dentre os cinco tipos de  controles principais do bloco WAIT.

GRUPO WAIT

(91)

Utilizando Sensores

O TIME controla o programa através de um O TIME controla o programa através de um  contador de tempo, especificamos o tempo em  segundos que o programa deverá esperar.

TIME

(92)

Utilizando Sensores

O TOUCH controla o programa através do sensor O TOUCH controla o programa através do sensor  de toque, especificamos a porta do sensor e  qual ação deveremos esperar para que o  programa prossiga. p g p g TOUCH

(93)

Utilizando Sensores

O LIGHT controla o programa através do sensor O LIGHT controla o programa através do sensor  de luz, especificamos a porta do sensor e qual  valor de luminosidade devemos esperar para  que o programa prossiga. q p g p g LIGHT

(94)

Utilizando Sensores

O SOUND controla o programa através do sensor O SOUND controla o programa através do sensor  de som, especificamos a porta do sensor e qual  nível de ruído devemos esperar para que o  programa prossiga.

SOUND

(95)

Utilizando Sensores

O DISTANCE controla o programa através do sensor  ultrasônico, especificamos a porta do sensor e qual   a distância que devemos esperar para que o

a distância que devemos esperar para que o  programa prossiga.

DISTANCE

(96)

Utilizando Sensores

BLOCO WAIT Com a propriedade CONTROL podemos modificar o bloco  WAIT como e quando quisermos. Podemos escolher q q entre duas opções para: SENSOR para utilizarmos um dos  sensores para controlar o programa e a TIME para  controlarmos o programa através do contador.

(97)

Utilizando Sensores

BLOCO WAIT Quando a propriedade CONTROL é configurada como  SENSOR, outras opções são ativadas. A propriedade , pç p p SENSOR nos possibilita escolher qual o sensor que  desejamos utilizar.

(98)

Utilizando Sensores

BLOCO WAIT Do lado direito aparecem as propriedades do sensor  escolhido, cada sensor apresenta o seu grupo de , p g p propriedades para controle. As propriedades dos  sensores nós já vimos anteriormente em SENSORES. PROPRIEDADES DO SENSOR

(99)

Utilizando Sensores

Utilizando Sensores

• 1º Exemplo - Robô: ligar os motores BC1 Exemplo - Robô: ligar os motores BC

ilimitadamente, quando o sensor de toque for

i d tã

pressionado então parar.

• 2º Exemplo - Robô: dar uma volta para frente p p com o motor A e parar, quando o sensor de luz detectar uma iluminação maior que 30 então

detectar uma iluminação maior que 30 então dar 1/2 volta para trás com o motor A e parar.

(100)

Utilizando Sensores

Utilizando Sensores

1º Exemplo - Robô: ligar os motores BC 1 Exemplo - Robô: ligar os motores BC

ilimitadamente, quando o sensor de toque for

i d tã

pressionado então parar.

• Para criar esse programa precisamos dividi-lo p g p em três partes: A primeira irá ligar os motores BC a segunda irá aguardar o sensor de toque BC, a segunda irá aguardar o sensor de toque ser pressionado e a terceira irá desligar os

motores BC motores BC.

(101)

Utilizando Sensores

Utilizando Sensores

1º Parte - Robô: ligar os motores BC 1 Parte - Robô: ligar os motores BC

ilimitadamente.

• Insira o bloco MOVE com a propriedade

DIRECTION em FOWARD e a propriedade p p

DURATION em UNLIMITED. Escolha a potência desejada e marque as portas certas potência desejada e marque as portas certas.

(102)

Utilizando Sensores

BLOCO MOVE

DURATION: UNLIMITED DIRECTION: FORWARD

(103)

Utilizando Sensores

Utilizando Sensores

2º Parte - Robô: aguarde o sensor de toque ser 2 Parte - Robô: aguarde o sensor de toque ser

pressionado.

• Insira o bloco TOUCH na paleta comum de bloco, no grupo WAIT.g p

• Marque a opção PRESSED na propriedade ACTION do bloco WAIT

ACTION do bloco WAIT.

(104)

Utilizando Sensores

BLOCO WAIT: TOUCH

GRUPO WAIT

TOUCH

PALETA COMUM

CONTROL: SENSOR

ACTION: PRESSED SENSOR: TOUCH SENSOR

(105)

Utilizando Sensores

Utilizando Sensores

3º Parte - Robô: pare 3 Parte - Robô: pare.

• Insira um bloco MOVE após o bloco WAIT. • Marque as portas dos motores utilizadas

anteriormente. anteriormente.

• Na propriedade DIRECTION marque a opção STOP

STOP.

• Na propriedade NEXT ACTION marque a p p q opção BRAKE.

(106)

Utilizando Sensores

BLOCO MOVE

NEXT ACTION: BRAKE DIRECTION: STOP

(107)

Utilizando Sensores

Utilizando Sensores

2º Exemplo - Robô: dar uma volta para frente 2 Exemplo - Robô: dar uma volta para frente

com o motor A e parar, quando o sensor de luz

d t t il i ã i 30 tã

detectar uma iluminação maior que 30 então dar 1/2 volta para trás com o motor A e parar. • Para criar esse programa precisamos dividi-lo

em três partes: A primeira irá dar uma volta em três partes: A primeira irá dar uma volta com o motor A, a segunda irá aguardar o

sensor de luz e a terceira irá dar meia volta sensor de luz e a terceira irá dar meia volta para trás com o motor A.

(108)

Utilizando Sensores

Utilizando Sensores

1º Parte - Robô: dar um volta com o motor A 1 Parte - Robô: dar um volta com o motor A. • Insira o bloco MOVE com a propriedade

DIRECTION em FOWARD e a propriedade DURATION em ROTATIONS com o valor 1. Escolha a potência desejada e marque a porta certa Marque a opção BRAKE em NEXT

certa. Marque a opção BRAKE em NEXT ACTION.

(109)

Utilizando Sensores

BLOCO MOVE

DIRECTION: FORWARD

DURATION: ROTATIONS DIRECTION: FORWARD

(110)

Utilizando Sensores

Utilizando Sensores

2º Parte - Robô: aguarde o sensor de luz detectar 2 Parte - Robô: aguarde o sensor de luz detectar

uma iluminação maior que 30%.

• Insira o bloco LIGHT na paleta comum de bloco, no grupo WAIT.g p

• Marque a opção (>) maior na propriedade UNTIL do bloco WAIT e coloque o valor 30 UNTIL do bloco WAIT e coloque o valor 30. • Configure a porta do sensor de toque.

(111)

Utilizando Sensores

BLOCO WAIT: LIGHT

GRUPO WAIT

LIGHT

PALETA COMUM

CONTROL: SENSOR

UNTIL: > (MAIOR) SENSOR: LIGHT SENSOR

(112)

Utilizando Sensores

Utilizando Sensores

3º Parte - Robô: dê meia volta para trás com o 3 Parte - Robô: dê meia volta para trás com o

motor A.

• Insira um bloco MOVE após o bloco WAIT. • Na propriedade DIRECTION marque a opçãoNa propriedade DIRECTION marque a opção

BACKWARD.

E DURATIONS ã DEGREES

• Em DURATIONS marque a opção DEGREES e coloque 180.

• Na propriedade NEXT ACTION marque a opção BRAKE

(113)

Utilizando Sensores

BLOCO MOVE

DIRECTION: BACKWARD

DURATION: DEGREES NEXT ACTION: BRAKE

(114)

UTILIZANDO ARAMES DE

UTILIZANDO ARAMES DE

(115)

Utilizando Arames de Ligação

Utilizando Arames de Ligação

• 1º Exemplo – Robô: se o sensor luminoso1 Exemplo Robô: se o sensor luminoso detectar uma iluminação maior que 50% dê

d lt f t j

duas voltas para frente e pare, caso seja menor que 50% dê duas voltas para trás e diminua até parar.

• 2º Exemplo – Robô: se o sensor ultrasônico2 Exemplo Robô: se o sensor ultrasônico detectar uma distância maior que 127cm dar duas voltas para frente e parar senão dar duas duas voltas para frente e parar, senão dar duas voltas para trás e diminua até parar.

(116)

Utilizando Arames de Ligação

Utilizando Arames de Ligação

1º Exemplo - Robô: se o sensor luminoso 1 Exemplo - Robô: se o sensor luminoso

detectar uma iluminação maior que 50% dê

d lt f t j

duas voltas para frente e pare, caso seja menor que 50% dê duas voltas para trás e diminua até parar.

• Vamos dividir esse exemplo em duas partes:Vamos dividir esse exemplo em duas partes: uma irá verificar o sensor luminoso e

transmitir o resultado para a outra parte a transmitir o resultado para a outra parte, a

segunda parte irá receber e executar a devida

d d l d b id

(117)

Utilizando Arames de Ligação

Utilizando Arames de Ligação

1º Parte – Robô: verifique se o sensor luminoso 1 Parte Robô: verifique se o sensor luminoso

detectar uma iluminação maior que 50%.

• Insira um bloco LIGHT SENSOR da paleta

COMPLETE grupo SENSOR.g p

• Configure a porta do sensor.

M i d d COMPARE ã

• Marque na propriedade COMPARE a opção maior (>) e coloque o valor de 50.

(118)

Utilizando Arames de Ligação

g ç

GRUPO SENSOR

LIGHT SENSOR

BLOCO LIGHT SENSOR

COMPARE: MAIOR (>) COMPLETE PALETTE

(119)

Utilizando Arames de Ligação

Utilizando Arames de Ligação

2º Parte – Robô: dê duas voltas para frente caso 2 Parte Robô: dê duas voltas para frente caso

resultado seja verdadeiro, se for falso de duas

lt t á

voltas para trás.

• Insira um bloco MOVE e configura as portas.g p • Na propriedade DURATION marque

ROTATIONS e coloque o valor 2 ROTATIONS e coloque o valor 2.

(120)

Utilizando Arames de Ligação

Utilizando Arames de Ligação

• Agora precisamos ligar um bloco ao outro paraAgora precisamos ligar um bloco ao outro para que o bloco MOVE seja controlado pelo bloco LIGHT SENSOR

LIGHT SENSOR.

• Abra as conexões dos dois blocos, para que p q possa ver todas elas.

• Clique na conexão de saída YES/NO do bloco • Clique na conexão de saída YES/NO do bloco

LIGHT SENSOR. Ela dá o resultado da ã d bl

(121)

Utilizando Arames de Ligação

Utilizando Arames de Ligação

• Depois clique na conexão de entradaDepois clique na conexão de entrada DURATION do bloco MOVE.

• Clique novamente na conexão de saída YES/NO do bloco LIGHT SENSOR.

• Depois clique na conexão de entrada NEXT ACTION do bloco MOVE

ACTION do bloco MOVE.

• Pronto, teremos agora uma saída do bloco

LIGHT SENSOR conectada a duas entradas do bloco MOVE.

(122)

Utilizando Arames de Ligação

g ç

ARAME DE LIGAÇÃO ENTRADA DIRECTION ARAME DE LIGAÇÃO ARAME DE LIGAÇÃO ENTRADA NEXT ACTION

ARAME DE LIGAÇÃO SAÍDA YES/NO

(123)

Utilizando Arames de Ligação

Utilizando Arames de Ligação

2º Exemplo - Robô: se o sensor ultrasônico 2 Exemplo - Robô: se o sensor ultrasônico

detectar uma distância maior que 127cm dar

d lt f t ã d d

duas voltas para frente e parar, senão dar duas voltas para trás e diminua até parar.

• Vamos dividir esse exemplo em duas partes: uma irá verificar o sensor ultrasônico e

uma irá verificar o sensor ultrasônico e

transmitir o resultado para a outra parte, a segunda parte irá receber e executar a devida segunda parte irá receber e executar a devida ação de acordo com o resultado obtido.

(124)

Utilizando Arames de Ligação

Utilizando Arames de Ligação

1º Parte – Robô: verifique se o sensor ultrasônico 1 Parte Robô: verifique se o sensor ultrasônico

detectar uma distância maior que 127cm.

• Insira um bloco ULTRASONIC SENSOR da paleta COMPLETE grupo SENSOR.

p g p

• Configure a porta do sensor.

M i d d COMPARE ã

• Marque na propriedade COMPARE a opção maior (>) e coloque o valor de 127.

• Marque ma propriedade SHOW a opção CENTIMETERS

(125)

Utilizando Arames de Ligação

g ç

GRUPO SENSOR

ULTRASONIC SENSOR

BLOCO ULTRASONIC SENSOR

COMPARE: MAIOR (>) COMPLETE PALETTE

(126)

Utilizando Arames de Ligação

Utilizando Arames de Ligação

2º Parte – Robô: dê duas voltas para frente caso 2 Parte Robô: dê duas voltas para frente caso

resultado seja verdadeiro, se for falso de duas

lt t á

voltas para trás.

• Insira um bloco MOVE e configura as portas.g p • Na propriedade DURATION marque

ROTATIONS e coloque o valor 2 ROTATIONS e coloque o valor 2.

(127)

Utilizando Arames de Ligação

Utilizando Arames de Ligação

• Agora precisamos ligar um bloco ao outro paraAgora precisamos ligar um bloco ao outro para que o bloco MOVE seja controlado pelo bloco ULTRASONIC SENSOR

ULTRASONIC SENSOR.

• Abra as conexões dos dois blocos, para que p q possa ver todas elas.

• Clique na conexão de saída YES/NO do bloco • Clique na conexão de saída YES/NO do bloco

ULTRASONIC SENSOR. Ela dá o resultado

d ã d bl

(128)

Utilizando Arames de Ligação

Utilizando Arames de Ligação

• Depois clique na conexão de entradaDepois clique na conexão de entrada DURATION do bloco MOVE.

• Clique novamente na conexão de saída

YES/NO do bloco ULTRASONIC SENSOR. • Depois clique na conexão de entrada NEXT

ACTION do bloco MOVE ACTION do bloco MOVE.

• Pronto, teremos agora uma saída do bloco ULTRASONIC SENSOR conectada a duas entradas do bloco MOVE.

(129)

Utilizando Arames de Ligação

g ç

ARAME DE LIGAÇÃO ENTRADA DIRECTION ARAME DE LIGAÇÃO ARAME DE LIGAÇÃO ENTRADA NEXT ACTION

ARAME DE LIGAÇÃO SAÍDA YES/NO

(130)

Á

(131)

Utilizando Variáveis

BLOCO RANDOM

RANDOM

GRUPO DATA

O bloco RAMDOM nos permite gerar números aleatórios.  Ele se encontra no grupo DATA do COMPLETE PALETTE Ele se encontra no grupo DATA do COMPLETE PALETTE. Podemos definir um intervalo entre o A e B para 

a geração dos números.

(132)

Utilizando Variáveis

BLOCO NUMBERTOTEXT NUMBERTOTEXT GRUPO ADVANCED O bloco NUMBERTOTEXT nos permite converter  ú El número em texto. Ele se encontra no grupo  ADVANCED do COMPLETE PALETTE. Usamos esse  bloco pois precisamos enviar dados numéricos  para blocos que só aceitam dados do tipo texto. PALETA COMPLETA p q p

(133)

Utilizando Variáveis

Utilizando Variáveis

1º Exemplo – Robô: Sorteie um número entre 0 e 1 Exemplo Robô: Sorteie um número entre 0 e 100. caso o sensor ultrasônico detecte uma

di tâ i i 127 dê i lt

distância maior que 127cm dê cinco voltas para frente e pare, caso contrário de 5 voltas para trás e diminua até parar. Mostre na tela o número

sorteado.

Para criarmos o exemplo dado precisamos primeiro separá-lo em partes:

primeiro separá lo em partes: Robô: guarde o valor 100.

(134)

Utilizando Variáveis

Utilizando Variáveis

Robô: sorteie um valor entre 0 e o valor Robô: sorteie um valor entre 0 e o valor guardado e o guarde o valor sorteado.

R bô ifi lt ô i

Robô: verifique o sensor ultrasônico.

Robô: se o valor do sensor ultrasônico foi maior que 127cm, dê cinco voltas para frente e pare. Caso seja menor dê cinco voltas para trás e j p

diminua até parar.

Robô: converta o valor sorteado para texto Robô: converta o valor sorteado para texto. Robô: mostre na tela o valor sorteado.

(135)

Utilizando Variáveis

BLOCO VARIABLE

Configure uma variável do tipo número. Insira um  bloco VARIABLE e o defina como a variável que foi  definida em DEFINE VARIABLES. Marque o bloco  como escrita WRITE e coloque o valor 100

(136)

Utilizando Variáveis

BLOCO VARIABLE: READ

BLOCO VARIABLE: WRITE

BLOCO RANDOM Insira outro bloco VARIABLE com o mesmo tipo do bloco anterior,  mas definido como READ. Insira um bloco RANDOM e ligue a g entrada B a saída do bloco VARIABLE  inserido anteriormente.   Insira uma variável do tipo número para guardar o valor sorteado. Configure‐a para escrita WRITE e ligue a t d d l íd d bl RANDOM entrada dela na saída do bloco RANDOM.

(137)

Utilizando Variáveis

BLOCO ULTRASONIC SENSOR

Insira um bloco ULTRASONIC SENSOR configure‐o  para medidas em centímetros, maior (>) e com o  valor 127.

(138)

Utilizando Variáveis

BLOCO MOVE

Insira um bloco MOVE configure‐o com 5 ROTATIONS.  Ligue a saída do bloco ULTRASONIC SENSOR nas 

entradas DIRECTION e NEXT ACTION do bloco MOVE. entradas DIRECTION e NEXT ACTION do bloco MOVE.

(139)

Utilizando Variáveis

BLOCO NUMBERTOTEXT BLOCO VARIABLE BLOCO DISPLAY Insira um bloco VARIABLE do mesmo tipo do bloco VARIABLE  que recebeu o valor sorteado. Insira um bloco NUMBERTOTEXT  e ligue a entrada dele na saída do bloco VARIABLE. Insira um  bloco DISPLAY configurado como TEXT e ligue a Entrada TEXT dele na saída do bloco NUMBERTOTEXT.

(140)

Utilizando Variáveis

BLOCO TIME

Referências

Documentos relacionados

o transferência interna: poderá requerer transferência interna o aluno que esteja regularmente matriculado na Universidade no semestre em que solicitar a transferência e

Assim como o exercício para as mulheres, NÃO tentem fazer este exercício antes de terem realizado pelo menos 20 a 30 vezes o exercício básico dos chakras. Este segundo exercício

Os alunos receberão ainda sugestões de visitas a organizações e eventos para serem desen- volvidas mediante escolha dos alunos em seus horários livres.. Campus Principal

A espectrofotometria é uma técnica quantitativa e qualitativa, a qual se A espectrofotometria é uma técnica quantitativa e qualitativa, a qual se baseia no fato de que uma

Psicotécnico; ).. Dessa região, a vegetação de 87 km 2 foi completamente arrancada e transformada ilegalmente em carvão vegetal. Os 20 fiscais, trabalhando 8 horas por

Tinha partido mais voltada a observar os movimentos populares vividos por jovens e adultos nessa comunidade, mas as crianças e a comunicação foram se colocando para meu

As respostas construídas pela professora em relação às perguntas contidas no questionário apresentam algumas concepções a respeito do ensino da Matemática em especial ao ensino

Assim sendo, o objetivo do presente experimento foi determinar a densidade mineral óssea (DMO) do osso acessório do carpo, através da Técnica de Densidade Óptica em