Postagem em destaque

Controle PID de Potência em Corrente Alternada - Arduino e TRIAC - Parte I

Este post é o primeiro de uma série de seis que escrevi tratando de controle de potência e PID (controle proporcional, integral e derivativo...

quinta-feira, 13 de fevereiro de 2014

Space Camp III - Carrinho de Controle Remoto

Pousados foguetes e ovonautas, estes últimos coletaram amostras de materiais existentes nos astros em que pousaram e que deveriam ser trazidas de volta à Terra. Essas amostras eram específicas do astro, por exemplo, Titã tinha água, Marte tinha ferro e por aí afora.

Para transportar as amostras coletadas até a base de lançamento do foguete de retorno, os bravos participantes do SpaceCamp deveriam construir um veículo terrestre capaz de, controlado remotamente, coletar a amostra e trazê-la ao ponto de lançamento. O pobre do ovonauta foi abandonado como um degredado português intergalático no corpo celeste em que pousou.

Os pilotos do veículo podiam usar as mãos para coletar a amostra, mas se o fizessem sem usar as mãos ganhariam um ponto extra.

Dessa oficina, que também foi sensacional, eu não tenho imagens. Isso porque trabalhei tanto na instrução teórica quanto no apoio à construção dos carrinhos, além de ter sido o "alvo" destes na parte prática. Se alguma alma caridosa que esteve por lá tiver fotos dessa parte do evento, por favor me mande e eu publico, com o devido crédito.

Alguns dos nossos spacecampers me escreveram pedindo para disponibilizar o código fonte da versão final do programa do carrinho. Ele segue abaixo, devidamente comentado. Para quem levou a montagem do carrinho prá casa, é só copiar e mandar prá dentro. O código foi fornecido pelo Léo e eu dei uma enxugada. Uma dica: para copiar o fonte abaixo, selecione com o mouse a parte do texto, sem incluir os números de linha.

No meu blog, aqui, tem um outro post que fala mais sobre esse controle remoto e sua conexão ao Arduino, a quem interessar possa.

Em caso de dúvidas, é só postar aqui no blog.

// biblioteca que contém as rotinas de comunicação com o controle remoto tipo PS/2.
#include "PS2X_lib.h"

PS2X ps2x; // Classe do controle remoto

int erro = 0; 

void setup()
{
  Serial.begin(57600);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
 
  // inicia o controle. 
  // Os parâmetros correspondem aos fios que saem do controle, e aparecem na seguinte ordem:
  // clock, command, attention, data.
  // No exemplo abaixo, 9-clock etc.
  // No outro post do blog (http://automatobr.blogspot.com.br/2012/10/automacao-no-parque-20102012.html)
  // tem mais informação a respeito. 
  erro = ps2x.config_gamepad(9,11,10,12, true, true);
  if(erro > 0)
  {
   Serial.print("Erro de acesso ao controle PS/2: ");
   Serial.println(erro);
  }
  // No post do blog acima, nos fontes, tem o significado dos diferentes erros, 
  // de acordo com o número. 
}

void loop()
{
   if(erro > 0) // Se tem erro, para por aqui
     return; 
   // Se o botão tipo stick (PSS) da direita (R) foi inclinado para a frente (eixo Y), 
   // o carrinho acelera à frente.
   if((ps2x.Analog(PSS_RY) < 64) )
   {
      Serial.println("FORWARD");
      digitalWrite(4, HIGH);
   }
   // Se o botão tipo stick (PSS) da direita (R) não está acionado, o motor para.
   else
   {
      digitalWrite(4, LOW);
   }
   // Se o botão tipo stick (PSS) da direita (R) foi inclinado para a trás (eixo Y), 
   // o carrinho acelera prá trás.
   if((ps2x.Analog(PSS_RY) > 192))
   {
     Serial.println("BACKWARD");
     digitalWrite(5, HIGH); 
   }
   // Se o botão tipo stick (PSS) da direita (R) não está acionado, o motor para.
   else
   {
     digitalWrite(5, LOW);
   }
   // Se o botão tipo stick (PSS) da esquerda (L) está acionado para a esquerda
   // (valo menor que 64) o motor de direção aciona para o lado que vira o 
   // carrinho à esquerda.
   if((ps2x.Analog(PSS_LX) < 64))
   {
      Serial.println("LEFT");
      digitalWrite(6, HIGH); 
   }
   // Se o botão tipo stick (PSS) da esquerda (L) não está acionado, o motor para.
   else
   {
      digitalWrite(6, LOW);
   }
   // Se o botão tipo stick (PSS) da esquerda (L) está acionado para a direita
   // (valo maior que 192) o motor de direção aciona para o lado que vira o 
   // carrinho à direita.
   if((ps2x.Analog(PSS_LX) > 192))
   {
      Serial.println("RIGHT");
      digitalWrite(7, HIGH);
   }
   // Se o botão tipo stick (PSS) da esquerda (L) não está acionado, o motor para.
   else
   {
      digitalWrite(7, LOW); 
   }
   //  dá um "refresco" ao sistema, permitindo que o carrinho obedeça ao
   // comando.
   delay(50);
}

sábado, 8 de fevereiro de 2014

Space Camp II - Oficina de Astronáutica

Um dos pontos altos do evento foi a Oficina de Astronáutica, conduzida pelo nosso mega-ultra especialista Oswaldo.

Nessa parte da oficina, que durou a manhã toda, ele iniciou-nos nos mistérios do projeto e construção de foguetes. Muita física e matemática depois, almoçamos e os alunos partiram para a parte prática da coisa.

O desafio era o seguinte:

Projetar e construir dois foguetes com tubos de papelão e uma ogiva plástica. Esse foguete seria impulsionado por um motor a pólvora como esse daqui:
Maiores informações sobre, aqui.

O foguete deveria cumprir a seguinte missão:

- Levar dois astronautas da Terra até planetas específicos. Havia diferentes planetas e cada grupo tinha que alcançar dois, cada um com um foguete. Os planetas eram representados por bandeiras coloridas espetadas no solo em diferentes pontos do terreno, a distâncias que variavam de uns 30 a 100 m do ponto de lançamento, que ficava num terreno uns 5 m acima do "sistema solar".

- O astronauta era um ovo de codorna cru. Claro que o ovonauta tinha que chegar inteiro ao alvo para que o grupo tivesse a pontuação correspondente.

- O ovonauta deveria ser preso a um paraquedas que também seria construído pelos meninos, de maneira que, após o foguete atingir o seu apogeu, a ogiva se abrisse e o ovonauta fosse ejetado preso ao paraquedas e  pousando suavemente no destino. Para ejetar o ovonauta o motor do foguete conta com um dispositivo que, quando o combustível se esgota, ocorre uma pequena explosão dentro do tubo, ejetando a ogiva e a carga útil. Abaixo, o esquema do motor:



- Detalhe: os ovonautas eram gordinhos e não cabiam direito no foguete. Alguns inclusive morreram só de serem acomodados no interior do foguetes. A terrível morte por esmagamento desses mártires do conhecimento não provocou desconto de pontos da turma.

- Havia uma estação meteorológica no campo para que eles vissem a direção do vento na hora do lançamento. Tinha um anemômetro para que eles pudessem ajustar o ângulo de lançamento com a velocidade do vento, mas ele não funcionou na hora, o que gerou mais um desafio para a garotada.

- Eles tinham uma tarde para projetar, construir e lançar os 24 foguetes, dois por grupo.

Abaixo, imagens da oficina de construção:

Moçada trabalhando, com o acompanhamento dos monitores.




Tínhamos dois garotos com 13 anos, os mais jovens. Esse aí no primeiro plano é o Eric. Reparem que um foguete já está pronto e também parte dos paraquedas.

Essa da esquerda é a Beth, que descobri ter estudado com minha irmã em BH. Mundo pequeno, que pode ser percorrido por foguetes de papelão...


Tivemos muitas meninas no SpaceCamp. Essa aí é a Carlla, assim com dois eles.

A turma contava com um software para simular o comportamento do foguete. Eles calculavam os parâmetros, desenham o protótipo e o "pograminha" dava informações sobre o que aconteceria na hora do voo. Os dois objetos no corpo do foguete são o paraquedas e o nosso intrépido ovonauta.


Um dos dimensionamentos que eles tinham de fazer era o das aletas do foguete, tanto a form quanto as dimensões. Estas foram construídas em compensado daqueles bem fininhos.

Bom muita cola, fita crepe, barbante, manteiga (usada por alguns grupos para azeitar a entrada do ovonauta na astronave) e fosfato depois, fomos para o campo lançar as obras da meninada. Abaixo, imagens dos lançamentos:

Waldir pressuriza o foguete de água. Farei um post exclusivo sobre esse foguete.

Esse cachorro klingon andou devorando os planetas.

Equipes na sombra aguardando a sua vez de lançar os foguetes. Em primeiro plano, a estação meteorológica.

Schip explica à Beth os mecanismos do foguete a água. Observe que ela enverga o Manto Sagrado Azul Estrelado. Zêêêêrôôôô!


Oswaldo prepara o foguete para o lançamento. Nessa etapa ele assumia, porque os fios do ignitor já estavam instalados, ou seja, havia algum risco de ignição antes da hora.


Ignitor elétrico.

Renan e seu grupo preparam o foguete. Reparem na solução deles para o paraquedas: para protegê-la da ejeção do ovonauta e da ogiva, simplesmente colocaram o paraquedas sobre a ogiva, do lado de fora do foguete. Esse lançamento foi o que chegou mais perto do objetivo, é o do vídeo abaixo.



Lá embaixo, os planetas e os fiscais de prova.




















Observem o foguete no telhado do ginásio. Dois deles pousaram por lá.

Esse grupo, por ter criado um compartimento para conter o paraquedas e o ovonauta, teve que fazer aletas muto grandes. Como a madeira era insuficiente,eles usaram papelão. Ficou feioso, mas cumpriu o objetivo.


Já esses colocaram até o ovonauta por fora. A ideia era pousar o foguete com ovonauta e tudo. Não deu muito certo, pq eles tiveram que adicionar pedras para balancear, aí o foguete subiu pouco, pelo peso.

Uns dois foguetes pousaram na água do rio, lá embaixo. O problema foram as  rajadas de vento que desviaram bastante alguns ovonautas. A Tunísia, nossa voluntária para assuntos educacionais foi rápida no pedalinho e ainda salvou alguns ovonautas.


Observem o furo no paraquedas causado pela carga de ejeção.

Ogiva, paraquedas e ovonauta saudável.
 Algumas cargas pousadas.




Depois, fazer relatório. Prazo de entrega: dia seguinte até a meia-noite. 23:50 tinha ainda bastante gente trabalhando no relatório, e também, na apresentação que fizeram.



























Abaixo, clip das oficinas, feito pelo nosso cinegrafista Juan, importado diretamente da China para o nosso SpaceCamp:


Resumo: muito legal, não?

sexta-feira, 7 de fevereiro de 2014

SpaceCamp 2014 I


Fui convidado pelos amigos Waldir e Oswaldo para participar do  SpaceCamp 2014, evento que eles criaram no Brasil baseado em iniciativas semelhantes mundo afora. O evento conta com a parceria da Agência Espacial Brasileira (link acima) e da OBA, Olimpíada Brasileira de Astronomia.

A ideia é reunir jovens de 13 a 18 anos (mas não só) em um "acampamento" onde, durante seis dias, vivêssemos atividades relacionadas a astronáutica e astronomia principalmente. Os jovens participantes são selecionados entre interessados em astronomia e astronáutica (aqueles que se destacaram na OBA, por exemplo), com algumas bolsas inclusive. Os demais se inscrevem pela net até o preenchimento das vagas.

Detalhe importante: não havia sinal de celular a não ser num mirante muito alto das redondezas. Também não havia internet para ninguém, ou seja, todas as oficinas foram feitas sem Google.

Foi a terceira edição do SpaceCamp. As outras tinham 60 participantes, mas nessa, como houve muita procura, eles resolveram dobrar o tamanho do evento e receberam 120 participantes. Teve gente que ainda ficou de fora.

Alunos posam com os "sóis" que usaram na oficina de astronomia do Prof. Canalle
Eu esperava muito desse evento, até por compartilhar com os amigos Oswaldo e Waldir do entusiasmo pela educação. Um troço criado por gente como eles só poderia ser especial. Agora... daí a viver o que rolou nesses sete dias... sinceramente, estou com dificuldade de escrever sobre o evento por saber que não vou conseguir expressar o que houve por lá.

Uma coisa que eu achei muito legal, por exemplo, foi que a turma foi acomodada nos quartos aleatoriamente, sem respeitar os grupos de origem, ou seja: professores acompanhantes e seus alunos foram separados nas acomodações. Da mesma forma, os alunos foram divididos em 12 grupos, cada um com seu nome e grito de guerra, sem respeitar nem o grupo de origem nem os quartos. Isso, claro, ajudou demais a integrar a turma.

Abaixo, algumas imagens do acontecido.

Hotel fazenda onde foi o evento, em Paraibuna, a 30 km da sede do município.

Nosso QG, onde ficava o material de uso nas oficinas. Ao fundo, espaço onde aconteciam as palestras.

Detalhe do espaço para palestras. Ao fundo... plantio de eucalipto e pinus... :)

