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:#fff2. 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
- 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)
- Adicione um terceiro ator: uma Luz de Alerta.
- Quando ela receber “ABRIR_PORTAO”, deve ficar piscando (mudar de cor).
- 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
retorneoficial, 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]