Você está na página 1de 140

SENSORES E VARIVEIS

SENSORES E VARIVEIS
Sensores Tipos de Dados e Variveis Passagem de Dados Utilizando Sensores Utilizando Arames de Ligao Utilizando Variveis Reviso

TIPOS DE SENSORES

TIPOS DE SENSORES
Sensor de Toque Sensor Sonoro Sensor de Luminosidade Sensor Ultrasnico Botes Sensor de Rotao Controlador de Tempo Recebendo Mensagem

TIPOS DE SENSORES
RESUMO DOS SENSORES
Sensor
Touch (Toque) Sound (Sonoro) Light (Luminoso) Ultrasonic (Ultrasom) Rotation (Rotao)

Condies
Pressed, released, bumped Pressionado, liberado, colidido > ou < n (0 - 100)

Descrio
Detecta se o sensor sofreu alguma alterao em seu estado. Detecta rudos (sons) onde o rob est, permitindo verificar mudanas sonoras. Detecta valores de iluminao no ambiente onde o rob se encontra, permitindo identificar mudanas na iluminao. Detecta a aproximao de obstculos, permitindo saber a distncia do rob ao obstculo. Detecta as rotaes dos motores do rob, permitindo saber quantos graus o motor deu.

> ou < n (0 - 100)

> ou < n (0 - 100)

> ou < n (0 360)

Tipos de Sensores
GRUPO SENSOR

Todososblocosdesensores encontramsenapaleta completadeblocos,no grupoSENSOR.

ABA COMPLETA DE BLOCOS

Tipos de Sensores
SENSOR DE TOQUE

OblocoTOUCHSENSOR controlaasopesdo sensordetoquedorob.

ABA COMPLETA DE BLOCOS

Tipos de Sensores
SENSOR SONORO

OblocoSOUNDSENSOR controlaasopesdo sensorsonorodorob.

ABA COMPLETA DE BLOCOS

Tipos de Sensores
SENSOR DE LUZ

OblocoLIGHTSENSOR controlaasopesdo sensordeluzdorob.

ABA COMPLETA DE BLOCOS

Tipos de Sensores
SENSOR ULTRASNICO

OblocoULTRASONIC SENSORcontrolaasopes dosensorultrasnicodo rob.

ABA COMPLETA DE BLOCOS

Tipos de Sensores
BOTES NXT

OblocoNXTBUTTONS controlaasopesdo botesdorob.

ABA COMPLETA DE BLOCOS

Tipos de Sensores
SENSOR DE ROTAO

OblocoROTATIONSENSOR controlaasopesdosensor derotaodosmotores.

ABA COMPLETA DE BLOCOS

Tipos de Sensores
CONTADOR DE TEMPO

OblocoTIMERcontrolaas opesdocontadorde tempodorob.

ABA COMPLETA DE BLOCOS

Tipos de Sensores
RECEBENDO DE MENSAGEM

OblocoRECEIVEMESSAGE controlaasopesdo correiodemensagemdo robatravsdoBluetooth.

ABA COMPLETA DE BLOCOS

SENSOR DE TOQUE

Sensor de Toque q

BLOCO TOUCH SENSOR

NaspropriedadesdoblocoTOUCH SENSORpodemosconfigurarqual aaoaserverificadaedefinimos aporta t emqueosensorest t conectado.

PROPRIEDADES

Sensor de Toque q

NapropriedadePORTconfiguramos aportaqueosensorest conectado.

PROPRIEDADE PORT

Sensor de Toque q

NapropriedadeACTION configuramosqualaoaser verificada.Seosensorfoi pressionado,liberadooucolidido.

PROPRIEDADE ACTION

SENSOR SONORO

Sensor Sonoro

BLOCO SOUND SENSOR

NaspropriedadesdoblocoSOUND SENSORpodemosconfigurarqual acomparaoaserfeita,ovalor b eemqueporta base t osensorest t ligado.

PROPRIEDADES

Sensor Sonoro

NapropriedadePORTconfiguramos aportaqueosensorest conectado.

PROPRIEDADE PORT

Sensor Sonoro
NapropriedadeCOMPAREconfiguramos qual lcomparao d desejamos j f fazer,se queremosvaloresmaioresoumenores queovalorbasedeterminado.

PROPRIEDADE COMPARE

SENSOR DE LUMINOSIDADE

Sensor de Luminosidade

BLOCO LIGHT SENSOR

NaspropriedadesdoblocoLIGHT SENSORpodemosconfigurarquala comparaoaserfeita,ovalorbasee emqueporta t osensorest tligado. li d ComaopoGENERATELIGHT podemosgerarounoluz.

