Mostrando postagens com marcador RAMA. Mostrar todas as postagens
Mostrando postagens com marcador RAMA. Mostrar todas as postagens

segunda-feira, 1 de agosto de 2011

Projeto RAMA - Video de funcionamento

Olá,

Como já terminamos o projeto e não tivemos tempo de postar o resto do material, aqui vai um vídeo do protótipo pronto, mas ainda sem acabamento.


Por enquanto é só.

Até mais,

Giovanni WarLock

quinta-feira, 7 de julho de 2011

Projeto RAMA - Sensor de obstáculos

Ola,

Hoje vou explicar como foi feito o sensor que serve para ver se há algum obstáculo em frente ao mesmo.
Ele funciona segundo o princípio da reflexão da luz. Utiliza dois componentes básicos: o led infra vermelho e o receptor infravermelho.
A rotina de leitura do sensor é a seguinte: desligar LED -> medir fundo -> ligar LED -> medir leitura ->calcular.

Vou explicar como funciona: primeiro ele desliga o led infravermelho e mede a intensidade do fundo, isto é, a quantidade de infravermelho que já "havia" no local e a grava na variável fundo(apenas em uma sala completamente escura não há nenhum infravermelho).


Depois ele liga o LED infravermelho e mede a intensidade da luz refletida pelo objeto, e se não houver nenhum objeto então a intensidade refletida vai ser pouco diferente da intensidade de fundo.  
No código fonte a leitura é invertida devido à construção eletronica do sensor.

Depois disto, o programa no PIC calcula a direfença e verifica se o resultado é maior que o valor de disparo para objeto, que é um valor fixo que indica quando a diferença de luz chega a um nivel onde há um objeto na frente do sensor, então retorna uma variável booleana (sim ou não) com o resultado da leitura.

O esquemático e a placa de circuito:














Placa de circuito impresso: http://www.megaupload.com/?d=65Z3B9K1

Segue o código fonte:
> SensorIR.c
 ////////////////////////////////////////////////////////////////////////////////
//////////////////////////ROTINAS DO SENSOR/////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

#DEFINE irled pin_a2

int disparo=60;
int fundo=0, leitura=0, res=0;

//Funçao para detecção de obstáculo
boolean obstaculo()
{
   set_adc_channel(0);
   delay_us(30);
   output_low(irled); //Desliga LED
   fundo = read_adc(); //Lê fundo
   delay_us(30);
   output_high(irled); //Liga LED
   leitura = 255 - read_adc(); //Lê medida
   output_low(irled);
   res = leitura - fundo; //Calcula
   if (res>disparo) //Retorna resultado
   {
      return true;
   }
   else
   {
      return false;
   }
}
Só isso por enquanto.

Até mais,

Giovanni WarLock

quinta-feira, 30 de junho de 2011

Projeto RAMA - Robo Autonomo com Mapeamento Adaptativo

Olá,

     Esta é a página inicial do projeto RAMA (Robo Autonomo com Mapeamento Adaptativo) que estou desenvolvendo junto com um amigo meu (@GHINOMO).
     O projeto consiste em um robo que, após programado com as coordenadas inicias dele e as coordenadas do objetivo, encontra um caminho para chegar ao local desejado independentemente dos obstáculos que estiverem no meio do caminho. E, se o usuário desejar retornar ao ponto de origem, onde o robo estava inicialmente, o robo considera os osbtáculos que já haviam sido detectados e segue pela melhor rota (se o robo não tiver sido reinicializado).
     O robo vai utilizar o microcontrolador PIC 16F877A, quatro botões e um display LCD para configuração.
     O diagrama de funcionamento básico do robo é o seguinte:






























Por enquanto é isso pessoal.


Até mais,
Giovanni WarLock