terça-feira, 22 de março de 2016

É UNO mas não é Arduino...e agora?

Para já, todos os arduinos do clube são genuinos, em parte devido ao facto de, lidando com financiamento do Ministério da Educação, termos de ter as faturas todas em ordem.

O material que adquiro para mim própria, no entanto, vem maioritariamente da China através do Aliexpress - as faturas são geralmente uma trapalhada, mas a diferença de preço compensa. Já há algum tempo que olhava para o valor dos kits que incluíam placas UNO que não Arduino, com preços tentadoramente baixos. Até que me presenteei com um desses kits, sem que estivesse propriamente a precisar de mais uma placa.

Optei por um kit de 5,30€ que achei que correspondia, por um valor bastante baixo, ao que um aluno precisa para começar a dar os primeiros passos na eletrónica e programação. Caso se pretenda comprar mesmo só a placa UNO (placa-clone das UNO Arduino), sem cabo de ligação ao PC, é possível encontrar preços abaixo dos 3€. O cabo USB A-B, que liga a placa ao PC, encontra-se por menos de 1€.

Pois o kit que comprei é o seguinte:


De todas as transações no Aliexpress, esta foi a que correu pior, com o produto a demorar praticamente 60 dias a chegar. Ainda abri uma disputa no site, solicitando a devolução do dinheiro, uma vez que o "período de proteção do comprador" se estava a esgotar, mas pude cancelá-la quando o kit me apareceu na caixa do correio mesmo a cumprir os 60 dias para entrega.

Foi assim que me caiu na secretária uma placa UNO que não é Arduino:


O aspeto da placa é impecável, o processador é mesmo Atmega e os primeiros testes não demonstram nenhuma fragilidade relativamente às placas genuínas.

O único cuidado a ter é instalar no PC o driver (CH340 / CH341 USB chipset drivers) que permite a comunicação desta placa-clone com o software do Arduino (e consequentemente com o software do S4A), uma vez que as placas-clone não usam o mesmo driver das Arduino originais. O driver está preparado para o Windows XP, Windows 7 e Windows 8. No meu computador tenho o Windows 10 e a instalação decorreu sem incidentes.

Uma vez instalado o driver, a placa funciona tal como as outras. Pode-se intercalar a programação desta placa com placas genuinas sem que nos apercebamos da diferença entre elas, pelo que o balanço final é bastante positivo. 

segunda-feira, 14 de março de 2016

Motores de passo, arduino e Snap4Arduino - estudo orientado

Depois de testar a reação (positiva) dos alunos ao estudo de motores dc através de um documento orientador, criei um documento semelhante para o estudo de motores de passo, baseado na exploração prévia a este tipo de motores que eu própria já tinha realizado.

Como já tinha referido em post anterior, sendo o S4A demasiado lento para operar com motores de passo, usei como linguagem de programação o Snap4Arduino e reforcei a opinião que quem trabalha com S4A, passa para o Snap4Arduino sem qualquer tipo de dificuldade.

Em 90 minutos, os dois alunos a estudar este motor cumpriram todas as atividades previstas no estudo orientado sem dificuldade. O 2º exercício foi ligeiramente adaptado: com o intuito de integrar este motor num pequeno projeto, o objetivo passou a ser controlar a subida ou a descida de estores não através de dois interruptores de pressão, mas de acordo com a luz ambiente (se estiver de dia, os estores devem estar subidos; caso anoiteça, devem descer).

Deixo o documento com o estudo orientado aplicado aos alunos...



...a solução em Snap4Arduino para o exercício 2 realizado (os interruptores foram substituídos por uma fotorresistência cujo valor medido para a luminosidade ambiente determinará se os estores sobem ou descem - fotorresistência ligada à entrada analógica 0)...



...e ainda um pequeno vídeo com o Diogo a apresentar o trabalho desenvolvido com o colega, o David. Parabéns aos dois!


segunda-feira, 7 de março de 2016

Motores dc, arduino e S4A - estudo orientado

Como já tinha referido em post anterior, começam a formar-se grupos de diferentes níveis no Espaço Programação e Eletrónica. As razões são várias, desde a apetência natural para programar e montar circuitos, até à assiduidade ou às preferências quanto ao tipo de trabalho (há quem goste mesmo de programar, há quem prefira aplicar pequenos circuitos e programas a aplicações concretas, como em pequenos projetos).