PROPRIEDADES

Sensor de Luminosidade

NapropriedadePORTconfiguramos aportaqueosensorest conectado.

PROPRIEDADE PORT

Sensor de Luminosidade
NapropriedadeCOMPAREconfiguramos qual lcomparao d desejamos j f fazer,se queremosvaloresmaioresoumenores queovalorbasedeterminado.

PROPRIEDADE COMPARE

Sensor de Luminosidade
NapropriedadeFUNCTIONtemosaopo GENERATELIGHT LIGHT,sed desejarmos j queseja j geradailuminaoadeixamosmarcada, casocontrriobastadesmarcla.

PROPRIEDADE FUNCTION

SENSOR ULTRASNICO

Sensor Ultrasnico

BLOCO ULTRASONIC SENSOR

NaspropriedadesdoblocoULTRASONIC SENSORpodemosconfigurarquala comparaoaserfeita, feita ovalorbaseeem queportaosensorestligado.Ena propriedadeSHOWdefinimosasunidades demedidasaseremutilizadas.

PROPRIEDADES

Sensor Ultrasnico

NapropriedadePORTconfiguramos aportaqueosensorest conectado.

PROPRIEDADE PORT

Sensor Ultrasnico
NapropriedadeCOMPAREconfiguramos qual lcomparao d desejamos j f fazer,se queremosvaloresmaioresoumenores queovalorbasedeterminado.

PROPRIEDADE COMPARE

Sensor Ultrasnico

NapropriedadeSHOWdefinimossequeremos asmedidasemcentmetrosouempolegadas.

PROPRIEDADE SHOW

BOTES

BOTES

BLOCO NXT BUTTONS

NaspropriedadesdoblocoNXT BUTTONSpodemosconfigurarqual aaoaserverificadaequalo botoquequeremostestar.

PROPRIEDADES

BOTES

NapropriedadeBUTTONS definimosqualobotodorob quedesejamosutilizar.

PROPRIEDADE BUTTONS

BOTES

NapropriedadeACTIONconfiguramosqual aoaserverificada.Seobotodefinidofoi pressionado,liberadooucolidido.

PROPRIEDADE ACTION

SENSOR DE ROTAO

Sensor de Rotao

BLOCO ROTATION SENSOR

NaspropriedadesdoblocoROTATION SENSORpodemos d configurar fi qual la comparaoaserfeita,asunidades dacomparaoeaaoaserfeita.

PROPRIEDADES

Sensor de Rotao

NapropriedadePORTconfiguramos aportaqueomotorest conectado.

PROPRIEDADE PORT

Sensor de Rotao

NapropriedadeACTIONescolhemosse queremoszerarocontadorousequeremos lerocontadorparaefetuaracomparao comparao.

PROPRIEDADE COMPARE

Sensor de Rotao
NapropriedadeCOMPAREescolhemosadireo d rotao, da t d definimos fi i oti tipod decomparao , informamosovalorbaseeaunidadeda comparao.

PROPRIEDADE COMPARE

CONTROLADOR DE TEMPO

Controlador de Tempo p

BLOCO TIMER

NaspropriedadesdoblocoTIMER podemosconfigurar p g q qualacomparao p aserfeita,otempodeesperaeaao aserfeita.

PROPRIEDADES

Controlador de Tempo p

NapropriedadeTIMERconfiguramoso tempodeesperaparaaexecuo, podemosdefinir1,2ou3segundos.

PROPRIEDADE TIMER

Controlador de Tempo p

NapropriedadeACTIONescolhemosse queremoszerarocontadorousequeremos lerocontadorparaefetuaracomparao comparao.

PROPRIEDADE COMPARE

Controlador de Tempo p

NapropriedadeCOMPAREescolhemosotipode comparaoeinformamosovalorbase.

PROPRIEDADE COMPARE

RECEBENDO MENSAGEM

Recebendo Mensagem g

BLOCO RECEIVE MESSAGE

NaspropriedadesdoblocoRECEIVEMESSAGE podemosconfigurar p g q qualotipo p demensagem g e qualamensagem.Almdeconfigurarqual caixadesejamosverificar.

PROPRIEDADES

Recebendo Mensagem g

NapropriedadeMESSAGEconfiguramoso tipodemensagemequalamensagemque queremosfazeracomparao.

PROPRIEDADE MESSAGE

Recebendo Mensagem g

NapropriedadeMESSAGEpodemosescolher seamensagemdotipotexto,nmeroou valorlgico lgico.

