viernes, 23 de julio de 2010

El auto que quería ser ratón






El circuito para los sensores de distancia
ojo que no use los lm741 para amplificar la señal de los sensores de distancia. En vez de eso ocupe 358.














el codigo escrito en ccs:

#include <16F84A.h>

#FUSES WDT                      //Watch Dog Timer
#FUSES XT                       //Crystal osc <= 4mhz for PCM/PCH , 3mhz to 10 mhz for PCD
#FUSES PUT                      //Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading

#use delay(clock=4000000)

front()
{
output_a(0b011);
delay_ms(100);
}

rear()
{
output_a(0b110);
delay_ms(100);
}

stop()
{
output_a(0x00);
delay_ms(100);
}

void main()
{

   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);setup_wdt(WDT_36MS);
   int8  portb;
   // TODO: USER CODE!!
   while(1)
      {
      portb = input_b();     
      switch (portb)
         {
         case 0b10000000:     //escapar 
         front();
         break;
         case 0b01000000:
         rear();
         break;
         case 0b00100000:
         front();
         break;
         default:
         stop();
         break;
         }
      }    
}

2 comentarios:

  1. ¿que ultrasonidos usaste?¿entregan una tensión proporcional a la distancia?.
    porque los que yo conocía eran los Ping, y tenes que darle un pulso, y el sensor te entrega un 1 de x tiempo dependiendo de la distancia.

    ResponderEliminar
  2. es un sensor muy fácil de ocupar entrega 9,8mV por pulgada y tiene un rango de 6,5 mts también tiene salida uart y pwm. Creo que eso son todos. El sensor de llama LV-MaxSonar EZ1 MB1010, Puedes encontrar el sensor en olimex.cl en la parte de sensores de proximidad.

    ResponderEliminar