Assim, tenho de momento três níveis diferentes neste espaço semanal e deixei de poder "dar aulas" para o grupo todo, o que me obrigou a afinar estratégias.

Para o grupo que demonstra mais facilidade em termos de montagem de circuitos e de programação, criei um documento de estudo orientado para exploração do funcionamento de motores dc em circuitos com arduino com o objetivo de, autonomamente, os alunos atingirem as metas por mim propostas.

Não publiquei este documento antes de o testar com os alunos, para avaliar a sua resposta aos exercícios delineados. 

Começo por referir que os alunos que realizaram os exercícios tinham já assistido a 5 sessões de 90 minutos, no âmbito do Espaço Programação e Eletónica, e demonstram facilidade em interpretar esquemas e montar circuitos. Nunca tinham, no entanto, analisado datasheets nem usado (ou estudado) díodos, transístores nem circuitos integrados. Apesar disso, não revelaram dificuldades em cumprir os exercícios propostos (o que fizeram em 90min+45min), tendo precisado da minha ajuda apenas na ligação do L293, por não terem compreendido o curto-circuito entre os pinos 4 e 5.

Esta estratégia de montar e aplicar componentes eletrónicos em circuitos antes de os estudar em ambiente teórico é nova para mim, sendo que considero que resulta para algum tipo de alunos. Pode ser, no entanto, uma forma muito prática de tentar compensar as lacunas com que os nossos alunos saem do ensino secundário regular (em Portugal, o ensino regular é pobre em Eletricidade e praticamente nulo em Eletrónica). Neste contexto, a aposta em material de estudo orientado pode ser uma mais-valia, permitindo que num mesmo espaço os alunos evoluam ao seu ritmo e de acordo com as suas apetências.



segunda-feira, 22 de fevereiro de 2016

Utilitários

No momento de fazer "saltar" os circuitos da breadboard para um pequeno projeto, há sempre a questão de "e agora os fios?"...bem, é evidente que há realidades e realidades, mas, pelo menos nesta fase, gosto de ver os alunos a por "a mão na massa" e acho preferível um resultado menos perfeito mas que os alunos consigam de facto fazer por eles próprios.

Sendo assim, na altura de passar os circuitos para um pequeno projeto opto por abrir mão de soldaduras por vários motivos: porque só tenho um ferro de soldar; porque não é fácil fazer soldaduras de qualidade, que não se partam; porque não tenho isolante retrátil e cobrir as soldaduras com fita adesiva isolante resulta moroso e o resultado final também não é muito bonito; porque, muito importante, a soldadura acaba por inviabilizar muitas vezes o reaproveitamento do componente...são de facto muitos "porques"...

Assim, como alternativa, uso uns conetores simpáticos que compro na loja de eletrónica cá da terra, a 1,20€ um conjunto de 12 (ao da foto, já falta 1):


Não sei se estarei a procurar bem no Aliexpress, mas o que encontro idêntico por lá são uma molinhas a 1,66€ o lote de 10, que nunca experimentei.

Enfim, os conetores de que falo têm-me resolvido as questões de projeto que surgem, mas vi a coisa complicada no projeto do Dia dos Namorados...eram 16 LED - 32 extremidades a ligar num espaço exíguo e tendo de levar em conta polaridades...Eu, que nos trabalhos manuais sou mesmo muito incompetente, fiquei assim um bocadinho sem fôlego...mas valeu-me o jeitinho das meninas do clube que, com muita paciência e concentração, não só fizeram as ligações todas como cometeram a proeza de conseguir que todos os LED ligassem à primeira tentativa (o que para mim foi uma surpresa e tanto!).

Deixo algumas fotos com "os bastidores" do projeto, não só para  documentar o trabalho mas, especialmente, para gabar a paciência da Beatriz, da Ana e da Fabiana, que não esmoreceram com a morosidade e com a concentração que o trabalho exigia. Parabéns a todas!





Espaço Programação e Eletrónica - RGB e saídas PWM

Tendo comprado 10 RGB por menos de 1€, achei que podia aproveitar para apresentar este componente aos alunos do Espaço Programação e Eletrónica.