TIPO DE MENSAGEM

Recebendo Mensagem g

NapropriedadeMESSAGEinformamostambm amensagemquedesejamosverificar.

MENSAGEM

Recebendo Mensagem g

NapropriedadeMAILBOXdefinimosqualcaixa demensagemdesejamosverificar.

PROPRIEDADE MAILBOX

Calibrando Sensores
Ossensoresdeluzesompodemresponderde formadiferenteemdiferentesambientes. Porexemplo,omximoemumasala iluminadaserdiferentedomximoemum quartomaliluminado. ONXTGofereceumblocodecalibraopara corrigirestetipodevariao.

Calibrando Sensores
OblocoCALIBRATIONnospermitemodificar g demximoemnimodos asconfiguraes sensoresdeluzedesomduranteaexecuo doprograma. Podemos calibrar os sensores tambm atravs do menu TOOLS, mas dessa forma os sensores no so calibrados durante a execuo do programa e sim antes deles.

Calibrando Sensores

OblocoCALIBRATIONficaemCOMPLETE PALETTEemADVANCED.

ADVANCED

BLOCO CALIBRATION

COMPLETE PALETTE

Calibrando Sensores
BLOCO CALIBRATION

Paracalibrarmososensorprimeirodevemosescolher qualsensoriremoscalibrar,qualportaeleest,qual aodesejamosexecutarequalvaloriremos configurar. g

PROPRIEDADES DO BLOCO CALIBRATION

Calibrando Sensores

NapropriedadeSENSORescolhemosqualsensor desejamoscalibrar:odeluzouodesom.

PROPRIEDADE SENSOR: LIGHT OU SOUND

Calibrando Sensores

NapropriedadeACTIONescolhemosqualaao queremosexecutar:calibraroudeletaras configuraesatuaisdosensor.

PROPRIEDADE ACTION: CALIBRATE OU DELETE

Calibrando Sensores

NapropriedadeVALUEescolhemosqualovalor quevamosconfigurar:mximooudemnimo.

PROPRIEDADE VALUE: MAXIMUM OU MINIMUM

TIPOS DE DADOS E VARIVEIS

TIPOS DE DADOS
Tipo ipo
Numrico

Valores Valo es
-2147483648 - 2147483647

Descrio esc io
Esse tipo de dado usado para fazer operaes matemticas, contadores dentre outras utilidades que os nmeros apresentam Esse tipo de dado utilizado para operaes lgicas, obteno de resultados para tomada de decises. Os sensores do rob utilizam esse tipo de dados para informar os resultados de sua execuo. Esse tipo de dado utilizado quando queremos operar com textos, ou seja, desejamos operar com palavras e no com nmeros. So muito utilizados para a impresso na tela do rob, para criao de arquivos dentre outras utilidades. Podemos juntar qualquer letra, maiscula ou minscula, com nmeros para termos o resultado que queremos.

Lgico

true (1) ou false (0)

Texto

a z,A Z e 0 9

Variveis
Pense em uma varivel como um local para armazenar um valor na memria do rob. Outros blocos de programao podem ler o valor atual da varivel (e at mesmo alter alter-lo), lo) bastando para isso lig-los ao bloco com fios de dados. Com variveis, podemos armazenar dados do tipo lgico, numrico ou texto.

Variveis
JANELA EDIT VARIABLES VARIVEIS DEFINIDAS DEFINIO DO NOME DEFINIO DO TIPO

ParacriarvariveisbastairemEDITnomenu,depoisem DEFINEVARIABLES. VARIABLES NajanelaEDITVARIABLESclicamosem CREATEparacriaravarivel,damosumnomeaelae definimososeutipo.

Variveis
BLOCO VARIABLE

BLOCO VARIABLE

GRUPO DATA

Depoisdecriarasvariveistemosqueinserir osblocosparacontrollasparaquepossamos utilizlasdentrodoprograma.Paraissobasta irmosemCOMPLETEPALETTE,nogrupo DATAeinserimosoblocoVARIABLE.

COMPLETE PALETTE

PROPRIEDADES

Variveis

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

PROPRIEDADES

Variveis
Podemos escolher entre trs opes bsicas para definir nossas variveis: lgica lgica, texto ou numrica. Qualquer programa ir ter sempre essas trs variveis bsicas definidas e prontas para serem usadas. definidas, usadas

TIPO LGICO

TIPO NUMRICO

TIPO TEXTO

Variveis
Quando definimos o tipo da varivel as opes correspondentes dela so disponibilizadas disponibilizadas. Abaixo temos as trs opes apenas para compararmos.

