Uma espécie de diário de uma professora que começou por explorar as potencialidades do Scratch na programação de arduinos...e que depois foi experimentando novos caminhos com os seus alunos!
À medida que o número de alunos do clube aumenta, a necessidade de ter material preparado para que possam trabalhar de forma autónoma aumenta também, dado que vou tendo grupos a trabalhar em projetos distintos e em níveis de aprendizagem diferentes.
Baseando-me na aula que tinha preparado para introduzir os LED RGB e as saídas PWM do arduino, criei um estudo orientado para que a exploração do RGB e das saídas PWM pudesse ser feita de forma autónoma. Claro que a supervisão é importante e que por vezes os alunos precisam de determinados esclarecimentos, mas com este método de trabalho deixo de ser necessária para explicar e desenvolver o trabalho passo-a-passo, o que me liberta para apoiar outros grupos com tarefas disitintas.
O estudo que deixo, foi aplicado numa aula de 90 minutos, que se revelou suficiente em termos de tempo. As soluções (que estão na última página do documento) não foram reveladas aos alunos, tendo todos os exercícios sido cumpridos com sucesso.
Deixo o estudo orientado que preparei...
...e um pequeno vídeo com o desafio proposto a funcionar:
Em termos do que já tinha feito, a grande diferença foi mesmo o facto destes novos RGB serem de ânodo comum, enquanto que aqueles que eu tinha usado o ano passado eram de cátodo comum. Apesar de, depois de explicado o esquema do RGB ânodo comum, os circuitos com este tipo de RGB serem perfeitamente acessíveis, a verdade é que em termos de programação é preciso cuidado, pois agora os LED do RGB ligam quando a saída digital do arduino a que estão ligados está OFF (para criar a ddp de 5V; quando a saída digital está ON, a 5V, como o ânodo está ligado a essa tensão, a ddp aos terminais do LED é nula e por isso está desligado). Dito de outra forma, podendo escolher, é preferível trabalhar com os alunos com RGB de cátodo comum.
Entretanto, introduzi também as "saídas analógicas", tendo o cuidado de lhes explicar que se tratam de facto de saídas PWM, em que o sinal é modulado - a tensão eficaz é que varia, não o valor da tensão contínua.
O último exercício proposto nesta sessão incluía entradas e saídas digitais, entradas analógicas e saídas PWM - e eu senti que para alguns alunos foi um passo demasiado grande; um dos grupos, no entanto, cumpriu todas as tarefas no tempo previsto. Refiro, com satisfação, que já todos os alunos estão a interpretar esquemas eletrónicos e já não uso os slides com a vista de breadboard. Quanto à programação, reconheço que começo a ter vários níveis, o que me levará, daqui em diante, a preparar as sessões não em apresentação eletrónica, igual para todo o grupo, mas em tarefas personalizadas de acordo com o nível de aprendizagem dos alunos.
Deixo a apresentação eletrónica que apliquei nesta sessão. Até breve!
Este foi o projeto imaginado pela Kathelin e pela Inês. A ideia era comporem um espaço cujas luzes acendessem quando a luminosidade ambiente diminuísse. Um jardim acabou por ser a escolha das alunas.
A ideia de usar RGB foi minha, até porque as alunas não os conheciam. Foi nessa fase que dediquei um post ao controlo de RGB através de arduino.
A maior dificuldade neste projeto foi respeitar o pré-projeto que as alunas tinham concebido usando as saídas disponíveis no arduino.
Na verdade, e querendo usar as saidas PWM para controlar os RGB (a forma mais bonita de os por a funcionar), temos 3 saidas PWM disponíveis (9, 6 e 5) para 4 RGB (cada um com 3 pinos, dá 12 pinos a controlar). A solução foi colocar os 4 RGB em paralelo, controlando em simultâneo cada 4 LED da mesma cor.
A dificuldade desta solução surge quando fazemos as contas à corrente necessária para alimentar 4 LED em simultâneo. Cada LED do RGB necessita de cerca de 20 mA (80 mA para alimentar 4 LED em simultâneo) e cada saída do arduino fornece apenas 40 mA.
Assim, pensei em usar um amplificador operacional para cada um dos LED em modo de seguidor de sinal (ou seguidor de tensão). Um pouco mais sobre este circuito pode ser encontrado aqui.
Não tendo 3 amp op em casa, pesquisei que circuitos integrados ofereciam vários amp op e acabei por decidir que tanto o LM148, como o LM248 ou o LM348 me serviriam. Quando cheguei à pequena (mas simpática!) loja de eletrónica cá da terra, tive de contentar com o que havia e trouxe, por 0,60€, um LM324. Através da sua datasheeté possível ter acesso às suas caraterísticas, sendo que a sua pinagem é dada através da figura seguinte:
O esboço do controlo de 4 RGB em paralelo usando o LM324 encontra-se no desenho que se segue:
A alimentação do LM324, que tem, evidentemente de ser alheia ao arduino, foi feita através de uma porta USB do computador (têm geralmente cerca de 500 mA). Para isso, cortei a extremidade de um carregador de carro para telemóvel que tinha cá em casa estragado e descarnei os fios para os usar na breadboard:
O resto do circuito é de fácil compreensão. A ideia é ter uma fotoresistência ligada a uma entrada analógica (A0) que fará desligar as luzes quando a luminosidade ambiente for superior a um valor pré-estabelecido. Quando esse valor diminuir (o ambiente escurecer), a ideia é ter os 4 RGB a mudar de cor e uma luz branca sempre ligada.
A programação foi adaptada da apresentada no post anterior. Para além da inserção da entrada analógica, que determinará o acender ou apagar das luzes, foram definidas várias variáveis. Assim, foram adicionadas às variáveis "red", "green" e "blue" já usadas no programa anterior e que determinam a intensidade de cada um dos LED, as variáveis "tempo" e "calibracao". A primeira define a velocidade com que os RGB mudam de cor - quanto menor for esta variável, mais lentamente o fazem; a segunda serve para com facilidade calibrar qual o valor analógico da entrada A0 a que as luzes devem acender - e que dependerá da luz ambiente em que o circuito está montado.
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 (mais uma vez, a câmara não faz juz à mudança das cores do RGB, muito mais bonitas ao vivo):
O LED RGB é sempre uma aposta ganha quando se pretende fazer um projeto vistoso. No fundo, são apenas 3 LED numa só cápsula, mas o efeito visual é suficientemente apelativo para justificar a sua exploração em sala de aula. No meu caso, não foi possível fazê-lo em ambiente de formação formal porque tinha um só LED RGB, o que impossibilitava a experimentação pelos vários alunos.
Mas com cada um dos 4 Arduino Physical Computing Kit entretanto comprados, vem um LED RGB. E com 4 LED RGB, já é possível inclui-los num dos projetos que os alunos estão a desenvolver, pelo que se justifica um estudo mais aprofundado deste componente.
Assim, o que significa a sigla RGB? Significa Red (vermelho), Green (verde) e Blue (azul), as cores dos três LED que compõem o RGB.
Contendo 3 LED, o RGB tem 4 terminais: um comum (que pode ser ânodo ou cátodo), os restantes correspondentes a cada uma das cores que apresenta:
O aspeto de um RGB ânodo comum, é igual ao de um cátodo comum e para identificar o tipo de RGB com que estamos a trabalhar, podemos testá-lo com um pequena pilha de relógio. Se o LED vermelho (por exemplo) ligar com o terminal (-) da pilha ligado ao terminal comum (sempre o terminal mais longo, caso o RGB seja novo - se não for, os terminais podem já ter sido cortados...), então estamos na presença de um RGB de cátodo comum; caso o LED acenda com o terminal (+) da pilha ligado ao terminal comum, estamos na presença de um RGB de ânodo comum.
Esta identificação é fundamental para ligar corretamente o RGB:
Como as tensões de trabalho de cada um dos LED que compõem o RGB são diferentes entre si, é comum encontrar projetos com resistências diferentes ligadas a cada uma das extremidades do RGB. Num dos trabalhos que proponho na apresentação seguinte, aumentei a resistência associada ao LED azul, que se revelou muito intenso relativamente às outras cores.
Os circuitos que faremos assumem RGB de cátodo comum, os que tenho disponíveis.
Deixo então a minha proposta de trabalho para controlo de RGB recorrendo ao Scratch...
...o circuito esquemático do último exercício proposto...
...e um pequeno vídeo com o circuito do RGB a mudar de cor como proposto no último exercício (gravar vídeos do RGB revelou-se tarefa mais difícil do que esperado, devido à qualidade da câmara. O resultado ao vivo é muito mais bonito que na gravação):