sexta-feira, 29 de maio de 2015

Work in progress#1

Iniciando os trabalhos de execução de maquetas para os projetos...





Projeto: Passagem de nível#1

Este foi o projeto imaginado pelo Bruno e pela Luana. Uma maqueta que simula uma passagem de nível. 

Reunida com os dois alunos, foram traçadas as linhas mestras do projeto:

A ideia é fazer uma maqueta de uma estrada atravessada por uma linha de caminho de ferro. Com a passagem do comboio, os automóveis devem ser alertado com um sinal luminoso que passa de verde a vermelho e uma cancela deve fechar a estrada, enquanto um sinal sonoro de aviso é emitido.

A maqueta fica inteiramente a cargo dos alunos, que a deverão desenvolver nas aulas de informática que eu passei a co-lecionar e nas aulas de Arquivo.

Hoje ficou montado o circuito e feito o programa em Scratch.

Material de eletrónica necessário:
  • 1 placa arduino;
  • 1 breadboard;
  • 2 LED, um verde e outro vermelho;
  • 1 servo motor SG90;
  • 1 díodo laser;
  • 1 fotorresistência;
  • 1 resistência 10 Kohm;
  • 2 resistências 220 ohm;
  • Fios.

O díodo laser deve estar sempre apontado à fotorresitência. Quando à fotorresistência chega a luz do laser (situação em que não há comboio na via férrea), a luminosidade que sobre ela incide é máxima. Esse valor de luminosidade, lido pela entrada analógica A0, mantém a cancela aberta (servo motor com um ângulo de 90º), o LED verde ligado e o LED vermelho desligado. Por outro lado, a passagem de um obstáculo que impeça que o laser chegue à fotorresistência é detetado na entrada A0 como menor luminosidade, o que fará desligar o LED verde, ligar o vermelho, descer a cancela (servo motor diminui ângulo até 0º) e acionar o sinal sonoro de alarme. O estado do sistema manter-se-à durante 4s, após o que voltará ao estado inicial.



O S4A é muito pobre em sons. Para conseguir o som de alarme, recorri a um site de downloads de MP3 gratuitos: www.buscasons.com



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:



quarta-feira, 27 de maio de 2015

De novo às compras...agora com financiamento!

O projeto Arduino na Escola foi apoiado, através do Concurso dos CLUBES DE PROGRAMAÇÃO E ROBÓTICA (CPR) relativo ao ano letivo 2014/15 , com o valor de 250€.

cpr.PNG




Para um clube como o nosso, ainda tão incipiente, esta foi uma ajuda preciosa para conseguir material e equipamento que nos torne um pouco mais independentes e com capacidade para fazer mais (e melhor!).


Por isso, fomos às compras. Adquirimos:

  • 4 conjuntos Arduino Physical Computing Kit (48,00€ cada)

Arduino Physical Computing Kit - Starter Edition
  • 2 servo motores HD-1160A (8,95€ cada)



  • Vários LED no valor de 4€

Os valores referidos são todos sem IVA.


Este tipo de apoios é fundamental para que pequenos clubes possam vingar nas nossas escolas. A área de eletrónica e programação é uma área ainda pouco explorada nas escolas portuguesas e que podia ser uma mais valia se usada não só para captar alunos desmotivados mas com interesse por esta área de estudo, mas também para desenvolver em alunos adaptados à escola novas competências e dar-lhes outras perspetivas do mundo académico e profissional.

A propósito de bons alunos, tive há alguns anos atrás a experiência de lecionar Física de 12º ano a uma turma de "bons alunos" que se preparava para entrar em várias engenharias e que, ao longo da sua vida académica nunca tinham tido a oportunidade nem de montar um circuito eletrónico, nem de programar uma única linha de código...

A escola não se faz só de alunos desmotivados que têm de ser captados de alguma forma. Faz-se também de alunos interessados e que merecem que lhes sejam canalizados recursos e que a escola se preocupe em lhes proporcionar novas experiências e novas formas de ver o mundo. Nesse sentido, a aposta em clubes - de eletrónica, de teatro, de leitura, de música, de desporto...- faz todo o sentido na escola de hoje. Assim haja vontade de os apoiar!



Projeto: O robot guardião #1

Depois das aulas formais já descritas, aos alunos foi proposto que trabalhassem num projeto seu.

Uma vez que o Arduino na Escola está a funcionar "roubando" uma aula por semana à disciplina de Informática, foi este o momento de dividir a turma entre os que não se sentem motivados por este tipo de trabalho, e que por isso avançarão para projetos na área da informática com a supervisão da professora da disciplina, e os que desejam evoluir para um trabalho mais autónomo em arduino. Cerca de metade da turma avançou para o projeto em arduino.

