A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Lição 4: Comunicação e Processamento paralelo Soluções de Programação: RoboLab programado com NQC.

Apresentações semelhantes


Apresentação em tema: "Lição 4: Comunicação e Processamento paralelo Soluções de Programação: RoboLab programado com NQC."— Transcrição da apresentação:

1 Lição 4: Comunicação e Processamento paralelo Soluções de Programação: RoboLab programado com NQC

2 Exercício 1 Sempre o robô deve ir para frente (fwd) por 1 seg. e irá realizar um giro para o lado do motor C por 0,85 seg. Sempre que o sensor 1 for pressionado, o robô irá para trás (rev) por 0,5 seg. e irá realizar um giro por 0,85 seg. para o lado do motor A, em seguida irá para a frente.

3 Exercício 1: Solução NQC task main() {SetSensor(SENSOR_1,SENSOR_TOUCH); start check_sensors; while (true) {OnFwd(OUT_A+OUT_C); Wait(100); OnRev(OUT_C); Wait(85); } task check_sensors() {while (true) {if (SENSOR_1 == 1) {OnRev(OUT_A+OUT_C); Wait(50); OnFwd(OUT_A); Wait(85); OnFwd(OUT_C); } }} 2ª Tarefa, realizada em paralelo Tarefa principal Chama a 2ª Tarefa

4 Exercício 2 Sempre o robô deve realizar um movimento de “quadrado”. Sempre que o sensor 1 for tocado, o robô deve ir para trás e girar no sentido contrário do “quadrado”.

5 Exercício 2: Solução NQC task main() {SetSensor(SENSOR_1,SENSOR_TOUCH); start check_sensors; start move_square; } task move_square() {while (true) {OnFwd(OUT_A+OUT_C); Wait(100); OnRev(OUT_C); Wait(85);} } task check_sensors() {while (true) {if (SENSOR_1 == 1) {stop move_square; OnRev(OUT_A+OUT_C); Wait(50); OnFwd(OUT_A); Wait(85); start move_square;} }} A entrada 1 tem um sensor de contato. Inicia os dois procedimentos Inicia e finaliza o movimento de quadrado Faz o robô realizar um quadrado

6 Mensagens  Os comandos disponóveis para o kit, com relaçãoo a comunicação, são:  SendMessage(n) : transmite um valor de 0 a 255, por infra-vermelho. Os outros robôs recebem a mensagem e a armazenam.  Message() : utilizado para receber mensagem  ClearMessage() : torna o valor da mensagem recebida igual a 0.  SetTxPower(TX POWER LO) ou SetTxPower(TX POWER HI) : seta  a potência de transmissão dos robôs. Dê preferência a potência baixa.

7  O robô mestre ( master ) deve enviar 3 comandos diferentes a cada 2 seg.  O escravo ( slave )deve ir para frente, depois ir para trás e depois parar, ao comando do mestre Exercício 3

8 Exercício 3: Solução NQC task main() // MASTER { SendMessage(1); Wait(200); SendMessage(2); Wait(200); SendMessage(3); } task main() // SLAVE { while (true) { ClearMessage(); until (Message() != 0); if (Message() == 1) {OnFwd(OUT_A+OUT _C);} if (Message() == 2) {OnRev(OUT_A+OUT _C);} if (Message() == 3) {Off(OUT_A+OUT_C); } } Este PRGM deve ser instalado no robô mestre Este PRGM deve ser instalado no robô escravo


Carregar ppt "Lição 4: Comunicação e Processamento paralelo Soluções de Programação: RoboLab programado com NQC."

Apresentações semelhantes


Anúncios Google