Lição 3: Sensor de luz e condicionais Soluções de Programação: RoboLab programado com NQC

9
Lição 3: Sensor de luz e condicionais Soluções de Programação: RoboLab programado com NQC

description

Lição 3: Sensor de luz e condicionais Soluções de Programação: RoboLab programado com NQC. Exercício 1. Coloque o sensor de luz sobre um papel branco. Ao mover-se sobre um papel preto, ligue o motor A para que avance ( Foward ). Desligue o motor quando o sensor de luz voltar ao papel branco. - PowerPoint PPT Presentation

Transcript of Lição 3: Sensor de luz e condicionais Soluções de Programação: RoboLab programado com NQC

Page 1: Lição 3: Sensor de luz e condicionais Soluções de Programação:  RoboLab  programado com  NQC

Lição 3: Sensor de luz e condicionais

Soluções de Programação: RoboLab programado com NQC

Page 2: Lição 3: Sensor de luz e condicionais Soluções de Programação:  RoboLab  programado com  NQC

Exercício 1

Coloque o sensor de luz sobre um papel branco. Ao mover-se sobre um papel preto, ligue o motor A para que avance ( Foward ). Desligue o motor quando o sensor de luz voltar ao papel branco.

Page 3: Lição 3: Sensor de luz e condicionais Soluções de Programação:  RoboLab  programado com  NQC

Exercício 1: Solução NQC#define LIGHT SENSOR_1

#define THRESHOLD 45

task main()

{

SetSensor(LIGHT, SENSOR_LIGHT);

SelectDisplay(DISPLAY_SENSOR_1);

until (LIGHT <= THRESHOLD);

OnFwd(OUT_A);

until (LIGHT > THRESHOLD);

Off(OUT_A);

}

Para o sensor,45 é um valor médio entre branco e preto

Use macros para facilitara leitura do código

Mostra o valor lido pelo sensor no display

Page 4: Lição 3: Sensor de luz e condicionais Soluções de Programação:  RoboLab  programado com  NQC

Exercício 2

Iniciando-se o programa um som, tipo zumbido, é emitido se presionado o sensor de contato.

Por outro lado, se o sensor de contato não é pressionado, se emite um tom descendente.

Page 5: Lição 3: Sensor de luz e condicionais Soluções de Programação:  RoboLab  programado com  NQC

Exercício 2: Solução NQCtask main()

{

SetSensor(SENSOR_1, SENSOR_TOUCH);

if (SENSOR_1 == 0)

{

PlaySound(SOUND_DOWN);

}

else

{

PlaySound(SOUND_LOW_BEEP);

}

}

A entrada 1 tem um sensor de contato.

1 significa “pressionado.”0 significa “liberado.”

‘SOUND_LOW_BEEP”é um zumbido!

não dúvide é um duplo sinal de igual!

Page 6: Lição 3: Sensor de luz e condicionais Soluções de Programação:  RoboLab  programado com  NQC

Exercício 3

Se o sensor de luz está sobre papel branco, liga-se somente o motor A.

Se o sensor de luz está sobre um papel preto liga-se o motor C.

Faz-se isto para sempre.

Page 7: Lição 3: Sensor de luz e condicionais Soluções de Programação:  RoboLab  programado com  NQC

Exercício 3: Solução NQC#define LIGHT SENSOR_1

#define THRESHOLD 45

task main()

{

SetSensor(LIGHT, SENSOR_LIGHT);

while (true)

{

if (LIGHT > THRESHOLD)

{

Off(OUT_C);

OnFwd(OUT_A);

}

else

{

Off(OUT_A);

OnFwd(OUT_C);

}

}

}

use macros para facilitar a leitura do código

while (true) cria um laço ( loop ) infinito

Page 8: Lição 3: Sensor de luz e condicionais Soluções de Programação:  RoboLab  programado com  NQC

Exercício 4Se o sensor de luz está sobre papel branco, se o sensor

de contato é pressionado, ligue o motor A em reverso; em outro caso, ligue o motor A para que avance.

Por outro lado, se o sensor de luz está sobre o papel preto, se o sensor de contato é pressionado, ligue o motor C em reverso; em outro caso, ligue o motor C para que avance.

Para todas as condições, o motor funciona por 4 segundos e depois desliga.

Page 9: Lição 3: Sensor de luz e condicionais Soluções de Programação:  RoboLab  programado com  NQC

Exercício 4: Solução NQC#define TOUCH SENSOR_1

#define LIGHT SENSOR_2

task main()

{

SetSensor(TOUCH, SENSOR_TOUCH);

SetSensor(LIGHT, SENSOR_LIGHT);

if (LIGHT > 45)

{

if (TOUCH == 0) {

OnFwd(OUT_A);

} else {

OnRev(OUT_A);

}

}

else

{

if (TOUCH == 0) {

OnFwd(OUT_C);

} else {

OnRev(OUT_C);

}

}

Wait(400);

Off(OUT_A);

Off(OUT_C);

}