TIPO LGICO

TIPO NUMRICO

TIPO TEXTO

Variveis
Como podemos ver em qualquer um dos trs tipos p temos a p propriedade p ACTION q que define se iremos utilizar o bloco VARIABLE para ler ou escrever na varivel.

PROPRIEDADE ACTION TIPO LGICO

TIPO NUMRICO

TIPO TEXTO

Variveis
Outra propriedade comum a LIST que onde definimos qual varivel iremos utilizar. Nessa propriedade fica alm das variveis padres, as variveis que definimos no menu EDIT em DEFINE VARIABLES.
PROPRIEDADE LIST LISTAGEM DE TODAS AS VARIVEIS DO PROGRAMA DEFINIDAS EM EDIT VARIABLES TIPO LGICO

TIPO NUMRICO

TIPO TEXTO

Variveis
Agora que vimos as propriedades comuns em todos os blocos VARIABLE para qualquer tipo, veremos ento as propriedades particulares de cada tipo dentro do bloco VARIABLE.

TIPO LGICO

TIPO NUMRICO

TIPO TEXTO

Variveis
Para variveis do tipo lgica na propriedade VALUE definimos qual o valor que ser escrito na varivel se TRUE ou FALSE. Essa opo s fica ativa caso a propriedade ACTION esteja marcada como WRITE.

PROPRIEDADE VALUE TIPO LGICO

Variveis
Para variveis do tipo numrica na propriedade VALUE definimos qual o nmero que ser escrito na varivel. Essa opo s fica ativa caso a propriedade ACTION esteja marcada como WRITE.

PROPRIEDADE VALUE TIPO NUMRICO

Variveis
Para variveis do tipo texto na propriedade VALUE definimos qual o texto que ser escrito na varivel. Essa opo s fica ativa caso a propriedade ACTION esteja marcada como WRITE.

PROPRIEDADE VALUE TIPO TEXTO

Variveis
Como podemos ver abaixo todas as variveis que definimos em DEFINE VARIABLES ficam listadas em LIST no bloco VARIABLE, assim poderemos utilizar qualquer uma delas durante o programa.

EXEMPLO DE VARIVEL DEFINIDA TIPO LGICA EXEMPLO DE VARIVEL DEFINIDA TIPO NUMRICO EXEMPLO DE VARIVEL DEFINIDA TIPO TEXTO

Variveis
Outra coisa que podemos perceber que a propriedade VALUE das variveis que definimos a mesma da sua respectiva varivel predefinida do mesmo tipo.

EXEMPLO DE VARIVEL DEFINIDA TIPO LGICA EXEMPLO DE VARIVEL DEFINIDA TIPO NUMRICO EXEMPLO DE VARIVEL DEFINIDA TIPO TEXTO

Variveis
Observao: se precisarmos alterar o tipo de , bastar ir ao dados ou nome de uma varivel, comando DEFINE VARIABLES do menu EDIT e alterar a configurao da varivel desejada na janela EDIT VARIABLES.

PASSAGEM DE DADOS

Passagem de Dados
Poderemos querer utilizar o resultado de g operao p de um bloco em outro bloco, , alguma para isso precisamos ligar um bloco ao outro. Para fazermos essa passagem de dados precisamos utilizar arames de ligao e as conexes dos blocos. A seguir veremos os tipos de arames que podem surgir nos nossos programas.

Conexes e Arames de Ligao

[A] Conexo de entrada ( (lado esquerdo q do bloco) ) [B] Conexo de sada (lado direito do bloco) [C] Ligao de dados numricos (amarelo) [D] [ ] Ligao g de dados lgicos g (verde) ( ) [E] Ligao de dados textos (laranja) [F] Ligao de dados incompatveis (erro-cinza)

Conexes e Arames de Ligao


Para podermos ligar dois blocos primeiro precisamos visualizar suas conexes, p , para p isso basta clicar na guia do canto inferior esquerdo do bloco bloco. Caso no seja mostrado todas as conexes, s clicar outra vez na guia que elas aparecero. Se quisermos ocultar conexes que no esto sendo utilizadas basta clicar na guia.

Conexes e Arames de Ligao

GUIA DE CONEXES ESPANDIDA GUIA DE CONEXES OCULTA

Conexes e Arames de Ligao


O cursor mudar de forma, forma quando o mouse passar sobre ou perto de uma conexo de d d Pressione dados. P i o boto b t do d mouse e arraste t um fio de dados da sada de um bloco at a entrada de outro bloco. Para excluir um fio de dados que se estende da esquerda para a direita entre duas conexes de dados clique sobre a conexo do bloco da dados, direita.

