quinta-feira, 14 de julho de 2016

Laboratório de física para todos - vamos fazer um digitímetro!

Um digitímetro consta de uma célula fotoelétrica ligada a um marcador de tempo. É usado geralmente para medir o tempo de passagem de um objeto para, a partir desse tempo e das dimensões do objeto, os alunos fazerem o cálculo da velocidade com que o objeto passou num determinado ponto. Sendo um aparelho recomendado em várias experiências de Física do ensino secundário é, pelas escolas que fui passando, um aparelho considerado caro, por vezes demasiado complicado para as tarefas habituais, e que existe em pouca quantidade, pelo que geralmente é feita uma única montagem para todo um grupo de alunos em vez de várias montagens, o que permitiria o trabalho em grupos mais pequenos.

O aspeto de um digitímetro que costumamos encontrar nas nossas escolas (e que ilustra um protocolo experimental proposto pela editora Areal) é o seguinte:



Não querendo parecer esquisita, nunca percebi porque é que o digitímetro é nos nossos laboratórios um aparelho tão pesado, com tantos fios, pouco portátil, demasiado caro para estender o seu uso a níveis de ensino mais precoces...e por isso, achei que conseguia fazer um com um arduino e um PIR.

Material usado: arduino, breadboard, fios de ligação, plug-in para uma pilha de 9V, LCD 1602, sensor PIR.

Para ficar com uma ideia de qual o custo unitário deste digitímetro, fiz uma busca rápida pelo aliexpress e consegui um kit básico de arduino com a placa UNO, a breadboard, fios de ligação e plug-in para a pilha por 5,08€;  um LCD (já com os pinos soldados) por 1,77€ ; um sensor PIR por 0,31€. Podem dar jeito alguns fios com extremidades macho-fêmea (para poder afastar o sensor PIR da breadboard) - conseguem-se 40 cabos de 20 cm por 0,83€. Conseguimos pois, mandando vir o material pelo aliexpress, todo o projeto por 7,99€. E ainda sobrarão muitos cabos para projetos futuros...

Quanto ao esquema, há que ligar devidamente o LCD, o que foi estudado em post anterior, e o PIR. Nesta montagem, optámos pela solução de ligar o pino 3 do LCD (que define o contraste) à saída PWM do arduino (D6) em vez de o ligarmos a uma resistência variável. A saída do PIR foi ligada à entrada digital 13 do arduino (D13). O esquema que proponho é o seguinte:


E a programação? O programa de um digitímetro não tem nada de complicado. Para o compreender, há que rever o funcionamento do PIR e do LCD. Basicamente, a ideia é esperar que o PIR, ligado à entrada 13 do arduino, altere o seu estado de HIGH para LOW (o que revela a presença de um obstáculo dentro da zona sensível do PIR) e medir o tempo até que o sinal volte novamente a HIGH. Esse tempo corresponderá ao da passagem do obstáculo em frente do PIR. O ângulo de deteção é de 35º, razoavelmente pequeno; ainda assim, deve tentar-se que a distância entre o objeto e o PIR seja a menor possível para minimizar o erro na medida devido a esse ângulo. Relativamente aos programas anteriores a única função nova é millis(), cuja descrição pode ser encontrada no site do arduino.

Deixo aqui o programa integral:


Finalmente, partilho um vídeo com o digitímetro em funcionamento:


domingo, 10 de julho de 2016

Introdução à linguagem C - exploração do LCD 1602 (ou como fazer um ohmímetro)

Há algum tempo que estou para explorar o uso de LCD em circuitos programados com arduino. Na verdade, tenho um projeto em mente, mas precisava antes de estudar o uso destes componentes eletrónicos.

Antes de mais, displays há muitos...usei um vulgar, o 1602, que se encontra no mercado nacional por valores que rondam os 7€ e no aliexpress por valores inferiores a 2€ . Enfim, um componente acessível com um potencial importante em projetos que envolvam a interação com o utilizador.


Começo por referir que a maioria dos displays comprados precisa de ser soldado a uma barra de 16 pinos para permitir a ligação à breadboard. Se está a pensar comprar o LCD e não tem recursos de soldadura, justifica pesquisar e pagar mais por um LCD com a barra de pinos já soldada. Na net é possível encontrar tutoriais sobre soldadura de LCD.


A principal vantagem deste LCD é que, usando um driver compatível com o Hitachi HD44780, partilha a pinagem com um grande número de LCD (que são geralmente reconhecíveis por terem 16 pinos) e tem à sua disposição livrarias incluídas já no software do arduino que tornam a sua programação bastante acessível.

A pinagem e a montagem de circuitos entre o LCD e os arduino estão ilustrados na apresentação eletrónica que se segue; também as principais funções associadas à livraria usada para programar com estes LCD estão aí explicadas. Vale a pena acrescentar que, ao contrário de que foi feito nos tutoriais que consultei, é possível prescindir da resistência variável que controla o contraste do LCD - a solução passa por usar as saídas PWM do arduino e está descrita no site BR-Arduino.org.

Acho que merece maior explicação a última tarefa proposta na apresentação eletrónica, a construção de um ohmímetro. Como a estratégia de resolução pode não ser evidente para quem tenha menos prática de eletrónica, vou explicá-la com algum detalhe:

O caminho que proponho é o recurso ao um divisor de tensão. Um divisor de tensão é uma técnica de projeto utilizada para gerar uma tensão elétrica proporcional à tensão de alimentação (e que encaminharemos para a entrada analógica A0):


No projeto em concreto, Vin é ligado à tensão de alimentação, 5V, R1=10 kohm, Vout é ligado à entrada analógica A0 e R2 é a resistência cujo valor se pretende medir:


Claro que o valor lido na entrada A0 não está em volt, mas num valor entre 0-1023, pelo que é necessário, a partir de uma regra de 3 simples, e antes de resolver os cálculos referidos anteriormente, converter o valor lido diretamente em A0 para tensão de valor entre 0-5V.

Em resumo: depois de ligar o divisor de tensão à entrada analógica A0, há que:

  1. Medir o valor da entrada A0 (que estará entre 0-1023);
  2. Converter o valor anterior para tensão: 
  3. Calcular o valor da resistência R:
  4. Enviar o valor de R para o display LCD;
  5. Fazer um delay (eu fiz de 1s) antes de nova medida.

Deixo a apresentação eletrónica com a introdução ao estudo do LCD 1602...



...e um pequeno vídeo com o nosso ohmímetro em funcionamento:

sexta-feira, 8 de julho de 2016

Arduino+Scratch - Workshop para professores

Eu gosto de ser professora. Não gosto de ser professora só por gostar de lidar com jovens (qualquer professor deve gostar de lidar com a faixa etária com a qual trabalha...), mas especialmente porque reconheço na profissão de professor algumas caraterísticas que não são vulgares noutras saídas profissionais:
  • Não há sigilo profissional. Tudo o que é feito é do domínio público. Todos os materiais que produzimos são dados aos alunos e, consequentemente, à comunidade; as atividades que realizamos com os alunos são sempre passíveis de serem observadas por terceiros;
  • (Ainda) há um importante espaço de experimentação, de "vamos tentar", de trilhar novos caminhos em termos didáticos e científicos;
  • A partilha entre colegas. Em sala de aula o professor é o maestro, o que poderá levar a crer que este é um trabalho solitário. A verdade porém é que, caso o ambiente de escola seja saudável, o trabalho do professor se faz de muita partilha de experiências e de materiais entre colegas;
  • O meio interdisciplinar em nos movemos. Dificilmente encontramos um espaço mais rico que a escola em termos de co-habitação de profissionais com conhecimentos tão distintos.
Dito isto, sublinho o prazer que é para mim partilhar o caminho que fui fazendo na programação de arduinos com Scratch. Não pretendo sobrevalorizar o trabalho que tenho vindo a realizar, outros colegas terão experiências riquíssimas a descrever, mas gosto de partilhar o que faço e os materiais que crio. Se houver colegas que os possam aproveitar noutros contextos, se puderem trabalhar sobre o que já fiz (tal como eu pesquiso e trabalho sobre os percursos de outras pessoas), se lhes for útil o que fui pesquisando e experimentando...isso é para mim o maior elogio ao meu próprio trabalho!

A primeira workshop para professores com o objetivo de introduzir a programação de arduinos com linguagem Scratch foi realizada este ano, em janeiro, na Fundação Portuguesa das Comunicações. Mais tarde, recebi o convite para realizar nova worshop no evento TIC@Portugal'2016, no dia 1 de julho, e nessa altura preparei uma workshop que reproduzi na minha escola no dia 6 de julho.

Fiquei assim com uma workshop "montada" para eventos futuros. O público-alvo são professores de qualquer área e nível de ensino e não precisam de ter bases nem de eletrónica nem de programação (embora conhecer o Scratch seja uma mais valia). O tempo de duração é de cerca de 2,5 horas

Nesta workshop faz sentido contextualizar o ensino da eletrónica e da programação como uma área muito pouco explorada no ensino regular. Esta lacuna penaliza os alunos que querem seguir a área das ciências e e das engenharias, mas também os alunos que, tendo vocação para a área, não vêm os seus talentos valorizados nem desenvolvidos; a programação e a eletrónica são também bases sólidas para trabalhos de projeto que não têm vindo a ser exploradas na maioria dos contextos escolares.

Convém também identificar as vantagens de começar pelo arduino (que é fácil de programar, é versátil e opensource - o que reduz o preço de fabrico) programado em S4A (porque a linguagem em Scratch é muito mais acessível que o C, e porque a maioria dos nosso alunos já tem contacto com Scratch no ensino básico).

Na proposta de trabalho, são exploradas, por esta ordem, as saídas digitais, as entradas digitais e as entradas analógicas. Depois de cada um destes itens estudados, faz sentido apontar um projeto possível com os conhecimentos adquiridos (um semáforo, luzes de árvore de Natal cujo padrão com que acendem muda sempre que é premido um botão, o controlo das luzes de uma casa através da luminosidade ambiente...).

A ideia é ser uma workshop muito "mão na massa", uma apresentação geral das potencialidades da programação de arduinos com Scratch, mas é evidente que apenas abre caminhos - os professores interessados terão depois de investir na área - e deixa muitos componentes importantes de fora, como os servomotores, por exemplo.

Deixo o material necessário por grupo de trabalho: 1 computador com os softwares do arduino e do S4A instalados; 1 breadboard; 1 arduino + cabo de ligação ao PC; cabos de ligação; 3 LED (vermelho, verde e amarelo); 3 resistências 220 ohm; 1 resistência 10 kohm; 1 botão de pressão; 1 resistência variável; 1 fotorresistência...

...e deixo também a apresentação eletrónica explorada:



terça-feira, 5 de julho de 2016

TIC@Portugal'2016

Foi no dia 1 de Julho que se realizou o evento TIC@Portugal'2016, uma iniciativa da Associação EDUCOM - APTE (Associação Portuguesa de Telemática Educativa).

O objetivo do TIC@Portugal é refletir sobre as práticas do uso das TIC na Educação, divulgando e debatendo a utilização das TIC nos processos de ensino e de aprendizagem. Este é um evento de caráter nacional e descentralizado, tendo decorrido, em simultâneo, sessões no Monte da Caparica, em Vila Real de Santo António, Braga, Bragança, Coimbra, Mangualde, Santarém e Setúbal. O programa completo pode ser consultado aqui.

Marcámos a nossa presença em Setúbal partilhando a nossa experiência na programação de arduinos através de Scratch. De manhã, promovemos a comunicação "Arduino e Scratch - uma experiência"; à tarde dinamizámos uma workshop de introdução à programação de Arduino em Scratch.

O que mais aprecio nestes eventos é terminar o dia com a certeza que, se já muito se faz nas nossas escolas (tantas vezes sem a visibilidade e o reconhecimentos devidos), o potencial para se fazer mais ainda é enorme - há um grupo importante de professores que tem vontade de fazer mais, de aprender mais e de trilhar novos caminhos...

Por vezes dou por mim a pensar no que seria a escola se aos professores se desse mais liberdade. Mais liberdade em termos de estratégia mas, especialmente, mais liberdade em termos curriculares. Se fosse possível deixarmos de estar tão espartilhados em termos de programas e de exames com metas minuciosas para cumprir. Se passasse por nós a decisão sobre o que é de facto importante para o futuro de cada grupo de alunos. Por vezes dou por mim a pensar...não é um lamento, é mesmo a importância de repensar a educação do futuro.

Quanto à nossa participação no TIC@Portugal'2016, deixo de seguida alguns registos fotográficos.

A comunicação "Arduino e Scratch - uma experiência", no auditório da Escola Superior de Educação de Setúbal

Na nossa workshop de introdução à programação de Arduinos em Scratch, foi um privilégio trabalhar com professores de áreas tão distintas como 1º ciclo, TIC, Matemática e Biologia. E perceber como é possível usar a eletrónica e programação como base de trabalho de projetos em áreas curriculares tão diversificadas. Obrigada a todos!