A partir daqui, sairemos da sala de informática e passaremos a trabalhar na oficina da escola, levando como apoio, nesta fase dos trabalhos, um computador portátil.

Um dos primeiros projetos que surgiu, foi o robot guardião, inspirado no robot homónimo proposto no site Computação na Escola.

Material de eletrónica necessário:
  • 1 placa arduino;
  • 1 breadboard;
  • 1 sensor SR04;
  • 2 servo motores SG90;
  • Fios.
O boneco em si, está à responsabilidade dos alunos envolvidos neste projeto, o Diogo e o Paulo, que o desenvolverão com o apoio da professora de Arquivo, professora Isabel Oliveira.

De recordar que para usar o sensor SR04, é necessário usar firmware adequado, que é disponibilizado em http://densare.pt/files/zip/S4AFirmware16_SR04.zip

Uma descrição mais exaustiva do funcionamento do SR04 em ambiente Scratch foi já feita neste post do blog.


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:





quinta-feira, 23 de abril de 2015

O sensor de ultrassons SR04 e programação em S4A

O SR04 é dos sensores de ultrassons mais comuns para pequenos projetos. Permite a medida de distâncias entre 2 cm e 4 m com um ângulo de sensibilidade de 15º. A análise da respetiva datasheet, deixou-me bastante confiante e achei eu que planear um pequeno trabalho com este sensor, arduíno e S4A ia ser canja. Toda a gente sabe que a ignorância é muito atrevida...

Este sensor tem 4 pinos, dois para a alimentação (Vcc e GND), um para o trigger (o "disparo" de um sinal) e o restante para receber o som refletido (o eco).


O modo de funcionamento é simples: o envio de um impulso de 10 us (10^-6 s) para o pino do Trigger, resulta na emissão por parte do SR04 de um ciclo de 8 impulsos de ultrassons na gama dos 40 kHz. Nesse momento, o SR04 ativa o pino Echo para 5V que só voltará a 0V no momento em que receber o eco do sinal enviado. Eis o esquema temporal:



Sabendo que o som tem uma velocidade média de 340 m/s, é possível medir a distância que o som percorreu entre ter sido emitido e rececionado de novo. A distância ao obstáculo será metade desse valor.

Continhas, então: d(obstáculo) = d(percorrida pelo som)/2
                             d(obstáculo) = v(som)*tempo(echo)/2

Como vamos medir o tempo do impulso em us e a distância ao obstáculo em cm, há que converter a velocidade do som em cm/us: 340 m/s = 0,034 cm/us.

Assim, d(obstáculo) = 0,017*tempo(echo) ,  tempo(echo) medido em us; d(obstáculo) medido em cm.

Assim..o que poderia correr mal? Liguei o Trigger ao pin13, o Echo à entrada 2 e...nada!!! Por mais impulsos de 10 us que enviasse, não detetava nada na entrada 2. Uma pesquisa mais atenta relativamente à comunicação entre o arduino e o S4A revelou-me que o S4A interage com o arduino atualizando os estados dos atuadores e dos sensores a cada...75 ms! Valor impossível de conciliar com sinais de 10 us!

A solução passou por alterar o firmware que o arduino disponibiliza. Para isso tive a ajuda de um familiar próximo. A ideia foi alterar o mínimo possível o firmware original. Reservámos para o funcionamento do sensor os pinos D13 e A05. O pino D13 passou a funcionar como entrada e saída, o A05 devolve o valor da distância em cm.
Foi gerado um ciclo, que se repete de meio em meio segundo, em que o pino D13, inicialmente uma saída, envia um impulso de 10us. Passa então a ser definido como entrada e lê a duração do impulso do pino Echo. Este tempo é multiplicado pelo valor de 0,017, como explicado acima, e enviado para o pino A05.

O firmware realizado está disponível no seguinte endereço: http://densare.pt/files/zip/S4AFirmware16_SR04.zip

NOTA IMPORTANTE: O firmware disponibilizado só funciona corretamente com o sensor SR04 ligado à entrada 13. Sem o sensor devidamente ligado, o firmware fica à espera de um dado indefinidamente e em ambiente S4A a placa surge como não reconhecida.

Deixo então a minha proposta de trabalho para envolver o SR04 em circuitos programados através de Scratch...


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




...e um pequeno vídeo com o circuito do sensor de proximidade em funcionamento:




Como nota final, não posso deixar de referir que levei o circuito do sensor montado para uma aula de Física e Química de 8º ano, onde os alunos estão  a dar o som. Foi interessante porque deu para exemplificar o facto de os ultrassons não serem audíveis, o fenómeno do eco, o funcionamento do sonar. Os alunos identificaram o circuito nas luzes de sinalização de lugar ocupado / livre do parque de estacionamento do centro comercial cá da terra. E pediram um workshop de arduino para o verão. E eu estou com vontade de lhes fazer a vontade...