Conexes e Arames de Ligao


Cada fio de dados transporta um tipo especfico de dados entre os blocos. Por exemplo, l se um fio fi de d dados d d arrastado t d de d uma sada lgica de um bloco, ele s pode ser conectado a uma entrada lgica de outro bloco. Caso se conecte tipos de dados diferentes a ligao ser quebrada e voc no poder enviar seu programa para o rob, rob pois um erro de tipo foi encontrado no seu programa.

Conexes e Arames de Ligao


Se voc clicar em um fio quebrado voc poder visualizar na janela de ajuda o motivo. Os dados devem estar dentro dos limites possveis da conexo. p Se um fio de entrada de dados transmite um valor fora da faixa possvel da conexo que ligado, o bloco ir ignora o valor ou alter-lo para um valor l dentro d de d sua escala. l

Conexes e Arames de Ligao


Para PLUGS que permitem apenas alguns valores de entrada (ex: apenas 0, 1 ou 2), a conexo ir i ignorar i a entrada t d se o valor l for f fora de seu alcance. Para plugs que aceitam maiores gamas de entrada (ex: 0 - 100), 100) a conexo ir forar para se ajustar. Por exemplo, se uma conexo no bloco MOVE POWER recebe um valor de entrada de 150, o bloco ir alterar o valor de entrada d para 100.

Conexes e Arames de Ligao


Se uma entrada tem uma sada correspondente, correspondente os dados de entrada passaro atravs da entrada t d para a sada d sem ser alterado. lt d Neste caso, voc s p pode usar a sada se a entrada estiver conectada a um fio de dados de entrada Ligar uma sada de dados em uma entrada sem fi conectado fio d a entrada d de d dados d d correspondente a sada ir causar um erro.

Conexes e Arames de Ligao

CONEXO DE ENTRADA PASSANDO PARA A SADA

CONEXO DE ENTRADA PASSANDO PARA A SADA

OS DADOS OBTIDOS NAS ENTRADAS SO PASSADOS PARA A SADA SEM SOFREREM MUDANAS, ASSIM PODEMOS UTILIZ-LOS MAS SADAS.

UTILIZANDO SENSORES

Utilizando Sensores
Para criar programas que so controlados por sensores temos duas opes, podemos utilizar para a verificao do sensor e outro um bloco p para testar a condio de controle ou podemos utilizar o bloco Wait para fazer tudo tudo. Isso nos facilita muito em casos em que queremos apenas testar se certa condio foi satisfeita no sensor escolhido. Mostraremos seguir como utilizar ili o bloco bl Wait i para controle l de d sensores.

Utilizando Sensores

NaabadeblocoscomunstemosogrupoWAIT, WAIT ondepodemosescolherdentreoscincotiposde controlesprincipaisdoblocoWAIT.


GRUPO WAIT

ABA DE BLOCOS COMUNS

Utilizando Sensores

OTIMEcontrolaoprogramaatravsdeum contadordetempo,especificamosotempoem segundosqueoprogramadeveresperar.


TIME

ABA DE BLOCOS COMUNS

Utilizando Sensores

OTOUCHcontrolaoprogramaatravsdosensor detoque,especificamosaportadosensore qualaodeveremosesperarparaqueo programa p g p prossiga. g


TOUCH

ABA DE BLOCOS COMUNS

Utilizando Sensores

OLIGHTcontrolaoprogramaatravsdosensor deluz,especificamosaportadosensorequal valordeluminosidadedevemosesperarpara queop q programa g p prossiga. g


LIGHT

ABA DE BLOCOS COMUNS

Utilizando Sensores

OSOUNDcontrolaoprogramaatravsdosensor desom,especificamosaportadosensorequal nvelderudodevemosesperarparaqueo programaprossiga.


SOUND

ABA DE BLOCOS COMUNS

Utilizando Sensores
ODISTANCEcontrolaoprogramaatravsdosensor ultrasnico,especificamosaportadosensorequal adistnciaquedevemosesperarparaqueo programaprossiga.

DISTANCE

ABA DE BLOCOS COMUNS

Utilizando Sensores
BLOCO WAIT

ComapropriedadeCONTROLpodemosmodificarobloco WAITcomoeq quandoq quisermos.Podemosescolher entreduasopespara:SENSORparautilizarmosumdos sensoresparacontrolaroprogramaeaTIMEpara controlarmosoprogramaatravsdocontador.

