Espaço dos projetos TIC em 3D, Fab@rts - O 3D nas mãos da Educação!, Laboratório de Criatividade Digital - Clube de Robótica AEVP e outros projetos digitais desenvolvidos no Agrupamento de Escolas Venda do Pinheiro.
Este ano, o desafio Hour of Code para os alunos de 5º ano foi descobrir a robótica e o 3D através de fotografia digital. Pegando no projeto interdisciplinar de exploração do retrato da Infanta Maria Bárbara no Palácio Nacional de Mafra, desenvolveu-se uma pequena atividade que permitiu aos alunos ficar a conhecer melhor o seu telemóvel.
O ponto de partida foram litofanos criados a partir do retrato. Estas peças impressas em 3D permitem criar objetos com efeitos negativos, sendo possível ver a imagem a contra-luz. Os robots Anprino foram a fonte de luz, usando leds. Foi uma oportunidade para descobrir estes robots, e como se programam.
O principal desafio foi fotografar, à contra luz, sob escuridão. Com isso, os alunos descobriram as capacidades de fotografia dos seus telefones, percebendo a diferença entre posições de retrato e paisagem, quando usar, ou não, o flash, enquadramentos e funções não automáticas para controlar temperatura da imagem, velocidade do obturador ou sensibilidade de exposição. Funções disponíveis na maioria das câmaras dos telemóveis, que permitem tirar fotografias mais criativas, mas que raramente são exploradas.
Criatividade potenciada por ferramentas digitais é o nosso grande objetivo. Nesta atividade, realizada dentro das limitações pandémicas, foi possível aos alunos descobrir o potencial da fotografia digital, robótica, programação e 3D.
Já sabemos que podemos controlar os movimentos dos atores no Pocket Code com os vários blocos de movimento, e que o bloco Planar permite que se alterem os valores do tempo, e das coordenadas. Agora, vamos aprender a mover atores nos programas desenvolvidos no Pocket Code usando o toque no ecrã do telemóvel.
Aqui, são usadas as posições de toque para definir as coordenadas X e Y (coordenadas cartesianas) do ponto para onde queremos que se desloque o ator.
Sensores de Toque
Primeiro, vamos definir o movimento: usamos o bloco When Scene Starts para iniciar a ação, e um ciclo para sempre (Forever), dentro do qual vamos inserir o bloco Planar. Em seguida, tocamos nos valores de X ou de Y para editar a fórmula.
No editor de fórmulas, tocamos na opção Dispositivo para aceder aos sensores do telemóvel ou do tablet.
Em seguida, temos de selecionar os sensores de Deteção de Toque que se aplicarem ao projeto. Neste, usamos os sensores stage touch x para definir a coordenada X, e stage touch y para definir a coordenada y. Com isto, conseguimos que o nosso ator se mova quando tocarmos no ecrã, para o ponto onde o toque foi detetado.
Outros Sensores
Podes usar outros sensores que detetem valores de posicionamento X e Y. Por exemplo, os sensores de deteção de rosto detetam as coordenadas X e Y de um rosto detetado pela câmara.
Com este código, sempre que o telemóvel detetar um rosto, o personagem vai para as coordenadas dadas pela câmara. Ou seja, podes controlar um personagem com a tua cara.
Infelizmente, apenas virtual. Fomos aceites para participar na Maker Faire Galicia 2020, este ano a decorrer apenas online. Se por um lado se perde a componente de partilha presencial, por outro ganha-se a oportunidade dos alunos do clube estarem presentes e interagirem com colegas, projetos e público de outros países.
No primeiro dia educativo da Faire, um excelente e inesperado momento. A organização selecionou dez dos projetos educativos participantes que considerou mais inovadores, e fomos incluídos nessa lista. Os nossos alunos do clube de robótica tiveram de fazer uma rápida apresentação dos nossos projetos, em três minutos. Problema: apenas alguns são alunos de espanhol, e só tiveram dois meses de aulas. Como resolver?
É por estas atitudes que temos orgulho nos nossos alunos, e nos esforçamos por manter viva a possibilidade de fazerem algo fora dos currículos escolares. Entre eles, organizaram os tópicos, e com ajuda da professora de espanhol, prepararam aquilo que cada um ia dizer. Notem que isto foi preparado numa semana, nos tempos livres de alunos que só estão na escola durante o horário letivo, sujeitos às restrições pandémicas. E, no momento da apresentação, muito nervosos mas entusiasmados, representaram muito bem o clube de robótica e a nossa escola,
Foi um momento especialmente emotivo. Este ano, o clube está a funcionar em modo virtual, e o espaço Maker que os nossos alunos tanto adoram está sem uso. Os alunos apresentaram o clube no espaço do Centro de Recursos Poeta José Fanha. Este momento Maker Faire foi um regresso, pontual, onde eram notórias as saudades que os nossos alunos têm do espaço, das suas valências, e da convivência com os seus pares.
Foi também muito interessante ver os projetos que os alunos galegos apresentaram. Suspeito que os nossos tiraram ideias...
Nos dias seguintes, tínhamos agendadas sessões de apresentação abertas. À distância não tem tanto o sentimento de partilha do que estando lá, mas a riqueza desse espírito mantém-se. O segundo dia de Maker Faire Galicia, foi com o possível. Nenhum de nós estava na escola (foi fim de semana de recolher obrigatório a partir das 1300), e partir de casa, dinamizámos uma sessão de apresentação que, felizmente, decorreu em conversa e troca de ideias entre nós e os visitantes. Foi fundamental a ajuda preciosa de um dos nossos alunos, que dominou a sessão. Ainda bem, é esse o objetivo, a vantagem deste tipo de Maker Faire online é que se torna possível algo que de outra forma seria muito difícil: colocar os nossos alunos em contacto com realidades estrangeiras. Representámos bem a nossa escola, e o nosso país, creio. Quanto à barreira linguística, entre portugueses e espanhóis, se houver boa vontade, há compreensão.
Estar presente na Maker Faire já nos deixou imensamente contentes, é um privilégio ser aceite nestes eventos, partilhando e aprendendo. Termos sido incluídos num conjunto de projetos inovadores, foi algo que nos deixou ainda mais contentes. Mas a Faire ainda nos reservava uma surpresa: numa votação aberta ao público, que assinalava os projetos que os visitantes consideraram mais interessantes, ficámos em segundo lugar. Mais uma excelente surpresa, que nos dá ânimo para continuar, manter o espírito e a chama da criatividade na tecnologia. E, essencialmente, continuar a apostar nos nossos alunos, que de forma informal aprendem, desenvolvem os seus conhecimentos e capacidades, graças ao clube de robótica.
Entretanto, podem espreitam um pouco do que foi a Maker Faire Galicia aqui: Maker Faire Galicia 2020: Projetos em Destaque. Terminámos esta participação com alegria, e um sorriso algo triste por não termos regressado em pessoa. Faz falta um crepúsculo em Gaiás naqueles gelados fins de tarde da Galiza em novembro, com a cidade de Santiago a iluminar-se.
Porque é que nos metemos nestas coisas? Não é pela exposição e divulgação. Apesar de ser uma boa sensação concorrer com o nosso projeto a estes eventos e ser aceite, o que indica que temos qualidade suficiente na visão do júri das Faire, não é isso o que realmente nos motiva. É a experiência de partilha, e o saber que o estar presente numa Maker Faire se traduz em novas ideias e aprendizagens. Gostamos de estar lá não para nos verem, mas pela experiência, pelo que aprendemos e trazemos.
Este ano, estaremos a representar o Agrupamento de Escolas Venda do Pinheiro na Maker Faire Galicia. Infelizmente, devido à situação pandémica, não o faremos no espaço do Museu da Cultura Gaiás, nem teremos oportunidade para revisitar Santiago de Compostela. A Maker Faire vai decorrer online.
No entanto, isso é uma vantagem. Finalmente, vamos poder levar alunos a participar deste evento fora de Portugal. Elementos do Clube de Robótica irão representar-nos no concurso de projetos educativos, em que a organização nos incluiu, e serão co-moderadores das sessões abertas da Faire.
Outra vantagem é que através da internet, todos os interessados a podem visitar. Deixa de ser exclusivo para a região galega. Basta um registo no site da Maker Faire Galicia para poder visitar os projetos, assistir a demonstrações e participar em workshops.
Nos dias 20, 21 e 22 de novembro, estaremos online, a partilhar o que fazemos. Mas, essencialmente, estaremos a aprender.
Com a Drive, podes guardar, gerir, editar e partilhar os teus ficheiros. Ao enviares ou criares, ficam armazenados na nuvem. Isto significa que são acessíveis em qualquer computador, telemóvel ou tablet, desde que esteja ligado à internet.
Para além de guardar os teus ficheiros, podes partilhar facilmente com quem quiseres. Podes também criar documentos de texto, apresentações, folhas de cálculo e desenhos, entre outras funções.
Drive no Telemóvel/Tablet:
Neste vídeo, aprendes a utilizar a aplicação Drive no teu telemóvel ou tablet, para adicionar, editar, gerir, criar e partilhar ficheiros e documentos.
Drive no Computador:
Neste vídeo, aprendes a utilizar a aplicação Drive no teu computador, para adicionar, editar, gerir, criar e partilhar ficheiros e documentos.
Nestes desafios, vais programar um monstro que nunca pára, Ou um monstro que se multiplica sem parar. Arriscas estes desafios arrepiantes?
Desafio Halloween
Vamos fazer coisas assustadoras com programação? O desafio é criar programas de susto no Pocket Code. Este desafio tem dois níveis: Nível 1, simples, e Nível 2, complicado.
Nível 1: O Monstro Irrequieto
Neste vídeo, podes ver a sequência de ações para criares este programa. Vais trabalhar com eventos, ciclos (nas estruturas de controle) e movimento. Usando a opção Place Visually consegues posicionar visualmente o teu personagem nas coordenadas cartesianas, sem teres de te preocupar com os valores de X e Y.
Blocos do programa:
Com estes blocos, controlas a animação do personagem. Necessitas de um ciclo Forever, de Próxima Aparência e Aguarde Segundos.
Com esta sequência, controlas o movimento. Os blocos Posicionar Em e Planar Segundo estão na categoria Movimento. Para alterares as coordenadas das posições, toca no valor de X e escolhe a opção Place Visually. Não te esqueças de incluir um ciclo Forever para que o monstro seja imparável.
Nível 2: Monstros Infinitos
Neste vídeo, podes ver como é criado este programa. Vais precisar de trabalhar com diversos eventos: When Scene Starts, que define o que acontece quando o programa se inicia; e Quando Fores Criado como um Clone, que define o que acontece aos clones de um ator ou recurso. Precisas também do Cria um Clone de, que faz cópias de um ator ou recurso; e usar a Função Random, que gera números aleatórios, para poderes movimentar o ator e os seus clones.
Blocos novos:
Clonar: Podes encontrar estes blocos nas categorias Evento e Controlo. O clonar faz uma cópia do teu ator. Se estiver dentro de um ciclo infinito, faz cópias infinitas...
Função Random: Esta função gera números aleatórios. Vais ter de gerar números para os valores de X (coordenada horizontal) e de Y (coordenada vertical), para controlar as coordenadas para onde o teu monstro desliza. Dica: com o programa na vertical, podes colocar random( -500, 500 ) para os valores de X, e random( -900, 900 ) para os valores de Y. Com o programa na horizontal, podes colocar random( -900, 900 ) para os valores de X, e random( -500, 500 ) para os valores de Y.
Para usares a função random, tocas nos valores de X e de Y. No editor de equações, tocas em Funções e escolhes random(1,6) da lista. Depois, alteras os valores originais para os que quiseres.
Blocos do Programa
Com estes dois eventos When Scene Starts, controlas as ações do teu ator original.
Com estes dois eventos Quando fores criado como clone, controlas o que acontece aos clones do teu ator.
Se estiveste atento ao vídeo, reparaste que bastou copiar parte da programação. Há uma forma mais eficaz de fazer isso, criando procedimentos. Mais tarde, iremos aprendê-la.
E agora... divirtam-se a criar programas assustadores!
As tecnologias de reconhecimento facial estão ligadas ao campo da inteligência artificial. Combinando algoritmos de inteligência artificial, bases de dados de imagens de rostos e câmaras de vídeo, é hoje possível desenvolver aplicações que reconhecem indivíduos em qualquer local, ou analisam as expressões para determinar as emoções das pessoas, entre outros usos.
O Pocket Code não tem recursos avançados de Inteligência Artificial, mas tem uma função que, usando a câmara do telemóvel, permite à aplicação perceber se está a detetar um rosto.
Vamos usar a função is face detected para criar um programa que reaja sempre que a câmara detecte um rosto.
Programa que Deteta o Rosto
Vê atentamente o vídeo, que mostra os vários passos para conseguires criar este programa.
Código do Programa
Este é o programa completo. Usámos um personagem com dois trajes. Quando a função deteta um rosto, apresenta um dos trajes; se não o deteta, o personagem muda de traje. Ainda se usou a câmara como fundo do programa. Tudo corre dentro de um ciclo Forever (para sempre), senão o programa não funciona corretamente.
Blocos que Necessitas:
Aqui podes ficar a saber que blocos necessitas para este desafio.
Se.. Verdadeiro... Outro...
O bloco mais importante que necessitas é a condição Se... Verdadeiro... Outro. Esta condição permite-te programar ações que dependam do funcionamento de um elemento. Se o reconhecimento facial reconhecer um rosto (ou seja, é verdadeiro), então programas uma ação. Se for falso, programas Outro ação.
Esta condição está na categoria Controlo. Quando a aplicas, tens três blocos, e podes encaixar outros blocos entre cada um deles.
Is Face Detected
Para acederes à função Is Face Detected tens de editar o campo editável da condição.
Tocas nesse campo, e no editor de equações que aparece escolhes a opção Dispositivo. Esta é a que permite adicionar sensores do teu telemóvel como funções no Pocket Code.
Em seguida, consulta a lista de funções e procura na categoria Visual Sensors (sensores visuais)a função Is Face Detected.
Ativar a Câmara
Se reparaste atentamente no vídeo do desafio, a câmara é usada para complementar a ação do rosto detectado. Como usar?
Na lista de categorias de blocos, tens uma categoria denominada Device (também pode surgir como Dispositivo). Tocando nela, tens acesso a blocos que usam diretamente recursos do teu telemóvel.
Os blocos de cor verde controlam a câmara e o flash. O bloco Turn Camera permite-te controlar o ligar e desligar da câmara; o bloco Use Camera permite-te definir que câmara usar, se a frontal ou a traseira.
Diverte-te, explora, e cria programas giros. Como é que podes modificar o código deste tutorial para, por exemplo, fazeres com que o telemóvel cumprimente alguém sempre que o rosto é detetado?
Sábado, dia 24 de outubro, decorreu uma sessão de formação sobre robótica virtual com Open Roberta. Esta sessão decorreu como ACD integrada no plano de formação do CFAE Rómulo de Carvalho, Mafra.
Esta sessão estava originalmente prevista para decorrer no espaço do Centro de Recursos Poeta José Fanha, mas dada a situação pandémica, optou-se por um modelo de sessão à distância. No entanto, optei por realizar a conferência no espaço Maker do Centro de Recursos.
O objetivo desta sessão era o de explorar o Open Roberta enquanto forma de explorar programação de robots, especialmente dado que as regras sanitárias em vigor nos impedem de colocar nas mãos dos alunos artefactos tangíveis programáveis. A experiência adquirida nesta plataforma decorre do seu uso durante o confinamento, para desafiar os alunos a trabalhar com robótica à distância.
A sessão decorreu com uma sequência de aprendizagem, onde se exploraram diversas componentes de programação de robots: movimentos, ciclos e sensores. O que me surpreendeu foi a rapidez com que os formandos seguiram os desafios propostos. As dinâmicas de formação à distância são diferentes das presenciais.
O número de participantes não foi elevado (aqui por Mafra não é dada grande importância a estas áreas), mas vale sempre a pena estimular a descoberta destas experiências tecnológicas. Aliás, isso foi mesmo sublinhado por uma formanda, que referiu a importância de descobrir que estas ferramentas existem. É o primeiro passo. Daí pode partir o seu uso nas práticas letivas, ou não, se não forem relevantes para as estratégias pedagógicas.
Claro, os robots Anprino foram convidados especiais. Permitiram mostrar como transpor os conceitos e ideias aprendidos virtualmente para a programação de robots reais.
Terminou a nossa segunda atividade EU Codeweek 2020. O desafio agora foi para os alunos de sexto ano: recordar os conceitos de programação, e descobrir a programação de objetos tangíveis com micro:bit. O primeiro objetivo? Criar uma pequena animação.
A situação de pandemia leva a mais um desafio - estas atividades decorrem usando apenas dispositivos móveis. A sala TIC está encerrada, e os projetos são desenvolvidos em telemóveis e tablets.
A curiosidade ficou totalmente desperta com os novos blocos de som do Makecode. Confessamos que ainda não sabemos muito bem como os usar. Mas isso não impediu os nossos alunos de os experimentar.
Só ficou a faltar um passo, novamente impossível devido à situação pandémica: cada aluno testar o seu programa numa placa micro:bit.
Neste projeto, vais aprender a posicionar os teus atores com todo o rigor no Pocket Code, controlar os seus movimentos, descobrir as coordenadas cartesianas, e fazer com que um ator se mova de forma imprevisível. Isto pode ser útil para afinar animações, ou criar personagens automáticos para jogos.
Movimentos no Pocket Code
Para mover atores no ecrã, tens de os posicionar e definir como, e para onde, se movem. Podes definir isto visualmente, ou usando operações matemáticas. Vê aqui como:
Isto é possível porque o Pocket Code usa um sistema de Coordenadas Cartesianas para saber exatamente onde estão todos os atores e objetos.
Embora não te apercebas disso, este tipo de sistemas é fundamental para representar imagens 2D e 3D no ecrã do teu computador, tablet ou telemóvel. Sem ele, não conseguirias usar um rato, ou tocar no ecrã para usar o telemóvel.
Posicionar e Mover um Ator
Os blocos Posicionar permitem-te colocar o ator onde quiseres, no espaço do programa. Podes posicionar alterando os valores das coordenadas X e Y, ou colocando visualmente.
Para isso, tocas nos valores, e escolhes ou a opção Place Visually (coloca visualmente), ou Edit Formula (edita os valores).
Mover um Ator
O bloco Planar é um dos mais adequados para controlar o movimento dos atores. Podes definir coordenadas, colocar visualmente, ou usar coordenadas aleatórias. Podes alterar o tempo que demora a executar o comando, tornando o movimento mais suave.
Movimento Aleatório
Podes criar uma sequência com blocos Planar para que o teu ator se mova mais do que uma vez. Mas poderá ser melhor definir que o ator se move de forma aleatória. Com isso, usas um só bloco dentro de um ciclo, e o ator move-se para sempre (ou o número de vezes que definires) de forma imprevisível.
Para isso, vamos ter de usar uma função matemática: a Função Random. Esta permite gerar valores aleatórios dentro de um intervalo de números. Por exemplo, se definires que a função está entre os números 1 e 5, sempre que for executada dá-te um número ao acaso que pode ser o 1, o 2, o 3, o 4 ou o 5.
Para ativares a Função Random, tens de clicar nos valores de X e de Y, o que vai abrir o Editor de Fórmulas. Em seguida, clicas no botão Funções.
E selecionas random (1,6) da lista de funções.
Agora, terás de alterar os valores da função, para gerar movimentos aleatórios. Terás de alterar os valores das coordenadas X (horizontal) e coordenadas Y (vertical).
Mas quais são esses valores?
Coordenadas Cartesianas no Pocket Code
O Pocket Code usa um sistema de coordenadas para posicionar elementos no espaço. Podes visualizá-las, se ao correr o programa clicares na opção ativar eixos.
Os valores máximos podem variar de acordo com a resolução do teu telemóvel ou tablet. Neste exemplo, o eixo X varia entre -600 e 600, enquanto o eixo Y varia entre -926 e 926. Noutros telemóveis, estes valores poderão ser diferentes, de acordo com a resolução do ecrã. 0 é sempre o centro do espaço.
Repara que temos o ecrã na posição vertical. Se estivesse na horizontal, os valores seriam eixo Y entre -600 e 600, e eixo X entre -926 e 926.
Se no valor de X definires que random (-600, 600) e no valor de Y definires que random (-926, 926), sempre que o bloco for executado o ator desliza para um ponto ao acaso no ecrã.
Se colocares o Planar dentro de um ciclo para sempre, o ator vai estar constantemente a deslocar-se no ecrã de forma imprevisível. Nunca sabes para onde é que vai. Isso será decidido pelos números aleatórios que a função random gera.
Neste desafio, vais aprender a programar uma bússola no Pocket Code, tirando partido dos sensores do teu telemóvel.
Desafio: Criar uma Bússola
O Pocket Code permite-te tirar partido dos sensores do teu telemóvel para usar em projetos de programação. Neste desafio, vais aprender a usar o sensor bússola num projeto.
Vê aqui o código:
O código é muito simples. Precisas de um evento, e de um ciclo Para Sempre (Forever). Dentro desse ciclo, colocas um bloco Apontar na direção, e alteras o valor original para ir ler a bússola do telemóvel.
Para alterar os valores, clicas neles, e abre-se oEditor de Fórmulas. O sensor Bússola encontra-se no Dispositivo.
A lista de sensores varia de acordo com as capacidades do telemóvel. O de bússola é o direcao_bussola. Se não o encontrares, o teu telemóvel não tem esse sensor.
Como partilhar projetos no Makecode, e enviar a ligação para o projeto por correio eletrónico.
Usar um cabo OTG para ligar o micro:bit a um telemóvel ou tablet, e transferir um ficheiro HEX do Makecode para a placa micro:bit usando dispositivos móveis.
Transferir um ficheiro HEX do Makecode para a placa micro:bit no computador.