No alto da encosta, piscina, refeitório e alojamento dos alunos.

As imagens acima mostram boa parte do espaço onde realizou-se o SpaceCamp. O lugar é muito legal, mas o serviço foi médio. A comida foi assim assim (os alunos chamavam os sucos de LCNI - Líquidos Coloridos Não Identificados), e tivemos um bocado de problemas com falta de água nos alojamentos, piscina suja, enfim, poderia ser bem melhor. Me esqueci do nome do lugar, mas vou consultar e colocar informações aqui, até pq acho que o espaço é tão bom que vale a pena conversar com a turma prá ver se o serviço melhora.

A minha participação seria em uma oficina de Arduino, bem como apoio numa outra oficina de automação. Acontece que pela impossibilidade de comparecimento de dois instrutores, eu acabei assumindo inteiramente a parte "teórica" de sensores, uma oficina de linguagem de programação e outra palestra de eletrônica embarcada. Abaixo, algumas imagens das atividades em que me envolvi:

Não, eu não estava a exercitar minha eloquência em relação ao Salvelindo... o ppt é que não apareceu na foto.


Materiais.
Fizemos com eles uma oficina de eletrônica básica. A ideia era que, depois de me ouvirem falar sobre circuitos analógicos, a turma construísse um circuito detector de "secura" na terra. Dei a eles um esquema de um detector de umidade, ou seja, um circuito que identificasse a presença de água num copo com terra, e pedi que eles montassem. Em seguida, simplesmente sugeri que eles invertessem, ou seja, o circuito deveria informar que a terra estava seca. Para minha (primeira de muitas) surpresa, todos os grupos deram conta da tarefa. 

Circuito montado.

Waldir discute as alternativas com a turma.
Nos próximos posts, mais sobre o SpaceCamp 2014.