OPES DA PROPRIEDADE CONTROL

Utilizando Sensores
BLOCO WAIT

QuandoapropriedadeCONTROLconfiguradacomo SENSOR, ,outrasopes p soativadas.Apropriedade p p SENSORnospossibilitaescolherqualosensorque desejamosutilizar.

OPES DA PROPRIEDADE SENSOR

Utilizando Sensores
BLOCO WAIT

Doladodireitoaparecemaspropriedadesdosensor escolhido, ,cadasensorapresenta p oseugrupo g p de propriedadesparacontrole.Aspropriedadesdos sensoresnsjvimosanteriormenteemSENSORES.

PROPRIEDADES DO SENSOR

Utilizando Sensores
1 1 Exemplo - Rob: ligar os motores BC ilimitadamente, quando o sensor de toque for pressionado i d ento t parar. 2 Exemplo p - Rob: dar uma volta p para frente com o motor A e parar, quando o sensor de luz detectar uma iluminao maior que 30 ento dar 1/2 volta para trs com o motor A e parar.

Utilizando Sensores
1 Exemplo - Rob: ligar os motores BC 1 ilimitadamente, quando o sensor de toque for pressionado i d ento t parar. Para criar esse p programa g precisamos p dividi-lo em trs partes: A primeira ir ligar os motores BC a segunda ir aguardar o sensor de toque BC, ser pressionado e a terceira ir desligar os motores BC. BC

Utilizando Sensores
1 Parte - Rob: ligar os motores BC 1 ilimitadamente. Insira o bloco MOVE com a propriedade p p DIRECTION em FOWARD e a propriedade DURATION em UNLIMITED. Escolha a potncia desejada e marque as portas certas. certas

Utilizando Sensores
BLOCO MOVE

DIRECTION: FORWARD

DURATION: UNLIMITED

Utilizando Sensores
2 Parte - Rob: aguarde o sensor de toque ser 2 pressionado. Insira o bloco TOUCH na paleta comum de bloco, no g grupo p WAIT. Marque a opo PRESSED na propriedade ACTION do bloco WAIT WAIT. E configure a porta do sensor de toque.

Utilizando Sensores
BLOCO WAIT: TOUCH

GRUPO WAIT

TOUCH

PALETA COMUM CONTROL: SENSOR SENSOR: TOUCH SENSOR ACTION: PRESSED

Utilizando Sensores
3 Parte - Rob: pare 3 pare. Insira um bloco MOVE aps o bloco WAIT. Marque as portas dos motores utilizadas anteriormente. Na propriedade DIRECTION marque a opo STOP. STOP Na p propriedade p NEXT ACTION marque q a opo BRAKE.

Utilizando Sensores
BLOCO MOVE

DIRECTION: STOP NEXT ACTION: BRAKE

Utilizando Sensores
2 Exemplo - Rob: dar uma volta para frente 2 com o motor A e parar, quando o sensor de luz d t t uma iluminao detectar il i maior i que 30 ento t dar 1/2 volta para trs com o motor A e parar. Para criar esse programa precisamos dividi-lo em trs 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 para trs com o motor A.

Utilizando Sensores
1 Parte - Rob: dar um volta com o motor A 1 A. Insira o bloco MOVE com a propriedade DIRECTION em FOWARD e a propriedade DURATION em ROTATIONS com o valor 1. Escolha a potncia desejada e marque a porta certa Marque a opo BRAKE em NEXT certa. ACTION.

Utilizando Sensores
BLOCO MOVE

DIRECTION: FORWARD NEXT ACTION: BRAKE DURATION: ROTATIONS

Utilizando Sensores
2 Parte - Rob: aguarde o sensor de luz detectar 2 uma iluminao maior que 30%. Insira o bloco LIGHT na paleta comum de bloco, no g grupo p WAIT. Marque a opo (>) maior na propriedade UNTIL do bloco WAIT e coloque o valor 30. 30 Configure a porta do sensor de toque.

Utilizando Sensores
BLOCO WAIT: LIGHT

GRUPO WAIT

LIGHT

PALETA COMUM CONTROL: SENSOR SENSOR: LIGHT SENSOR UNTIL: > (MAIOR)

Utilizando Sensores
3 Parte - Rob: d meia volta para trs com o 3 motor A. Insira um bloco MOVE aps o bloco WAIT. Na propriedade DIRECTION marque a opo BACKWARD. Em E DURATIONS marque a opo DEGREES e coloque 180. Na propriedade NEXT ACTION marque a opo BRAKE BRAKE.

