terça-feira, 9 de fevereiro de 2016

Construção de um termómetro

Há já algum tempo que tinha a ideia de construir um termómetro cujos valores medidos fossem indicados através de um servo motor.

Porque era o que cá tinha em casa, usei como sensor de temperatura um TMP36. Através da análise da respetiva datasheet, é possível obter a respetiva pinagem (o meu sensor é do tipo TO-92) e as curvas caraterísticas:


Da análise das figuras 5 e 6, apercebemo-nos que o TMP36 é linear entre os 0ºC e os 100ºC (aproximadamente). Eu decidi escolher como valores limites do meu termómetro os 0ºC e os 50ºC.

Liguei então o TMP36 à entrada analógica A0, o servo motor à saída D8 e os LED verde e vermelho às saídas D12 e D11, respetivamente. Sem que consiga explicar porquê, a minha experiência diz-me que, com servo motores ligados, a saída D13 deixa de funcionar devidamente e por isso evito usá-la em projetos com servo motores.

A primeira versão do projeto mostrou-se muito instável, com o sensor a saltar repentinamente para valores incoerentes. Tentei estabilizar o seu funcionamento, ligando dois condensadores na alimentação tanto do sensor como do motor, mas não obtive bons resultados. A estabilização deu-se quando tornei a alimentação do servo motor independente do arduino, ligando-a a uma entrada USB do computador. Estou certa que foi essa a solução que estabilizou o funcionamento do circuito; ainda assim, optei por deixar os condensadores.

Em termos de programação, comecei por transformar o valor da entrada analógica (0-1023) em valores de tensão (0 - 5V):


Depois, houve que, a partir do gráfico da figura 6 da datasheet do TMP36, transformar esse valor em temperatura (em ºC):


Sendo o valor 105,3 o declive da reta b) da figura 6:


A partir do valor da temperatura obtido, tive de definir o ângulo com que o servo motor devia rodar. Como entre os limites que escolhi existe um intervalo de 50ºC, achei que um ângulo de 100 graus seria adequado, com cada ºC a fazer o motor rodar 2 graus. Centrei a atuação do motor entre os 40 graus e os 140 graus. Assim, o ângulo definido pelo motor para cada valor da temperatura é dado por (em graus):


Para que o motor não andasse aos solavancos, o valor da temperatura indicado na equação anterior foi arredondada às unidades.

Caso o valor da temperatura desça abaixo dos 0ºC ou suba acima dos 50ºC, fiz ligar o LED vermelho e "congelei" a posição do motor nos 40 graus e 140 graus, respetivamente.

Deixo a minha proposta de trabalho para o circuito de eletrónica e o programa em Scratch...



...o circuito esquemático...



...e um pequeno vídeo com o termómetro em funcionamento:

sexta-feira, 5 de fevereiro de 2016

Preparando o Dia dos Namorados

A proximidade do Dia dos Namorados levou-me a pensar que podia aproveitar a efeméride para fazer um pequeno projeto no Espaço Eletrónica e Programação, envolvendo os alunos na sua montagem, e dando visibilidade ao trabalho que vamos fazendo junto da comunidade educativa.

Tinha de ser um projeto simples e que os alunos compreendessem em pouco tempo.

Surgiu-me a ideia de fazer um pequeno coração com LED que fossem piscando de forma diferente sempre que alguém acionasse um sensor ou um interruptor. Por experiências anteriores, em pequenos projetos de estrutura pouco robusta, a substituição de um interruptor de pressão por uma fotorresistência pareceu-me a melhor opção.

E portanto a ideia é esta:

Como, em S4A, as saídas digitais do arduíno estão limitadas a quatro, usei, à semelhança do que já tinha feito no Projeto Jardim iluminado de forma automática, o LM324, que integra 4 amplificadores operacionais. Ligando a saída de cada amplificador a 4 LED, consegui controlar 16 LED (em grupos de 4). Também neste projeto a alimentação dos LED teve de ser autónoma do arduíno, usando para isso outra porta USB do computador.

Imaginei 3 formas diferentes de fazer ligar os LED e, em vez de criar uma sequência definida, fiz o programa escolher aleatoriamente um delas cada vez que a fotorresistência é acionada.

Deixo a minha proposta de trabalho para o circuito de eletrónica e o programa em Scratch...


...o circuito esquemático...




E um pequeno vídeo com o circuito em funcionamento (cancelei para este vídeo o fator de aleatoriedade, de forma a passar sequencialmente por todas as formas de fazer os LED piscar):


quinta-feira, 4 de fevereiro de 2016

Espaço LEGO

Apesar de fugir ao âmbito da programação de arduinos, não posso deixar de partilhar o início dos trabalhos do Espaço LEGO da Escola Secundária D. João II.

Com o prémio obtido no projeto Rato da Biblioteca, a escola obteve dois conjuntos LEGO EV3 com os quais começámos agora a trabalhar com alunos do 7º ano, todas as 4ªF à tarde na biblioteca da escola.


Uma informação sobre o início deste espaço, com o respetivo horário, foi lida em todas as turmas do 7º ano e deixámos cartazes na biblioteca, mas o que trouxe os alunos foi mesmo trazer os kits da LEGO para a biblioteca da escola e começar a montá-los e a programá-los. Os alunos que por ali estavam, ou nos computadores ou em pequenos grupos, aproximaram-se e criou-se um grupo espontâneo que, achando graça aos trabalhos, prometeu voltar na semana seguinte.

A programação dos robôs foi feita através do programa da LEGO Mindstorm, em tablets, e também através de aplicações, mais limitadas, nos telemóveis dos alunos. 

Criei um pequeno manual com alguns dos blocos fundamentais do software da LEGO que partilharei na página de facebook, por achar que é material que foge ao âmbito deste blog .

Devo dizer que conto com a ajuda inestimável de três alunos do curso vocacional que, tendo apetência para esta área, ajudam os colegas na montagem e programação dos robôs.

E a brincar, a brincar, já falámos de programação, sensores e motores. E foi só a primeira sessão!

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.