quarta-feira, 22 de abril de 2015

Às compras

Já por aqui tinha referido que os kits de iniciação ao arduíno são de facto do melhor...para iniciar! À medida que os projetos surgem, torna-se evidente a necessidade de comprar outros componentes eletrónicos menos vulgares.
Por causa de um projeto que tenho em mente, tive de adquirir um sensor de ultrassons. Optei pelo HC-SR04 por ser bastante comum e haver já muitos projetos descritos na net que o envolvem. Quando comecei a pesquisar por preços, encontrei-o por mais de 12€ numa conhecida loja online portuguesa...e por menos de 1€ no Aliexpress! Dito isto, partilho aqui a experiência com a compra de componentes eletrónicos através desta plataforma eletrónica de compras.
Quando pesquisamos por um determinado componente no Aliexpress, é difícil não sermos atingidos por uma súbita febre consumista, dados os preços do material eletrónico aí praticados. Verdade que em muitos casos é exigido um número mínimo de componentes a comprar, mas nem sempre tal acontece e os valores são de tal maneira baixos relativamente ao que se pratica em sites nacionais que bem vale a pena mandar vir em quantidade.
Por uma questão de simplicidade, fiz todas as minhas compras numa única loja: http://pt.aliexpress.com/store/1171090

Comprei então:

  • 1 lote de 5 relés 5V-230V por 6,64€:

  • 1 lote de 5 conetores para ligar pilhas de 9V ao arduíno por 1,71€:
  • 1 lote de 5 servo motores SG90 por 7,41€:

  • 1 controlador para motores de passo por 1,76€:


  • 2 sensores de ultra sons HC-SR04 a 0,82€ cada:
  • 1 lote de 10 díodos laser vermelhos, 5V, por 3,66€:


Expedido com a minha compra, foi-me enviado, como oferta, um leitor de cartões micro SD para arduíno, cujo valor ronda os 4€:



O pagamento é feito por cartão de crédito à Aliexpress que estabelece um prazo de entrega máximo que depende de cada loja - o vulgar são 60 dias. Caso esse prazo seja ultrapassado, a Aliexpress devolve o dinheiro ao cliente.
Mesmo vindo da China a maior parte das compras não são sujeitas a custos de porte. O prazo de entrega ronda, no entanto, os 30 dias.
Os componentes eletrónicos não estão sujeitos a imposto alfandegário, mas caso a compra ultrapasse os 22€ (eu só soube disso depois - a  minha compra foi de 22,81€) poderá estar sujeita a pagamento de IVA na alfândega. Curiosamente, a encomenda foi expedida numa caixinha que vinha marcada como $6.
Depois de recebermos os produtos, confirmamos a receção no Aliexpress e podemos avaliar cada um dos itens e o serviço prestado pela loja com que lidámos.

Em resumo, em termos de preço, é indiscutível a vantagem de comprar em lojas chinesas online. Os baixos preços têm como contrapartida a ausência de apoio técnico e os tempos de entrega alargados (é possível reduzir estes prazos, mas isso tem um preço elevado). Por isso, se é para pensar num projeto para as férias de verão...há que começar a pensar no que comprar agora!


quinta-feira, 16 de abril de 2015

Aula 4 - Entradas analógicas

Esta é a última aula formal que pretendo dar aos alunos envolvidos neste projeto. A partir daqui, parece-me que já conhecem as potencialidades essenciais do arduino e que poderão começar a delinear os seus próprios projetos.
A ideia desta aula é explorar as entradas analógicas - temos 6 disponíveis (A0 a A5) - essenciais na utilização de muitos sensores, como de luminosidade, proximidade ou temperatura.
A noção de digital / analógico nem sempre é óbvia para os alunos da faixa etária com que estou a trabalhar. Na verdade, usando de novo o corpo humano como analogia, quase todos os nossos sensores e atuadores são analógicos, mas podemos encontrar exemplos como olhos fechados / abertos para dar a ideia de digital e a intensidade vocal como analógico.
Há depois que lhes apresentar vários componentes que podem ligar a entradas analógicas. Optei pela resistência variável, pela fotorresistência e pelo sensor de temperatura por serem os componentes  que tenho disponíveis para trabalhar com uma turma.
Na primeira montagem, a ideia é simplesmente apreender os valores limite que as entradas analógicas aceitam - 0V correspondem a um valor igual a 0; 5V ao valor 1023.
Voltei a usar 3 LED, ligados às saídas digitais 13, 12 e 11, como atuadores para testar o tipo de entradas estudadas na presente aula.

Deixo de seguida a presentação que explorarei nesta sessão...





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




...e um pequeno vídeo com o exercício do "termómetro" em funcionamento.