terça-feira, 2 de fevereiro de 2016

Espaço Programação e Eletrónica - Servo Motores

Quando a ideia é encaminhar os trabalhos de forma a que os alunos estejam aptos a desenvolver os seus próprios projetos, a exploração dos servo motores é essencial, já que é um componente relativamente barato que pode ser usado de forma simples e com várias aplicações (cancelas, braços de robôs, apontadores...).

O controlo de servo motores é muito fácil a partir do S4A. O interessante é a elaboração de programas em que os servo motores sejam um componente de um circuito maior, com um fim específico.

Nesta sessão, há a registar:
  • Os alunos estão já a fazer as suas ligações em breadboard partindo do circuito esquemático - são alunos que nunca tinham trabalhado com circuitos eletrónicos e estão a fazê-lo depois de apenas três sessões. Estou muito motivada com esta evolução!
  • O facto de eu me ter envolvido muito menos nos seus trabalhos. A montagem de circuitos precisou já de muito pouco apoio e o desenvolvimento em S4A do exercício sugerido, de um grau de dificuldade maior que nas sessões anteriores, foi feito de forma muito autónoma, na base da experimentação e da tentativa - erro.

A base de trabalho foi uma exploração de programação de servo motores em S4A que realizei o ano passado e que adaptei.

Deixo a seguir a apresentação eletrónica que apliquei nesta sessão. Até breve!




quarta-feira, 27 de janeiro de 2016

Arduino na Escola...e nas redes sociais!

Este blog surgiu como plataforma de partilha das experiências que tenho realizado na exploração da programação de arduinos utilizando o Scratch. No âmbito deste trabalho, surgiu o Clube de Robótica da Escola Secundária D. João II, a interação com alunos aumentou, os trabalhos vão-se diversificando e por vezes sinto que tenho outras partilhas a fazer que não cabem neste espaço, que o desvirtuariam.

Assim, criei uma página no Facebook dedicada ao ensino da programação e eletrónica. Para além da publicação dos materiais disponíveis no blog, a ideia é fazer crescer este espaço com partilhas de eventos, atividades e materiais complementares. 

Caso queiram aparecer...sejam bem vindos!


terça-feira, 26 de janeiro de 2016

Espaço Programação e Eletrónicas - Entradas analógicas

Mais uma semana, nova sessão do Espaço Programação e Eletrónica na Escola Secundária D. João II. O dia estava frio e chuvoso e eu receei que o conforto de uma tarde em casa levasse a melhor sobre uma sessão de arduino na escola, mas foi com prazer que pude contar com 10 entusiastas...

Para esta sessão, adaptei a Aula 4 que tinha preparado o ano passado. Fazendo a comparação com o público-alvo do ano passado, não posso deixar de notar a facilidade com que estes alunos repetem as ligações que aprenderam em semanas anteriores. As ligações de LED são já um dado adquirido e há alunos com uma capacidade muito grande de arrumar já os circuitos na breadboard, tornando-os compactos e facilmente compreensíveis. Alguns alunos começam também a interpretar de forma natural os circuitos esquemáticos que vou apresentando (e nesta fase estou a apresentar primeiro o esquemático para interpretação, e depois mostro a vista de breadboard para que procedam à montagem nos seus lugares).

Quanto à programação, nota-se um aumento de autonomia. Todos os alunos cumpriram as tarefas propostas, sendo que nem foi necessário mostrar uma solução para o último exercício - todos os alunos o cumpriram de forma autónoma e praticamente sem ajuda.

Deixo a apresentação explorada nesta sessão:



segunda-feira, 18 de janeiro de 2016

Espaço Programação e Eletrónica - Entradas e saídas digitais

De acordo com o previsto, iniciou hoje, no âmbito das atividades do Clube de Robótica da Escola Secundária D. João II, o Espaço Programação e Eletrónica tendo por público-alvo alunos de 10º ano de Ciências em regime de voluntariado.

Durante o primeiro período, foram realizadas workshops de introdução à programação de arduinos a todos os alunos das quatro turmas de 10º ano da área de Ciências e Tecnologia e ainda uma sessão a uma turma do 11º ano (a sessão realizada ao 11º ano esteve inserida na iniciativa Hour of Code), num total de 150 alunos.

No início do 2º período, fui à sala de aula de cada um dos 10º anos, informei quanto ao horário deste espaço e fiz o levantamento dos alunos interessados em frequentá-lo. Fiquei assim com 21 contactos, para os quais enviei um email mais pormenorizado quanto à minha proposta de trabalho. 15 desses alunos estiveram presentes na primeira sessão que hoje decorreu.

Devo referir que, de forma a conciliar horários, a sessão ficou marcada para a tarde livre de cada uma das turmas envolvidas, o que, reconheço, não é simpático para alunos do secundário, que têm já uma carga horária tão preenchida...

Dito isto...hoje tive o prazer de realizar uma sessão de programação de arduinos para um grupo de alunos francamente interessado e com um ritmo de trabalho muito promissor. Os trabalhos decorreram na biblioteca da escola, o que me agrada por sair do ambiente de sala de aula, ser um espaço mais aberto, onde os nossos trabalhos podem co-habitar com outras atividades e outros alunos que por ali passam e ali desenvolvem outras tarefas. Um ambiente menos formal e mais arejado, enfim.

Para este público-alvo, adaptei a aula de entradas e saídas digitais que preparei o ano passado, avançando já com o código de cores das resistências e desenho esquemático. A leitura do desenho esquemático para este nível etário parece-me fundamental, já que são estes os alunos que começarão a procurar projetos na net e é evidente que o que encontrarem estará em esquema e não em vista de breadboard, pelo que esta será uma competência importante a desenvolver.

Deixo a apresentação que explorei hoje e cujas atividades foram cumpridas por todos os grupos numa sessão de 90 minutos.



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!