sábado, 9 de janeiro de 2016

Partilhas

A convite da ANPRI, tive a oportunidade de partilhar durante uma manhã a minha experiência na programação de arduinos em Scratch com um grupo de professores de Informática com o intuito de criar uma bolsa nacional de professores preparados para realizar workshpos de arduino e Scratch  em várias escolas do país.

A formação decorreu na Fundação Portuguesa das Comunicações, na Sala do Futuro, estiveram presentes professores do Porto ao Algarve e ainda três elementos da própria Fundação.

É claro que com este público-alvo o ritmo da formação foi em passo rápido. Saídas e entradas digitais, entradas analógicas, LED, sensor de luminosidade, botão de pressão, programação de pequenos projetos...até eu fiquei espantada com o que foi possível abordar (e montar, e programar) em menos de três horas! 

Espero que os envolvidos tenham sentido o tempo tomado como útil. Para mim, partilhar é sempre um prazer! 



domingo, 20 de dezembro de 2015

BlocklyDuino - primeiras impressões

Depois de dois ou três circuitos para testar o BlockyDuino, deixo as minhas primeiras impressões:


  • O recurso ao botão upload torna-se inviável por duas razões: por um qualquer bug (que será certamente remediado em novas versões), existe um efeito de cache de programas anteriores, pelo que com frequência o programa é alterado e, no momento do upload, essa alteração não se verifica; a conversão para C está sempre sujeita a erros que não podem ser alterados na janela C do BlockyDuino. A solução passa por copiar o código C gerado para o interface do Arduino e fazer debuging e upload a partir daí.
  • Não nos sendo possível definir o tipo das variáveis que criamos, o código C gerado assume-as sempre como tipo int, o que gera erros caso, por exemplo se incremente uma variável por 0,5 (o programa assume a parte inteira de 0,5 e nao há incremento nenhum).

Estas observações não tiram o valor ao software. Continuo a achar que pode ser uma ótima ferramenta de ensino e que merece ser explorado.


BlocklyDuino

Quando iniciei o projeto de exploração de programação de arduino com linguagens acessíveis a crianças e jovens, lancei-me no Scratch por ser uma linguagem com a qual eu já tinha tido contacto e por ser o software lecionado atualmente nas aulas de TIC e que, por isso, os alunos já conheciam.

No entanto, à medida que os trabalhos evoluiam, tornou-se evidente que, se o Scratch é ótimo para uma primeira abordagem à programação de arduino (permitindo de forma lúdica a apropriação de conceitos como entrada/saída, digital/analógico, atuador/sensor), rapidamente começamos a sentir necessidade de um software menos limitado. São várias as razões:
  • Os projetos realizados em S4A estão sempre dependentes da ligação ao computador. Não é, por isso, possível criar projetos autónomos, ligados apenas a uma pilha, ou que necessitem de mobilidade, como um carrinho, por exemplo;
  • As entradas e saídas estão pré-definidas, limitando o tipo de projetos que podemos fazer;
  • A comunicação com o computador é lenta, o que complica a realização de projetos que envolvam componentes que necessitem de comunicar rapidamente com o computador, como me aconteceu quando quis usar o sensor de ultrassons SR04.
Para além destas limitações, tenho a intenção de começar a trabalhar com alunos do secundário e andava à procura de uma aplicação que fizesse a transição entre o Scratch e o C.

Foi assim que acabei por encontrar o BlocklyDuino, uma plataforma de programação por blocos, muito semelhante ao Scratch, que gera automaticamente o código em C.

O BloclyDuino corre diretamente num browser, pelo que pode correr a partir de um site ou do próprio computador.

Para correr o software a partir do site, basta aceder ao endereço:

Para correr o software a partir do próprio computador, há que fazer o download da pasta zip disponível em https://github.com/BlocklyDuino/BlocklyDuino. Depois, selecionar dessa pasta o ficheiro blockly/apps/blocklyduino/index.html e abri-lo num browser.

Estamos em condições agora de programar em BlocklyDuino. O inconveniente do software tal como está é que não faz o upload diretamente para o arduino. É necessário copiar o código C para o software original do Arduino e fazer o upload a partir daí.

