domingo, 15 de janeiro de 2017

Recolhendo dados do Astro Pi - temperatura, humidade e pressão

O objetivo da competição Astro Pi é recolher dados do meio ambiente e tratá-los, testando uma hipótese ou atuando de acordo com os dados obtidos.

Os sensores por onde será mais fácil para os alunos começar a recolha de dados são os sensores de temperatura, humidade e pressão, por serem estas grandezas valores escalares.

Para explorar estes sensores vamos recorrer à terceira aula disponibilizada pela Ciência Viva, programa Esero, realizando todos os exercícios até à página 10 do referido documento:



NOTA: detetámos uma gralha na página 9, na última linha do primeiro programa proposto nessa página, a mensagem "humidity" deve estar entre aspas, de forma a escrever na matriz de LED essa palavra. Para apresentar o valor da variável humidity, há que fazer:


A recolha de dados através do Sense HAT não se revela difícil, bastando para isso usar os comandos associados à recolha de dados dos sensores:


Relativamente à temperatura, os valores obtidos revelaram-se demasiado altos, o que poderá estar relacionado com o facto de estarmos a medir a temperatura junto ao equipamento, aquecido pelo processador e restantes componentes eletrónicos. Este é um problema sobre o qual nos vamos ter de debruçar mais tarde.

Quanto à humidade, grandeza fundamental para detetar a presença de cientistas no módulo Columbus - a missão primária sugerida pela ESA - fizemos alguns ensaios, registámos os valores num ficheiro csv (este tipo de ficheiro merecerá post posterior) seguindo tarefas indicadas no documento da Ciência Viva e obtivemos os seguintes resultados para três situações distintas - connosco fora do alcance do sensor; próximos do sensor; respirando para cima do sensor:


Agora há que explorar os dados...quando respiramos para cima do sensor, é evidente a alteração da humidade, mas os cientistas da ISS não estarão a respirar mesmo para cima do raspberry pi...será que o sistema de suporte de vida não reagirá suficientemente rápido para inverter o aumento de humidade gerado pela presença de cientistas? Como podemos relacionar a humidade com a temperatura (já que a humidade relativa depende da temperatura ambiente? Com o tamanho da Columbus será possível que a presença de uma pessoa no seu interior altere a humidade local? Tanto em que pensar...Bom trabalho!

O emulador do Sense HAT da Trinket

O estarmos dependentes do raspberry pi e do Sense HAT tem algumas desvantagens: em primeiro lugar, não temos equipamento suficiente para que todos os elementos da equipa o tenham disponível para treinar de forma autónoma, essencial num projeto desta natureza; em segundo lugar, a verdade é que toda a montagem do raspberry pi aos periféricos leva o seu tempo e por vezes é pouco prático para um teste rápido (não conseguimos ainda ter um conjunto monitor-rato-teclado dedicado ao raspberry pi...).

Assim, é uma enorme ajuda ter acesso a um bom emulador do Sense HAT que corra em PC. O emulador Trinket, desenvolvido pela Fundação Raspberry Pi em parceria com a empresa Trinket, uma sartup dos Estados Unidos, é uma ferramenta gratuita que permite simular um raspberry pi com Sense HAT diretamente num qualquer browser, sem necessidade de instalar programas.

Este emulador permite ainda que mais pessoas e mais escolas participem em futuras competições Astro PI, podendo desenvolver trabalho ainda antes de ter o equipamento do projeto. 




sábado, 14 de janeiro de 2017

Explorando a matriz de LED do Sense HAT

O sense HAT (HAT é o acrónimo de Hardware Attached on Top) é uma placa suplementar para o Raspberry Pi criado especialmente para o desafio Astro Pi. Enquanto equipa concorrente ao desafio, tivemos o privilégio de ter acesso a um sense HAT, mas é possível comprar uma destas placas por cerca de £25 em lojas especializadas, como a RS.

A placa Sense HAT
A placa Sense HAT está equipada com uma matriz de LED RGB 8x8, um joystick de 5 pontos e ainda os seguintes sensores: giroscópio, acelerómetro, magnetómetro, temperatura, pressão e humidade.

Para realizar programas em Python que explorem as potencialidades do Sense HAT, há que recorrer à livraria SenseHat, iniciando o programa com as seguintes linhas:


A livraria SenseHat permite-nos usar uma série de comandos úteis para dominar a placa Sense HAT. A ESA disponibiliza um bom resumo dos comandos disponíveis: 


São várias as estratégias de exploração do Sense HAT. A ESA tem publicada uma série de documentação muito interessante que pode ser explorada quer individualmente pelos alunos, quer em sala de aula. A documentação, em inglês, pode ser encontrada no site do raspberry pi.

A Ciência Viva, através do programa Esero, disponibilizou também um bom documento em português para explorar os comandos associados à matriz de LED:



Este documento é um ótimo exercício para iniciar os trabalhos com o Sense HAT, apresentando tarefas com dificuldade crescente e apelativas. É também uma boa forma de exercitar a programação Python e, como bónus, permite, através do uso dos LED RGB (red, green, blue), uma reflexão sobre a luz e a cor.

Despedimo-nos com um pequeno vídeo de um divertido exercício de programação da matriz de LED que fizemos - quem não reconhece o creeper do Minecraft?

terça-feira, 10 de janeiro de 2017

O Kit Astro Pi

O desafio Astro Pi 2017 passa por três fases distintas:


  • Fase 1 – Registo e submissão do projeto;
  • Fase 2 – Descoberta do kit Astro Pi, missões de design das experências e programação;
  • Fase 3 – Selecção das melhores experiências para serem utilizadas na ISS.

Às equipas selecionadas na primeira fase, é disponibilizado um kit Astro Pi que contém um raspberry pi, um sense hat (falaremos dele em post posterior), duas câmaras (uma normal, outra de infravermelhos). Contém ainda um carregador, um cartão de memória e um adaptador HDMI-VGA para permitir a ligação a monitores com entradas HDMI:

O kit Astro Pi

A disponibilização deste material é preciosa não só para a concretização do projeto, como para permitir aos alunos o contacto com equipamento de eletrónica a que não têm acesso no dia-a-dia. A riqueza deste projeto passa muito por aí - abrir horizontes a nível científico e tecnológico!



Primeiros passos em Python

São muitas as formas de aprender a programar (seja Python, seja outro tipo de linguagem). E, evidentemente, não é preciso um raspberry pi para o fazer. Neste projeto, no entanto, o objetivo é mesmo programar um raspberry pi, pelo que nos concentraremos nisso.

O inconveniente do raspberry pi é que nem sempre está disponível (no nosso clube temos dois que vão sendo emprestados semanalmente aos alunos, mas não dá para todos em simultâneo) e, estando, obriga à ligação do monitor e do rato e do teclado...por vezes, para treino, é mais simples usar simuladores que correm diretamente no PC (falaremos deles em post posterior).

O Ciência Viva, através do programa Esero, disponibilizou três boas aulas para introdução à programação em Python.

A primeira das aulas concentra-se apenas na programação Python. Caso não se tenha um raspberry, pode executar-se a aula num PC com o Python instalado.

É um bom exercício para um primeiro contacto com o raspberry pi e para começar a compreender a estrutura de um programa em Python, assim como a lógica do uso de livrarias. Os alunos não conseguiram cumprir esta aula em 90 minutos, mas cumpriram as tarefas sem dificuldades de maior.

Deixo o material disponibilizado pelo Ciência Viva:


Desafio 1 - Aprender a programar em Python!

Assim muito rapidamente: tirando o Cláudio e o Ricardo, que já tinham por iniciativa própria explorado um pouco sobre programação, nenhum de nós tinha escrito uma única linha de código!

O Astro Pi tem por objetivo programar um raspberry pi em linguagem Python e sem termos algumas bases de programação nessa linguagem, pouco há que possamos fazer.

Para nos ajudar, pedimos ajuda ao engenheiro Nuno Nunes, programador na empresa Densare, que se propôs a apadrinhar a nossa equipa ajudando-nos com a linguagem de programação.

Em dezembro, o eng. Nuno Nunes veio ter connosco à escola e tivemos oportunidade de ter uma sessão de formação para introdução à linguagem Python e de esclarecer algumas dúvidas. 

Foi ainda criado um fórum para partilharmos dúvidas e informações. Obrigado pelo apoio!

Sessão de formação em Python

Na nossa escola, tudo começou...

Na nossa escola, tudo começou no clube de robótica.

Somos uma equipa de alunos que frequentam o clube de robótica da Escola Secundária D. João II, em Setúbal. Numa sessão do clube, em novembro, a professora Ana Carneirinho apresentou-nos os objetivos do projeto, o trabalho a desenvolver, as datas mais importantes para cumprimento de tarefas.

Um grupo de dez alunos mostrou-se interessado em participar no projeto e cada um de nós enviou para a professora um pequeno texto sobre o motivo porque gostaríamos de pertencer à equipa Astro Pi. E as principais razões apontadas foram as seguintes:
  • O facto de ser um desafio e uma oportunidade de trabalhar em verdadeiro ambiente de projeto;
  • Por ser uma oportunidade de desenvolver competências a nível da programação e eletrónica, imprescindíveis para alunos que querem seguir a área da engenharia;
  • Porque saber mais sobre o espaço e a tecnologia a bordo da ISS é uma forma de alargar o conhecimento científico dos alunos;
  • É a primeira vez que os alunos participam numa competição europeia - é uma forma de saber o que se faz em escolas de outros países e até entrar em contacto com alunos de outras nacionalidades.
O nome da equipa foi escolhido por nós - o nome da nossa cidade escrito ao contrário.

E foi com entusiasmo que recebemos a notícia de que tínhamos sido selecionados para participar no desafio europeu!

A equipa Labutes Pi