Utilizando Sensores
BLOCO MOVE

DIRECTION: BACKWARD NEXT ACTION: BRAKE DURATION: DEGREES

UTILIZANDO ARAMES DE LIGAO

Utilizando Arames de Ligao


1 1 Exemplo Rob: se o sensor luminoso detectar uma iluminao maior que 50% d d duas voltas lt para frente f t e pare, caso seja j menor que 50% d duas voltas para trs e diminua at parar. 2 2 Exemplo Rob: se o sensor ultrasnico detectar uma distncia maior que 127cm dar duas voltas para frente e parar, parar seno dar duas voltas para trs e diminua at parar.

Utilizando Arames de Ligao


1 Exemplo - Rob: se o sensor luminoso 1 detectar uma iluminao maior que 50% d d duas voltas lt para frente f t e pare, caso seja j menor que 50% d duas voltas para trs e diminua at parar. Vamos dividir esse exemplo em duas partes: uma ir verificar o sensor luminoso e transmitir o resultado para a outra parte, parte a segunda parte ir receber e executar a devida ao de d acordo d com o resultado l d obtido. b id

Utilizando Arames de Ligao


1 Parte Rob: verifique se o sensor luminoso 1 detectar uma iluminao maior que 50%. Insira um bloco LIGHT SENSOR da paleta grupo p SENSOR. COMPLETE g Configure a porta do sensor. Marque M na propriedade i d d COMPARE a opo maior (>) e coloque o valor de 50.

Utilizando Arames de Ligao g


GRUPO SENSOR

LIGHT SENSOR

BLOCO LIGHT SENSOR

COMPLETE PALETTE COMPARE: MAIOR (>)

Utilizando Arames de Ligao


2 Parte Rob: d duas voltas para frente caso 2 resultado seja verdadeiro, se for falso de duas voltas lt para trs. t Insira um bloco MOVE e configura g as p portas. Na propriedade DURATION marque ROTATIONS e coloque o valor 2. 2

Utilizando Arames de Ligao


Agora precisamos ligar um bloco ao outro para que o bloco MOVE seja controlado pelo bloco LIGHT SENSOR SENSOR. Abra as conexes dos dois blocos, p para q que possa ver todas elas. Clique na conexo de sada YES/NO do bloco LIGHT SENSOR. Ela d o resultado da comparao d do bloco. bl

Utilizando Arames de Ligao


Depois clique na conexo de entrada DURATION do bloco MOVE. Clique novamente na conexo de sada YES/NO do bloco LIGHT SENSOR. Depois clique na conexo de entrada NEXT ACTION do bloco MOVE MOVE. Pronto, teremos agora uma sada do bloco LIGHT SENSOR conectada a duas entradas do bloco MOVE.

Utilizando Arames de Ligao g

ARAME DE LIGAO ENTRADA DIRECTION ARAME DE LIGAO ENTRADA NEXT ACTION

ARAME DE LIGAO SADA YES/NO

DURATION: ROTATIONS

Utilizando Arames de Ligao


2 Exemplo - Rob: se o sensor ultrasnico 2 detectar uma distncia maior que 127cm dar d duas voltas lt para frente f t e parar, seno dar d duas d voltas para trs e diminua at parar. Vamos dividir esse exemplo em duas partes: uma ir verificar o sensor ultrasnico e transmitir o resultado para a outra parte, a segunda parte ir receber e executar a devida ao de acordo com o resultado obtido.

Utilizando Arames de Ligao


1 Parte Rob: verifique se o sensor ultrasnico 1 detectar uma distncia maior que 127cm. Insira um bloco ULTRASONIC SENSOR da paleta COMPLETE grupo p g p SENSOR. Configure a porta do sensor. Marque M na propriedade i d d COMPARE a opo maior (>) e coloque o valor de 127. Marque ma propriedade SHOW a opo CENTIMETERS. CENTIMETERS

Utilizando Arames de Ligao g


GRUPO SENSOR

ULTRASONIC SENSOR

BLOCO ULTRASONIC SENSOR

COMPLETE PALETTE COMPARE: MAIOR (>) SHOW: CENTIMETERS

Utilizando Arames de Ligao


2 Parte Rob: d duas voltas para frente caso 2 resultado seja verdadeiro, se for falso de duas voltas lt para trs. t Insira um bloco MOVE e configura g as p portas. Na propriedade DURATION marque ROTATIONS e coloque o valor 2. 2

Utilizando Arames de Ligao