Se quisermos fazer o upload a partir do BlocklyDuino, temos de ter instalado no computador  o interpretador Python (versão 2.7)  - o download do Python é feito a partir de
https://www.python.org/. Depois do Python instalado, há que correr o ficheiro que se encontra na raiz da pasta do BlocklyDuino: arduino_web_server. Ao clicar duas vezes no icon deste ficheiro, é criado um servidor web que pode ser acedido pelo endereço indicado: http://127.0.0.1:8080/ . Ao abrir esse endereço num browser, encontramos o ambiente BlocklyDuino a que já tínhamos acedido mas cujo botão "upload" já funciona.

Para testar o Bloclyduino, fiz um programa simples de um pisca com um LED ligado à saída digital 13. 

O programa em blocos:


O programa em C gerado pelo BloclyDuino:


De seguida, foi só clicar em "upload"...e pisca-pisca a funcionar!

Imagino que este software possa ser muito util para a introdução à linguagem em C, uma vez que os blocos têm já uma linguagem mais próxima do C que o Scratch. O BlocklyDuino não permite alterações diretamente no código C gerado, mas, caso se queira explorar esta possibilidade, basta copiar o código para o software Arduino e trabalhar a partir daí. 

Muito, muito entusiasmada com esta descoberta! Isto sim, é todo um outro mundo!

Teclado de bananas

Foi-me pedido que preparasse uma ação de formação em arduino programado em Scratch para professores do 1º ciclo. Esta proposta pôs-me a pensar em aplicações de arduino que alunos do 1º ciclo pudessem achar graça. Uma pesquisa rápida levou-me a um pequeno projeto (à venda por 25£), o banana piano, que achei que podia implementar facilmente com o material que tenho em casa (as bananas tive de ir ao supermercado de propósito para as comprar, confesso...)

A ideia é muito simples. Cada entrada analógica é ligada, através de um resistência de 2 Mohm (eu só tinha em casa resistências de 1 Mohm e por isso liguei duas em série) à tensão de 5V e, em simultâneo, à banana (furei simplesmente cada banana com o fio). Se não tocarmos na banana, esta encontra-se "no ar" e por isso não conduz corrente - a entrada analógica estará a 5V; no entanto, quando tocamos na banana e, com a outra mão, no fio ligada à terra (0V ou GND), passamos a conduzir corrente e o valor da entrada analógica desce, detetando o nosso toque.

Como só temos 6 entradas analógicas à disposição, ficamos espartilhados a 6 notas musicais. Mas, se aproveitarmos as 2 entradas digitais disponíveis no S4A, podemos ter uma escala completa, com 8 notas musicais. Faço essa proposta de trabalho na segunda parte da apresentação eletrónica que apresento de seguida.

Deixo a minha proposta de trabalho para o circuito eletrónico e o programa em Scratch:


...o circuito esquemático...


...e um vídeo com uma demonstração musical do teclado construído (bravíssimo!):




domingo, 18 de outubro de 2015

Dia da Programação e Robótica

Foi no dia 17 de outubro que decorreu, na Escola Secundária D. Dinis, em Lisboa, o Dia da Programação e Robótica, forma escolhida pela Direção-Geral da Educação (DGE), em parceria com a Associação Nacional de Professores de Informática (ANPRI) para celebrar a Code Week 2015 - Semana Europeia da Programação, uma iniciativa da Comissão Europeia.

Este evento teve como objetivos promover o ensino das diferentes linguagens de programação e suas potencialidades para a aprendizagem dos alunos, assim como divulgar e partilhar as experiências que têm vindo a ser realizadas um pouco por todo o país...objetivos cumpridíssimos!

Foram 22 as escolas que compareceram expondo os seus trabalhos - D. João II, incluída -  e outras ainda que partilharam experiências em vários painéis que foram sucedendo ao longo do dia.

A exposição foi dominada por robôs, arduinos, programação e muita, muita criatividade! Uma partilha do tanto que se faz pelas escolas nacionais e que tantas vezes não sai das quatro paredes da sala de aula...os participantes, professores e alunos de todas as idades, puderam partilhar experiências, dificuldades e saberes-fazer. E eu gosto tanto, tanto de ver o conhecimento assim partilhado sem reservas nem complexos!

Nós, claro, levámos os nossos dois projetos, o blog, e muita vontade de conhecer quem explora caminhos similares. E que trouxemos? Muitas ideias, muitos contactos e a sensação de um dia muito frutuoso. Tão bom!

O espaço de exposição da D. João II

Alguns dos muitos trabalhos da área de exposições


O Clube de Robótica da Escola Básica São Gonçalo, de Torres Vedras, dominou a mostra de projetos educativos que decorreu no pavilhão desportivo. Futebol robótico, busca e salvamento, danças robóticas...um verdadeiro espetáculo !

sábado, 17 de outubro de 2015

Abertura do ano letivo 2015/2016

Ao contrário do que fizemos o ano passado, em que "tomámos de assalto" a aula de Informática do 8º ano vocacional, este ano a ideia é criar um espaço de trabalho em regime de clube para alunos interessados na área.

Por limitações de horário, tal só poderá começar no 2º período. Este primeiro período será usado para planificar as atividades e preparar novos materiais.

E para apresentar o clube a eventuais interessados, nada melhor...que permitir que todos os alunos tenham oportunidade de experimentar!

Assim, na passada 5ªF a biblioteca da escola foi requisitada para a turma do 10ºA da escola. 30 alunos divididos em grupos de 3 para trabalhar com os 10 arduinos que a ANPRI nos emprestou. Nunca tinha trabalhado numa sessão com tantos alunos, o currículo dos atuais alunos de 10º ano não contemplou o Scratch, a área de computadores da bilbioteca é reduzida, e por isso estava um pouco receosa. Mas correu bem! Os alunos desta faixa etária têm já uma maturidade que lhes permite adaptar-se a novos contextos e foi com facilidade que resolveram as atividades propostas.

No final da sessão, foram vários os que se manifestaram interessados em integrar um clube de eletrónica e programação.

Deixo a proposta de trabalho que explorei nesta sessão (uma adaptação das aulas 1 e 2 que preparei no ano passado), e que repetirei para as restantes 3 turmas do 10º ano de Ciências e Tecnologias nas próximas semanas:
 

Como nota final, refiro a importância de dar a oportunidade a todos os alunos de tomarem contacto com a área da eletrónica e programação. A esmagadora maioria dos alunos nunca teve oportunidade de montar um circuito - nunca saberá se tem gosto ou aptidão por esse tipo de trabalho, pelo que a constituição de clubes apelando apenas a uma inscrição voluntária pode pecar por deixar de fora jovens com aptidão natural para a área mas que ignoram a sua própria aptência.

quinta-feira, 8 de outubro de 2015

Lisbon Maker Faire

Ainda que com algum atraso, não podia deixar de registar a nossa passagem pela Lisbon Maker Faire. A Maker Faire é o maior espetáculo de "mostra e conta" do mundo; é um local de partilha do que se anda a fazer, num espírito de abertura e troca de experiências com que muito me identifico.

A Maker Faire decorreu entre os dias 18 e 20 de setembro, no Pavilhão do Conhecimento, e contou com cerca de 14000 participantes, 262 makers, tendo contado também com 25 workshops (a que não fui mas gostaria de ter ido!).

Integrando o espaço atribuído à ANPRI (Associação nacional de Professores de Informática), sob o tema "Trabalhos com Arduíno", a Escola Secundária D. João II esteve representada, entre outras escolas, com os projetos de arduíno programados em Scratch que fizemos no último ano letivo. E foi muito gratificante ver os mais pequenos virem espreitar os nossos trabalhos e reconhecerem de imediato a programação em Scratch que expúnhamos no portátil em destaque.

Alguns dos projetos expostos no espaço gerido pela ANPRI

Foram dias de partilha e orgulho pelo muito que se faz pelo país fora (e tanto que se faz...). Um espaço de carolice, de boa vontade e com muita gente que gosta de pensar diferente e meter mãos à obra...

No final do encontro, trouxemos para casa contactos, ideias novas...e ainda um prémio de mérito!

Prémio de mérito atribuído à ANPRI pelo seu trabalho na área da Educação