Para preparar a aula, usei o material que já tinha preparado para RGB e, para introduzir a saída PWM, o que já tinha explorado no post sobre motores dc.

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!



segunda-feira, 15 de fevereiro de 2016

Projeto Dia dos Namorados

E hoje foi dia de implementar o projeto do Dia dos Namorados.

O circuito estava pronto, havia um programa funcional (caso hoje não se conseguisse fazer nenhum - o que não aconteceu!), preparei um caixa, cartão, junções para fios, cola, tecido de feltro...e propus hoje aos alunos que concluíssem o projeto e que construíssem um programa próprio para ele.

Foi um hora e meia de trabalho árduo, muita colagem, muito fio, tanto fio...mas temos o projeto a funcionar!

Na minha opinião, este é um trabalho fundamental, porque passar da breadboard para o mundo real agrega tantas competências e saberes, exige tanta paciência e capacidade de resistir à frustração que é uma pena que o ensino atual não preveja tempo para este tipo de atividades no período letivo.

Como o Dia dos Namorados já passou, institucionalizámos a Semana dos Namorados. Afinal a celebração do amor e da amizade merece bem um semana inteirinha!

Seguem algumas fotos do projeto terminado...
O nosso coração concluído (vista de frente e vista de cima)

...e um pequeno vídeo com o projeto em funcionamento...


sexta-feira, 12 de fevereiro de 2016

Controlo de motores de passo com Snap4Arduino

Ao tempo que eu queria experimentar motores de passo (motores passo a passo ou step motor)! Numa das minhas deambulações pelo aliexpress, dei com este lote de dois motores de passo e respetivo controlador a 3,07€ (agora está por metade do preço) e não resisti. Vieram cá para casa dois motores 28BYJ - 48 (tensão de alimentação: 5V) e duas placas com o driver ULN2003 preparadas para ligar ao Arduino.



O motor de passo é controlado através de um sinal digital e pode ser uma boa escolha sempre que se pretender movimentos precisos. O ponto forte de um motor de passo não é a sua força(torque) nem a sua capacidade de desenvolver grandes velocidades, mas a possibilidade de controlar movimentos de forma precisa.

Encontrei um tabela comparativa entre os motores dc, motores de passo e servo motores num artigo muito interessante de Filipe Brites e Vinicius Santos:


Há vários tipos de motores de passo: os bipolares (4 fios), os unipolares (5 fios), os unipolares / bipolares (série) (6 fios) e os unipolares / bipolares (série/paralelo) (7 fios). Como aquele com que trabalhei foi um unipolar, será sobre esse que incidirá este estudo.

Um motor unipolar tem dois enrolamentos por fase. Os extremos das bobinas correspondem aos quatro fios de controlo; o 5º fio é ligado geralmente à terra (com o controlador que usei, não tive de me preocupar com essa ligação).

O controlo do motor é feito através de combinações digitais de 4 bits. O motor pode operar em passo completo ou em meio passo. A exploração de cada uma das formas de operação encontra-se feita na apresentação que se segue.

Quanto à programação, existem já uma série de livrarias e programas em C para trabalhar com o Arduino, muitas delas disponíveis no próprio software do Arduino (no menu File --> Example). Mas como o intuito deste blog é explorar linguagens gráficas...a minha primeira opção foi experimentar o S4A. Tal como previ, a velocidade de comunicação entre o S4A e o Arduino, não permitia o movimento do motor. Foi então que me deparei com o Snap4Arduino e fui à aventura...com uma atualização dos estados dos atuadores e dos sensores feita a cada 15 ms (contra os 75 ms do S4A), foi possível explorar o controlo do motor de passo com uma linguagem gráfica (comprometendo, claro, a velocidade do motor, que é muito baixa usando este tipo de plataformas).

A adaptação ao Snap4Arduino foi perfeitamente pacífica. O único contratempo foi não conseguir ligar um dos interruptores à entrada 1, não percebi porque motivo - o Snap4Arduino desconectava repetidamente a placa. Acabei por ligar os interruptores às entradas 2 e 3 e não tive nenhum problema.

Deixo então a minha proposta de trabalho para controlo de motores de passo recorrendo ao Snap4Arduino...


...o circuito esquemático do último exercício proposto...




...e um pequeno vídeo com o "circuito de controlo de estores" em funcionamento: