quarta-feira, 10 de outubro de 2012

Chassi de esteiras - Novo projeto

O chassi, ainda sem nome, está sendo projetado pela equipe da EE Elza Facca M. Bonilha. É um chassi de esteiras, feitas de corrente de bicicleta (fonte: http://lusorobotica.com/index.php?topic=2638.0), que usam rodas retiradas de roletes de impressora (fonte: http://lusorobotica.com/index.php/topic,1808.0.html). Os motores são motores de passo unipolares retirados de impressoras velhas controlados pelo CI ULN 2803, que pode controlar até 2 motores de passo ao mesmo tempo. Neste motores já estavam instaladas as roscas sem fim que foram conectadas a engrenagens retiradas de HP600. A base do chassi foi feito em acrílico, resto de box de banheiro, doado por uma empresa de Jundiaí.
A garra foi feita com base de prancheta de madeira e um motor de passo bipolar, também retirado de impressoras velhas (epson), que tem na sua base um servo motor de posição, reciclado, utilizado em antenas parabólicas.
Este chassi  é multifunção: a garra se encaixa e ele se transforma num chassi de "Resgate de Alto Risco", retire a garra e ele pode ser usado para Sumô Categoria Large, pois ele tem 25x25 cm, Cabo de Guerra, Seguidor de Linha e outras funções. 
Para leitura de linhas estamos estudando que sensores utilizar mas, para objetos e distãncia, utilizaremos o HC SR04.
Segue fotos abaixo:
O projeto Orion Montado

Novo projeto - Detalhes de montagem


















Adaptação das rodas para esteira, acertando o ângulo para coletar objetos:








Leitura de 2 sensores de ultrassom HC-SR04 com Arduino

Em nossa pesquisa de uso de sensores de ultrassom não encontramos nenhuma referência de códigos para Arduíno que apresentasse a leitura de 2 sensores de ultrassom. Começamos a pesquisar um código fonte de exemplo ( o PING) e chegamos ao presente resultado, que apresenta um nível de resposta satisfatório:

Abaixo as fotos da montagem em Breadboard:



O código fonte utilizado:

/* Código adaptado do sensor PING */

// configura os pinos de sáida
const int emissor = 7;
const int receptor = 8;


void setup() {
  // initialize serial communication:
  Serial.begin(9600);
  pinMode(emissor, OUTPUT);
  pinMode(receptor, INPUT);

}

void loop()
{
  // establish variables for duration of the ping,
  // and the distance result in inches and centimeters:
  long duration, inches, cm;

  // The PING))) is triggered by a HIGH pulse of 2 or more microseconds.
  // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:

  digitalWrite(emissor, LOW);
  delayMicroseconds(2);
  digitalWrite(emissor, HIGH);
  delayMicroseconds(5);
  digitalWrite(emissor, LOW);


  //o receptor faz a leitura do estado do pino e se retorna HIGH ele informa
  duration = pulseIn(receptor, HIGH);

  // converte a distância
  inches = microsecondsToInches(duration);
  cm = microsecondsToCentimeters(duration);
  inches2 = microsecondsToInches(duration2);
  cm2= microsecondsToCentimeters(duration2);

  Serial.print(inches);
  Serial.print("in, ");
  Serial.print(cm);
  Serial.print("cm,");
  Serial.println();

  delay(100);
}

long microsecondsToInches(long microseconds)
{
  // According to Parallax's datasheet for the PING))), there are
  // 73.746 microseconds per inch (i.e. sound travels at 1130 feet per
  // second).  This gives the distance travelled by the ping, outbound
  // and return, so we divide by 2 to get the distance of the obstacle.
  // See: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf
  return microseconds / 74 / 2;
}

long microsecondsToCentimeters(long microseconds)
{
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the
  // object we take half of the distance travelled.
  return microseconds / 29 / 2;
}
Abaixo o vídeo de resposta desta programação:

Nosso desafio foi adaptar este código a leitura de 2 sensores de ultrassom ao mesmo tempo. Usamos led´s diferentes pois o vermelho era de alto brilho e atrapalhava a visão. O código fonte segue abaixo:


/* Programa para uso de 2 Sensores de Ultrassom medindo distância em cm para robôs de combate - Projeto TITAN
Código adaptado do sensor PING
Grupo Pequenos Cientistas*/

// constante dos pinos
const int emissor = 7;
const int receptor = 8;
const int emissor2= 9;
const int receptor2= 10;

void setup() {
  // Configuração de pinos como entrada e saída
  pinMode(emissor, OUTPUT);
  pinMode(receptor, INPUT);
  pinMode(emissor2, OUTPUT);
  pinMode(receptor2, INPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
}

void loop()
{
  // variáveis utilizadas para conversão do ping em centímetros
  long duration, inches, cm;
  long duration2,inches2, cm2;

  // sensor 1
  //desliga o emissor
  digitalWrite(emissor, LOW);
  delayMicroseconds(2);
  // 2 microssegundos depois enivia um sinal que dura 5 microssegundos
  digitalWrite(emissor, HIGH);
  delayMicroseconds(5);
  //desliga o emissor
  digitalWrite(emissor, LOW);
  // o receptor recebe o eco e envia um sinal digital HIGH - alto
  duration = pulseIn(receptor, HIGH);
  //converte os valor do sinal de microssegundos para centímetros, retornando a variável cm
  cm = microsecondsToCentimeters(duration);
//condição de leitura da variável - comandos para motores
 if (cm > 15){
   digitalWrite (13, HIGH); // se a distância for maior que 15 cm acende o led
  }
 else{
   digitalWrite(13, LOW); // se não, desliga o led
 }
// Sensor 2
//desliga o emissor
  digitalWrite(emissor2, LOW);
  delayMicroseconds(2);
// 2 microssegundos depois enivia um sinal que dura 5 microssegundos
  digitalWrite(emissor2, HIGH);
  delayMicroseconds(5);
 //desliga o emissor
  digitalWrite(emissor2, LOW);
  // o receptor recebe o eco e envia um sinal digital HIGH - alto
  duration2 = pulseIn(receptor2, HIGH);
  // converte a distância e retorna a variável cm
  cm2= microsecondsToCentimeters(duration2);
//condição de leitura da variável - comandos para motores
 if (cm2 > 15){
   digitalWrite (12, HIGH);// se a distância for maior que 15 cm acende o led
   }
    else{
   digitalWrite(12, LOW);// se não, desliga o led
 }
}

// Variável de conversão de microssegundos para centímetros
long microsecondsToCentimeters(long microseconds)
{
  // A velocidade do som é 340 m/s ou 29 microssegundos por centímetro. O ping vai e volta e, sua distância será metade do tempo de ida e volta.
  return microseconds / 29 / 2;
}

Neste programa iniciamos fazendo os comenados fazerem a leitura de um sensor junto com o outro. O resultado foi desastroso lia o sensor 1 e não o 2. Depois separamos os sensores e inserimos, após a leitura dos dois, a condição de reação e resolvemos o problema.

O vídeo de 2 sensores fazendo a leitura de distância:

Aplicação
Instalação dos sensores nos robôs (parabéns pela ideia de usar os soquetes de led de computadores Paulo). No robô, instalamos 4 sensores e o resultado foi satisfatório:









Vídeo do robô em funcionamento utilizando os sensores de ultrassom para desviar dos obstáculos.





sábado, 6 de outubro de 2012

Inventário de Material

Caros.

Na segunda-feira precisamos fazer um inventário do material recebido.

Prof. Alan

Projeto - Escola Adventista Jundiaí

Nesta sexta-feira participamos, a convite do Prof. Idemar (Blog do Dema) do início de um projeto na Escola Adventista: eles planejam, no Ano Internacional da Energia Sustentável, elaborar uma Mostra de Ciências, sobre experimentos que utilizem energia sustentável, no caso, energia solar. A primeira etapa do trabalho foi cumprida: uma palestra de sensibilização dos alunos, apresentando algumas soluções que utilizamos. Neste dia participaram a aluna Elaine, Any Taissa e o aluno Jonathan (em breve as fotos).
Desta palestra surgiram as primeiras ideias de trabalho e a data de uma oficina que realizaremos com os alunos da escola: 11/10 no horário da tarde. Nesta oficina executaremos os primeiros projetos dos alunos.
Após a oficina, em 28/10 será realizada a Mostra.
Conforme combinamos segue uma lista de links interessantes para os alunos da Escola Adventista:
- Robôs de energia solar
- Robôs Beam - energia solar
- VM1 - Veículo Mecatrônico
- Robô escova
- Microaeromodelos
- Como construir células solares caseiras
- Como construir células solares com led´s

Esse site eu recomendo e recomendo o painel grande:
http://www.soldafria.com.br/modelix-006-painel-solar-grande-p-5166.html
http://www.soldafria.com.br/modelix-005-painel-solar-pequeno-p-5165.html

Opção 2
http://loja.multcomercial.com.br/ecommerce_site/categoria_4244-4247_4689_Robotica-Painel-Solar
http://loja.multcomercial.com.br/ecommerce_site/categoria_4244-4248_4689_Robotica-Gerador-Eolico

Onde comprar as células solares (apesar de não gostar do ML o preço está convidativo)
http://produto.mercadolivre.com.br/MLB-437565001-celula-painel-placa-energia-solar-fotovoltaica-4v-80-mah-_JM

Opção:
http://produto.mercadolivre.com.br/MLB-437298355-painel-placa-energia-solar-fotovoltaica-5v-100-mah-05w-_JM

Não conheço o site mas existe esta opção:
http://www.produtosoff.com.br/ofertas/verOferta.php?c=36
http://www.kitsegifts.com.br/loja/robo-solar-3d-comex-p-889.html
http://produto.mercadolivre.com.br/MLB-440593809-robo-solar-6em1-kit-educacional-construa-6-robos-diferentes-_JM
http://produto.mercadolivre.com.br/MLB-439583080-kit-robo-solar-6-em-1-gadget-brinquedo-produto-no-brasil-_JM

Planejamento da Viagem - Mostra Nacional de Robótica

Caros alunos.

Já terminei a cotação da viagem para Fortaleza/CE para a Mostra Nacional de Robótica. Os valores abaixo referem-se ao custo individual e ao custo de uma equipe. Considero inviável uma equipe menor do que 5 pessoas dado que, são 5 dias de apresentação, o que tornaria estafante para poucas pessoas. Também considero inviável a participação sem patrocínio, dado os valores. Ir de ônibus está fora de questão, até por motivos de segurança. Não inclui o poster, que deve ficar entre R$ 120,00 para fazer. Mesmo assim o faremos para poder participar no dia 18/10 da Semana de Educação, Ciência e Tecnologia.
Segue abaixo:

Planejamento – Mostra Nacional de Robótica 2012 – Fortaleza CE
Hospedagem:
Diárias a partir de R$ 130/pessoa (café da manhã, almoço e jantar)
Total: R$ 3250,00
Transporte:
Cotação por pessoa (ida e volta)

·         Tarifa por adulto: R$ 678
·         Adultos (5)R$ 3.390
·         Imp. e taxasR$ 214
·         Taxa de serviçoR$ 339
·         TOTALR$ 3.943

Item
Valor unitário (R$)
Valor Total (R$)
Hospedagem
130,00
3250,00
Transporte
678,00
3943,00

Total
7.193,00


Eventos Previstos - 2012 a 2013


Segue a relação de convites oficiais e eventos que participaremos no período de 2012 a 2013. Pode ser que a relação aumente, dado a feiras e outros eventos que não temos condições ainda de participar (por falta de verba).
Evento
Local
Data Prevista
Oficina – Produção de Robôs Solares
Escola Adventista – Jundiaí / SP
11/10 às 13:00 hs
VI Semana de Educação Ciência e Tecnologia
Instituto Federal de Educação / SP
18/10 às 8:00 hs
Mostra Nacional de Robótica 2012
UNIFOR – Universidade de Fortaleza/CE
17 a 21/10/2012
Apresentação na Escola Adventista – Produção de Energia Sustentável
Escola Adventista – Jundiaí / SP
28/10/2012
7° Grande Desafio
Unicamp / SP
Sem data prevista (junho 2013)
V Torneio Juvenil de Robótica
Instituto de Matemática – USP/SP
16, 17 e 18/08/2013
I Competição Interamericana de Robótica
Instituto de Matemática – USP/SP
16, 17 e 18/08/2013
Olimpíada Brasileira de Robótica – Etapa Estadual
USP – Instituto de Matemática/SP
Julho 2013
Mostra Nacional de Robótica 2013
Sem local previsto
Outubro 2013
Olimpíada Brasileira de Robótica 2013
No local da MNR
Outubro 2013

quarta-feira, 3 de outubro de 2012