Jogo dos LEDs com Scratch
Nesta atividade vais conseguir fazer um jogo com LEDs, resistências e com a linguagem de programação Scratch.
Objetivos
Ao percorreres este desafio vais aprender:
- Os princípios básicos de eletrónica e montar um sistema eletrónico simples, com recurso a uma Breadboard, LEDs e resistências
- A explorar como o RPi pode alimentar e controlar um sistema eletrónico externo com recurso aos pinos GPIO e a linha de comandos ( Shell) do RPi
- Utilizar a linguagem de programação introdutória Scratch para controlar o sistema eletrónico
Duração da atividade: 90 minutos.
Material
Nome | Quantidade | Preço/Unidade |
---|---|---|
Raspberry Pi | 1 | 35€ |
Breadboard | 1 | 2,5€ |
Fios de ligação | 6 | 0,05€ |
LED | 5 | 0,02€ |
Resistência 1KΩ | 5 | 0,05€ |
Montar o circuito
Agora que já sabes montar um circuito simples, que tal irmos mais além? Para o Jogo das Luzes vais ter que montar o seguinte circuito:
Se seguires os númerso dos pinos por disposição física:
Vais ter fios ligados ao pino 6
, 11
, 12
, 13
, 15
e 16
.
Fazer os LEDs piscar com o Scratch
Abre o
Scratch GPIO
.Vamos começar por criar a ação piscar: uma ação piscar faz com que o LED seja acendido, fique aceso durante
0.05
segundos e depois se apague. Cada um dos LED deverá ter a sua ação.Insere o controlo
Quando receber a ação X
, e cria uma nova ação, sendoX
o nome da ação (ex: “x1, x2, ...”).Anuncia ação
pin11high
.Insere um tempo de espera de
0.05
.Anuncia ação
pin11low
.Repete os pontos 1 a 6 para os restantes pinos (pin12, pin13, pin15 e pin16), mudando o nome da ação para cada um dos pinos (ex: x11, x12,...)
Insere um controlo que ao pressionar a letra
T
, do teclado, executa as ações que definiste anteriormente, todas ao mesmo tempo (anúncio sem espera):Controlo
->Quando tecla t pressionada
.Controlo
->Anuncie x
(ex: x1, x2, ...).
Fazer os LED piscar em sequência
Os LEDs devem piscar em sequência, da esquerda para a direita.
Para isso vais usar as ações do ponto anterior.
Começa por definir a letra
G
do teclado, como a letra que inicia o jogo:Controlo
->Quando tecla g pressionada
Adiciona o bloco sempre:
Controlo
->sempre
.Dentro do ciclo
sempre
, repete o seguinte 5 vezes (uma por cada
LED):- Anuncia ação
x_
e espera. O valor será o nome das ações criadas na primeira parte (ex: x1, x2, ...)Controlo
->Anuncie x e espera
.
- Anuncia ação
Parar quando clicar em espaço
Quando se clica na tecla espaço, o jogo deverá parar.
- Insere um controlo que recebe a tecla
espaço
. - Adiciona o bloco
pare todos
que está no separadorControlo
.
Verificar se ganhou o jogo, ou não
Para verificar se ganhámos o jogo, temos que verificar que após parar LED aceso é o 3º.
Para isso é preciso fazer alterações nas ações piscar para definir o LED que estamos a acender.
- Cria a variável ‘LedAtual’:
Variáveis
->Criar uma variável
- Em cada uma das ações piscar (x1, x2, etc..) define a variável ‘LedAtual’ com o número do LED correspondente. Por exemplo, na ação do pin11, define ‘LedAtual’ como 11.
- Para isso, insere a instrução seguinte antes do
pinnXXhigh
:Variáveis
>mude LedAtual para X
Mostrar mensagem ‘Ganhou’ ou ‘Perdeu’
Ao parar, se o LED for o correto deverá aparecer a mensagem Ganhou
. Caso contrário, deverá aparecer a mensagem Perdeu
.
Faz as mudanças no bloco que está a parar o jogo para que as mensagens apareçam (quando a tecla espaço for pressionada
).
- Verificar se
LedAtual
é igual a13
Controlo
->se AQUI senão __
- Dentro do bloco ‘se AQUI senão __`, adicionar:
Operadores
->_=_
17. Se for igual,se AQUI senão __
, mostra a mensagemGanhou
e repita 5 vezes o seguinte: - Execute a ação do LED 13 (anuncie e espere)
- Espere 1 segundo
- Se for diferente,
se senão AQUI
, mostra a mensagemPerdeu
.
Apagar os LED e terminar
Como medida de segurança, ao parar o jogo, todos os LED devem ser desligados.
- Para cada um dos LED, execute (anuncie) a ação
pinXXlow
no bloco anterior.
E agora?
Gostaste do Scratch e queres saber mais, podes descarregar aqui vários guiões com atividades em Scratch.
Queres perceber o que se encontra por detrás de cada bloco que usaste?
Pronto para usar uma linguagem de programação como os prós?
Então visita esta página!
Se quiseres mais informações para consultares nos teus projetos futuros, visita a secção dos Recursos deste livro.
Referências: