Capítulo 18: Transmissão de Mensagens (Comunicação)

🎯 Objetivo da Aula

Em um sistema complexo, diferentes partes precisam conversar. Nesta aula, você aprenderá sobre a Transmissão de Mensagens (cor amarelo). O objetivo é fazer com que um ator (Caminhão) envie um sinal invisível para outro ator (Portão), disparando ações coordenadas no seu simulador.


🏢 O Cenário Prático (Seu Desafio)

Situação: O caminhão da FastLog chega na portaria. O Problema: O portão não sabe que o caminhão chegou. Precisamos que o caminhão “grite”: “Cheguei!” e o portão responda se abrindo automaticamente.

Missão: Criar uma comunicação via rádio entre os atores do sistema.


🧠 Fundamentos: A Teoria Traduzida

1. Transmitir e Receber

O Scratch usa um sistema de rádio:

📻 Exemplo 1: Cotidiano (Walkie-Talkie)

  • Motorista: “Câmbio, cheguei na base”.
  • Base: (Ouve a mensagem) -> “Pode entrar”.

🚥 Exemplo 2: Técnico (Automação Industrial)

  • Sensor: [transmita "Carga Detectada"]
  • Esteira: [quando eu receber "Carga Detectada"] -> [Ligar Motor]
graph LR
    A[Ator 1: Caminhão] -- Transmita: Abrir --> B((Espaço Sideral))
    B -- Quando eu receber: Abrir --> C[Ator 2: Portão]
    C --> D[Ação: Subir Portão]
    
    style B fill:#f1c40f,stroke:#fff,color:#fff

2. Os Blocos de Mensagem 🟡

  • [transmita (mensagem1)]: Envia o sinal para todos.
  • [quando eu receber (mensagem1)]: É um gatilho que inicia um novo código.

🛠️ Mão na Massa: Atividade 18 - Portaria Automática

Vamos programar a conversa entre atores:

Passo 1: Preparação

  1. Tenha dois atores: um Caminhão e um Portão (pode ser uma barra horizontal).

Passo 2: Código do Caminhão

  • [quando clicar em 🏁]
  • [vá para x:-200 y:-50]
  • [deslize por 2 seg até x:-50 y:-50] (Chega perto do portão)
  • [transmita "ABRIR_PORTAO"]
  • [diga "Solicitando abertura..." por 2 segundos]

Passo 3: Código do Portão

Clique no ator Portão e encaixe:

  • [quando eu receber "ABRIR_PORTAO"]
  • [deslize por 1 seg até x:-50 y:100] (O portão sobe)
  • [transmita "PODE_PASSAR"]

✅ Resultado Esperado

Ao clicar na bandeira, o caminhão se move, para, e o portão sobe sozinho logo em seguida. Isso mostra que os atores estão “conversando”.


📤 Instruções de Entrega (Microsoft Teams)

  1. Adicione um terceiro ator: uma Luz de Alerta.
  2. Quando ela receber “ABRIR_PORTAO”, deve ficar piscando (mudar de cor).
  3. Envie o print dos códigos no Microsoft Teams na tarefa “Scratch Cap 18 - Mensagens”.

💡 Checkpoint de Lógica

  • Para TI (Feedback de Sistema): Como o Scratch não tem um comando retorne oficial, usamos variáveis globais para guardar o resultado de um bloco e avisar ao resto do sistema que a tarefa foi concluída.
  • Para ADM (Relatórios Consolidados): Pense no resultado como o Documento Final de uma tarefa que será entregue para outro departamento.

🔥 Desafio de Fixação (ADM/TI)

Verificador de Meta: Crie um bloco que receba o Valor_Venda. Se for maior que 1000, mude uma variável Meta_Atingida para “Sim”. No roteiro principal, mostre um troféu apenas se a variável for “Sim”.


🔑 Gabarito de Lógica (Blocos)

Comunicação:

  • Ator A: [transmita "sinal"]
  • Ator B: [quando eu receber "sinal"] -> [faça algo]