Agora precisamos ligar um bloco ao outro para que o bloco MOVE seja controlado pelo bloco ULTRASONIC SENSOR SENSOR. Abra as conexes dos dois blocos, p para q que possa ver todas elas. Clique na conexo de sada YES/NO do bloco ULTRASONIC SENSOR. Ela d o resultado d comparao da do d bloco. bl

Utilizando Arames de Ligao


Depois clique na conexo de entrada DURATION do bloco MOVE. Clique novamente na conexo de sada YES/NO do bloco ULTRASONIC SENSOR. Depois clique na conexo de entrada NEXT ACTION do bloco MOVE MOVE. Pronto, teremos agora uma sada do bloco ULTRASONIC SENSOR conectada a duas entradas do bloco MOVE.

Utilizando Arames de Ligao g

ARAME DE LIGAO ENTRADA DIRECTION ARAME DE LIGAO ENTRADA NEXT ACTION

ARAME DE LIGAO SADA YES/NO

DURATION: ROTATIONS

UTILIZANDO VARIVEIS

Utilizando Variveis
BLOCO RANDOM

RANDOM

GRUPO DATA

OblocoRAMDOMnospermitegerarnmerosaleatrios. EleseencontranogrupoDATAdoCOMPLETEPALETTE. PALETTE PodemosdefinirumintervaloentreoAeBpara ageraodosnmeros.


PALETA COMPLETA

Utilizando Variveis
BLOCO NUMBERTOTEXT

NUMBERTOTEXT

GRUPO ADVANCED

OblocoNUMBERTOTEXTnospermiteconverter nmero emtexto.Ele El seencontranogrupo ADVANCEDdoCOMPLETEPALETTE.Usamosesse blocopoisprecisamosenviardadosnumricos parablocosq p quesaceitamdadosdotipo p texto.


PALETA COMPLETA

Utilizando Variveis
1 Exemplo Rob: Sorteie um nmero entre 0 e 1 100. caso o sensor ultrasnico detecte uma di t i maior distncia i que 127cm 127 d cinco i voltas lt para frente e pare, caso contrrio de 5 voltas para trs e diminua at parar. Mostre na tela o nmero sorteado. Para criarmos o exemplo dado precisamos primeiro separ-lo separ lo em partes: Rob: guarde o valor 100.

Utilizando Variveis
Rob: sorteie um valor entre 0 e o valor guardado e o guarde o valor sorteado. R b verifique Rob: ifi o sensor ultrasnico. lt i Rob: se o valor do sensor ultrasnico foi maior que 127cm, d cinco voltas para frente e pare. j menor d cinco voltas para p trs e Caso seja diminua at parar. Rob: converta o valor sorteado para texto. texto Rob: mostre na tela o valor sorteado.

Utilizando Variveis
BLOCO VARIABLE

Configureumavariveldotiponmero.Insiraum blocoVARIABLEeodefinacomoavarivelquefoi definidaemDEFINEVARIABLES.Marqueobloco comoescritaWRITEecoloqueovalor100. 100

Utilizando Variveis
BLOCO VARIABLE: READ BLOCO VARIABLE: WRITE

BLOCO RANDOM

InsiraoutroblocoVARIABLEcomomesmotipodoblocoanterior, masdefinidocomoREAD.InsiraumblocoRANDOMeligue g a entradaBasadadoblocoVARIABLEinseridoanteriormente. Insiraumavariveldotiponmeroparaguardaro valorsorteado.ConfigureaparaescritaWRITEeliguea entrada t d dela d l nasada d d dobl blocoRANDOM RANDOM.

Utilizando Variveis
BLOCO ULTRASONIC SENSOR

InsiraumblocoULTRASONICSENSORconfigureo paramedidasemcentmetros,maior(>)ecomo valor127.

Utilizando Variveis
BLOCO MOVE

InsiraumblocoMOVEconfigureocom5ROTATIONS. LigueasadadoblocoULTRASONICSENSORnas entradasDIRECTIONeNEXTACTIONdoblocoMOVE.

Utilizando Variveis
BLOCO VARIABLE BLOCO NUMBERTOTEXT

BLOCO DISPLAY

InsiraumblocoVARIABLEdomesmotipodoblocoVARIABLE querecebeuovalorsorteado.InsiraumblocoNUMBERTOTEXT eligueaentradadelenasadadoblocoVARIABLE.Insiraum blocoDISPLAYconfiguradocomoTEXTeliguea EntradaTEXTdelenasadadoblocoNUMBERTOTEXT.

Utilizando Variveis
BLOCO TIME

InsiraumblocoTIMEeoconfigurecom5segundos.