TODOPIC

Mecatrónica => Robótica => Mensaje iniciado por: dogflu66 en 10 de Mayo de 2006, 19:32:08

Título: Bot Controlado por RF
Publicado por: dogflu66 en 10 de Mayo de 2006, 19:32:08
Después de estar tecleando un rato por el msn con el pana Gio, decidimos abrir un nuevo hilo para compartir nuestra pequeña experiencia con todos aquellos que puedan estar interesados en experimentar con el control por rf.

El Bot que utilizare será…… por supuesto… a Miguelito...  :D
Título: Re: Bot Controlado por RF
Publicado por: puchy en 10 de Mayo de 2006, 20:03:00
wenass

Justamente estoy haciendo un bot que utiliza rf. Ya hice pruebas con estos modulos en un pequeño bot para controlarlo inalambricamente y van muy bien.

Eso si ,en el receptor le tube que poner un rutina para ver si recibía datos correctos, porque sino se le iba mucho la pinza xD

Saludos
Título: Re: Bot Controlado por RF
Publicado por: kain589 en 10 de Mayo de 2006, 20:24:03
Pues gracias por compartir vuestros hallazgos, yo estuve intentando usar las Rf con los modulo de telecontrolli pero nunca los consegui hacer andar
Título: Re: Bot Controlado por RF
Publicado por: LordLafebre en 11 de Mayo de 2006, 00:37:20
Hola:

Asi es panas, estavamos conversando con Carlos para abrir este hilo y comentar experiencias con la RF a la robotica, yo ya logre controlar a Hyperion con modulos de Laipac, ahora estoy adaptando un mando de play station 1 para comandarlo, ya estaremos poniendo aqui como a sido costumbre, esquemas videos y codigos...

Hasta entonces amigos...  :mrgreen:
Título: Re: Bot Controlado por RF
Publicado por: Algec en 11 de Mayo de 2006, 05:37:49
Yo estoy haciendo eso mismo pero pretendo hacerlo con RF y que sea compatible con I y un mando a distancia convencional, y con pic o PC solo cambiando el modulo RF por el emisor IR y un puente para evitar que la modulacion del led IR llegue al modulo RF.
Por eso pretendo usar protocolos de RC5 de mandos convencionales de TV
Si nos ponemos de acuerdo quizas podria ser un comienzo.
Título: Re: Bot Controlado por RF
Publicado por: Veguepic en 11 de Mayo de 2006, 10:22:35
Hola amigos:

Al final no pude conseguir los modulos por los cual los voy a comprar directo a los yunaites (usa) y pienso traerme unas 10 parejas para abaratar costos, pero tengo una duda, al final he visto tantas marcas que estoy mareado  :? :?

He visto que hay el estandar de trabajar a 433.92 MHz. (aunque tambien hay otras frecuencias)

Todas las marcas trabajan con ask. Adicionalmente he visto ook. pero no entendi muy bien esto.

Aqui mi pregunta, supongoque el codigo asm o C que ustedes desarrollen le puede hacer a cualquiera de las marcas o aparte tienen diferencias entre ellas?

Agradecere me resuelvan estas dudas.

Saludos
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 11 de Mayo de 2006, 10:26:51
Tu propuesta es interesante para así trabajar fácilmente con IR y RF, pero ya tenemos el protocolo desarrollado ya sea para trabajar por soft o usando el modulo usart del pic bajo RS232, de todas formas la intención del hilo es la de aprender a conectar correcta mente los módulos de rf (laipac y aurel en nuestro caso y cualquier otro con el que la gente que se sume tenga experiencia) enviar y recibir datos correctamente.... para controlar en este caso unos motores dc... pero que toda la experiencia que tengas sobre IR será bien venida... y es cuestión de empezar con la rf y una ves funcionando es cuestión de que se modifique el soft para trabajar de la forma que indicas... :)
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 11 de Mayo de 2006, 10:41:23
Hola Vequepic, los módulos con los que tengo experiencia son los módulos de Laipac y de Aurel, para transmisión de datos y modulacion ASK… si ya te sales de esas marcas tendrás que correr el riesgo…
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 11 de Mayo de 2006, 10:51:01

los modelos que tengo son los siguientes:

Emisor Saw 0,5W – 433,92Mhz, Mod. C-0507 “Este todavía no lo he probado, esta pendiente”
Emisor Saw para Datos – 433,92Mhz, Mod. C-0503
Receptor para Datos – 433,92Mhz, Mod. C-0504
http://www.cebek.com/esp/productos.aspx?familia=272

y los de laipac
TLP433A, RF ASK Transmitter at 433.92Mhz
RLP434, RF ASK Receiver at 433.92Mhz – LC Type
RLP434A, RF ASK Receiver at 433.92Mhz – SAW Type

En el Bot Volador hay algunos comentarios mas sobre los modulos de RF.
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 11 de Mayo de 2006, 10:54:36
PD. yo trabajo en Basic... :-)
Título: Re: Bot Controlado por RF
Publicado por: Veguepic en 11 de Mayo de 2006, 11:47:29
Gracias por tus datos dogflu66:

Ni modo a arriesgarse, porque los precios de aurel y laipac si que son altos.

Ahora recien veo que la modulacion es ask, lo que veo es que los de tipo SAW son un  poco mas caros que los LC, supongo que son mas estables.

Bueno hoy los compro y llegaran en unos 3 a 4 dias espero.

Saludos
Título: Re: Bot Controlado por RF
Publicado por: LordLafebre en 11 de Mayo de 2006, 11:53:13
Hola:

El lenguaje que utilizo yo es PBP pero es casi el mismo para Proton, y es diferente al Basic de Carlos, como sera muy dificil que todos hablemos en el mismo "LENGUAJE"  :D sera interesante que en los futuros codigos de ejemplo vayamos poniendo comentarios en las lineas de codigo para todos entender que estamos haciendo  :mrgreen:

Saludos...!!!
Título: Re: Bot Controlado por RF
Publicado por: Veguepic en 11 de Mayo de 2006, 12:14:19
Upsssss

Yo a las justas asembler  :?. Pero me parece excelente lo que propone Lordlafebre de incluir en los comentarios la descripcion de cada rutina y facil nos entendernos todos  :-).

Supongo que con un 16F84 bastara al inicio no :?:

Título: Re: Bot Controlado por RF
Publicado por: Algec en 11 de Mayo de 2006, 12:56:26
Yo ya he trabajado con modulos aureal transmitiendo datos.
Tengo dos juegos Emisor/receptor y es necesario para seguridad implementar codigo de envio porque con comunicacion serie se pierden datos.
Título: Re: Bot Controlado por RF
Publicado por: LordLafebre en 11 de Mayo de 2006, 12:58:19
Hola:

Veguepic, ya que vas a trabajar con ensamblador, pues te recomendaria un pic con usart, ya que la info se transmite en forma serial, solo que la puedas hacer via soft con el 84, en mi caso utilizo un 84 y un 648, y los datos seriales los envio utilizando una funcion de PBP que es SEROUT, esta no necesita de modulo usart, sino lo hace por software por cualquier pin.

Suerte...!!!
Título: Re: Bot Controlado por RF
Publicado por: Algec en 11 de Mayo de 2006, 13:12:12
Yo ya he trabajado con modulos aureal transmitiendo datos.
Tengo dos juegos Emisor/receptor y es necesario para seguridad implementar codigo de envio porque con comunicacion serie se pierden datos.
Por eso lo del protocolo RC5 y ademas serviria para varios equipos ya que lleva ademas del comando la direccion incluida.
Yo de todas formas probare esta solucion, programada en C y ya os dejare noticias de como va.
Título: Re: Bot Controlado por RF
Publicado por: LordLafebre en 11 de Mayo de 2006, 13:31:18
Hola:

Lo siento Algec, no lei tu post anterior, lo que comento es en base a experiencia y pues para esa aplicacion no tuve problemas de transmicion, pero la idea del protocolo RC5 es buena, ya cada uno iremos contando los resultados, para el lunes o martes espero ya subir algo de codigo y un videito  :mrgreen:
Título: Re: Bot Controlado por RF
Publicado por: Veguepic en 11 de Mayo de 2006, 13:47:11
Lordlafebre, si tengo un pic con usart, el 18F2550, pero la verdad ni idea de como usarlo  :? :?

De principio pienso hacerlo con un 16F84 para manejarlo bien, luego subire al 18F.

Te agradeceria si me pudieras pasar alguna info de transmision de datos serial para ir avanzando.

Gracias, saludos.

P.D. Acabo de recordar que tengo un 16F628 que tambien tiene usart y es similar al 16F648, asi que tambien lo podre usart  :D :D



Título: Re: Bot Controlado por RF
Publicado por: LordLafebre en 11 de Mayo de 2006, 14:27:47
Hola:

El 628 iria bien, con respecto a lo de la informacion, pues no tengo nada a mano, lo siento, como comente en Basic solo utilizo las funciones  SEROUT y SERIN para enviar y resivir datos respectivamente.
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 11 de Mayo de 2006, 16:19:51
Hola vequepic por el momento no tengo un código listo para controlar motores por rf (estoy trabajando en el), pero si quieres mira este soft, que comanda dos placas cada una con 4 entradas y cuatro salidas, en este caso es comunicación bidireccional, y con protocolo de comunicaciones preparado para trabajar en red de placas inalámbricas y con acuse de recibo ok.... es lo que tengo operativo por el momento, es mas de lo necesario para esta aplicación pero puedes mirar a ver si sacas algo en claro…

http://www.mytempdir.com/659042
Título: Re: Bot Controlado por RF
Publicado por: Veguepic en 11 de Mayo de 2006, 23:43:19
Te agradezco la pronta respuesta Lordlafebre pues me has animado a investigar esto de los modulos.

Gracias Dogflu66 por el archivo, lo he revisado y si mal no recuerdo me parece lenguaje C?

Pues yo tratare de hacerlos funcionar con asembler, espero.

Saludos

Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 12 de Mayo de 2006, 03:18:58
Es basic veguepic, un tanto peculiar pero basic.

Algec no observe nunca perdidas de datos en las tramas, para que el protocolo de repetición de trama errónea se activara tuve que provocar yo el error...

Siempre la primera trama llega bien, por supuesto con protocolo de detección de inicio de trama, identificación de la red, nombre envía, nombre al que se envía, nombre de la trama, comando, datos, datos, datos, datos y checsum…
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 12 de Mayo de 2006, 03:25:12
y por supuesto la respuesta del comando generico "OK" a esa trama en concreto para validarla...
Título: Re: Bot Controlado por RF
Publicado por: Algec en 12 de Mayo de 2006, 04:42:05
Yo si tuve problemas y supongo que son de interferencias de radio porque en Ir me funcionaba bien el mismo protocolo.
Título: Re: Bot Controlado por RF
Publicado por: Algec en 12 de Mayo de 2006, 12:14:41
VEamos, he comenzado a tratar de evr el protocolo que tiene el mando que tengo libre y uso el siguiente programa que andaba por aqui por el foro, que creo que es de Potcher(mucha ayuda me presto antes en otras cosas)
 
Código: [Seleccionar]
//***************************************************
// CCS Compiler// Receptor IR (código RC5 de Philips)
//***************************************************



#include <16F877.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT  // Los Fuses de siempre
#use delay(clock=4000000)                     // Oscilador a 4 Mhz


// Ojo a la libreria de LCD

#include <lcd1.c>

// selecciona la entrada del sensor IR

#define REC_IR PIN_B0

// ojo hay que ver donde se conecta el LCD

main(){

   // define un bit
   int1 bit;

   // define enteros de 8 bits

   int i, nbit, error;

   byte buffer[2];


   set_tris_c(0b00001111); // RB7-RB4 salidas, RB3-RB0 entradas

   // inicializa el lcd y pone un mensaje
   lcd_init();
   printf(lcd_putc,"\fReceptor IR:");
   lcd_gotoxy(1,2);
   printf(lcd_putc,"RC5 de PHILIPS\n");

   delay_ms(2000);

   // El sensor receptor invierte el código
   // RC5 del emisor (mando a distancia)

   // bucle de trabajo

   while(1)
      {
      buffer[0]=0;  // pone a cero el primer Byte
      buffer[1]=0;  // pone a cero el segundo Byte
      error=0;
      nbit=0;
      i=0;


      while(input(REC_IR)==1);

         // Espera al 1er bit de START (flanco de bajada) del receptor IR

            delay_us(444);

         // Se posiciona en el medio
         // el codigo son 13 Bits ( 2 de start + 5 direccion + 6 comando)

      while((nbit++ != 13) && (error == 0)) // 2º bit de START + 1 bit TOGGLE
            {

            // 5 bits DIR + 6 bits COMANDO
            // nbit varía de 0 a 12 = 13 bits

            delay_us (889);

            // Mide en el primer semiperiodo del
            // bit, para que invierta el código y
            // dé el original RC5 del emisor

            if(input(REC_IR)==0)
               {
               delay_us (889);
               if(input(REC_IR) != 1)
                  error=1;
        bit=0;   // Es un 0
               }
        else
               {
               delay_us(889);
        if (input(REC_IR) != 0)
                     error=1;
               bit=1;   // Es un 1
               }
            shift_left(buffer,2,bit);            //    buffer=buffer[0], 2·8=16bits, bit=0 ó 1
            }

            if(error) printf(lcd_putc,"\fError\n");
            else printf(lcd_putc,"\f%x %x Comando %d\n",buffer[1],buffer[0],buffer[0]);
        }
    }








[end code]

Esto no me funciona y no se porque, no me lee nada en el LCD, ningun dato del IR, aunque los pulsos llegan bien, lo he comprobado sacandolos por otro pin del pic segun llegan y con el osciloscopio


Título: Re: Bot Controlado por RF
Publicado por: angelmoi123 en 12 de Mayo de 2006, 12:59:00
SALUDOS AMIGOS

YO HE UTILIZADO, LOS MODULOS LPRS Y ME PARECEN FANTASTICOS, TRABAJAN HASTA 38.400 bps POR LO QUE PARA UN PROYECTO DE ROBOTICA TELEDIRIGIDO ES SUFICIENTE.

ANGELMOI123  
Título: Re: Bot Controlado por RF
Publicado por: navaismo en 13 de Mayo de 2006, 15:51:28
Hola amigos , bueno tarde pero les comento; asi como les decia en el foro de picbasic pues uso los mismos modulos de rf, y me han funcionado muy bien para varias cosas, asi pues tambien controle la vibora que viene en el libro de mcgrawhill el de Amphibionics esa viborilla que todos conocemos le anexe una rutina para poder ser controlada via rf con esos modulos y desarme el mando analogico del play (la palanquita). y le deje la rutina que viene con el robot.

en realidad fue muy sencillo ya que el control es analogo usando el adc del 877 cree rutinas para los valores que me daban de izquierda de derecha arriba y abajo y cuando se combinaban. Por ejemplo: para la izquierda los valores analogos me oscilaban entre 50 y 120 y si mi variable estaba en eso se movia  ala izquierda y asi para todos mandando via serial a los modulos con sus datos de sincronia y pues la viborilla se movia muy bien.

claro antes de encender el animalejo con un switch escogia si seria manual o automatico, para el circuito transmisor y receptor utilice el 16f877. y lenguaje PBP.

ahora lo que quiero que haga esa viborilla es que en modo automatico me describa el terreno por donde paso en un lcd como el juego de la viborita que siga derecho y qu me indique las vueltas que da, claro para esto tendria que ocupar otro par de modulos y seria bueno utilizar los decodificadores de holtek ya que podria direccionar ambos pares y asi no interferir en las señales ya que manejarian diferentes canales, ademas de que el control remoto seria ya mas sencillo utilizando una cruzeta como la del playstation.

saludoss
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 14 de Mayo de 2006, 11:02:22
Pues vamos todos palante y vemos lo que sacamos...

Algec, estuve mirando tu código, y no le veo fallo, de todas formas pienso que esta rutina tendría que estar implementada por interrupciones, ya que según crezca el programa, puede que tengas que repetir varias veces la trama para que los bit sean leídos correctamente... de todas formas yo no soy un experto en C, a ver lo que te comenta algún otro compañero...
Título: Re: Bot Controlado por RF
Publicado por: Algec en 14 de Mayo de 2006, 13:18:01
Gracias por responder. Por cierto ese codigo no es mio.
Me he centrado primero en la emision IR en codigo RC5 y ya esta el primer programita de pruebas, que funciona al menos en proteus, lo pego por si alguien quiere probarlo.
Mañana seguire con la recepcion a ver si tengo tiempo.
Código: [Seleccionar]
// Explicacion del Protocolo RC5
// 1 = 899 Us salida a 0 y 899 useg salida a 1
// (un flanco de subida a mitad de un pulso de 1778 useg de duracion es un 1)
// 0 = 899 Us salida a 1 y 899 useg salida a 0
// (un flanco de bajada a mitad de un pulso de 1778 useg de duranciones un 0)
// Como el receptor IR necesita una modulacion de 38 Khz se usa el PWM para generar la modulacion


#include <16f877.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT
#use delay(clock=4000000)

int duty       =  12;   // ajusta el ciclo del oscilador
int tempo      =  25;   // ajusta la frecuencia del oscilador, subir el valor baja la frecuencia


// FUNCION DE ENVIO DE PULSOS
// Genera los pulsos del protocolo RC5 para cada bit a enviar
// Genera los pulsos de longitud determinada al protocolo RC5
// y los flancos de subida o bajada correspondientes

void enviaIR(int1 bit)   // envia un bit en el protocolo RC5
{
   if(bit==1)                   // envia un 1
      {
      setup_ccp2(CCP_OFF);      // Desactivo CCP2 (38 Khz)
      delay_us(889);            // espera 889 useg
      setup_ccp2(CCP_PWM);      // Activo  CCP2 (38 khz)
      delay_us(889);            // espera 889 useg
      }
   else                         // envia un 0
      {
      setup_ccp2(CCP_PWM);      // Desactivo CCP2 (38 khz)
      delay_us(889);            // espera 889 useg
      setup_ccp2(CCP_OFF);      // Activo CCP2 (38 khz)
      delay_us(889);            // espera 889 useg
      }
}


void main()
   {
   int x;   // variable auxiliar

   // Hay que ajustar estos valores al codigo de RC5
   // y sincronizarlo con el receptor que debe tener la misma address
   // y actuar segun los mismos commands
   //         PROTOCOLO RC5
   // dos bits de start a 1 y uno mas 0
   // + cinco bits de address
   // + seis bits de command
   // los restantes se ignoran, pero el ultimo debe ser 0 para dejar desactivado
   // el oscilador al finalizar el comando

   // La direccion 00001 es la direccion de TV2
   // el comando 000001 corresponde a la tecla 1 del mando a distancia RC5
   // el comando 000010 corresponde a la tecla 2 del mando a distancia RC5
   // el comando 000011 corresponde a la tecla 3 del mando a distancia RC5
   // el comando 000100 corresponde a la tecla 4 del mando a distancia RC5
   // el comando 000101 corresponde a la tecla 5 del mando a distancia RC5

   char comando0 =0b1100000100000100;
   char comando1 =0b1100000100001000;
   char comando2= 0b1100000100001100;
   char comando3= 0b1100000100010000;
   char comando4= 0b1100000100010100;

   setup_ccp2(CCP_PWM);                // Configura CCP2 como PWM
   setup_timer_2(T2_DIV_BY_1,tempo,1); // f=38KHz (t = 26us)
   set_pwm2_duty(duty);                // Determina tiempo en alto


   // Se puede anular la siguiente linea de codigo si
   // se quiere comprobar la frecuencia del oscilador
   // ya que este estara oscilando fijo a 38 Khz
   // hasta que se pulse la primera tecla

   setup_ccp2(CCP_OFF);   // desactiva inicialmente el oscilador de 38 Khz


   do
      {

      // transmision del dato correspondiente al pulsador activado
      // activaria RTCC segun comando RC5

      if(!input(PIN_A0))
         for(x=0;x<14;x++)    // solo usas 13 bits por comando RC5
            enviaIR(bit_test(comando0,x));

      if(!input(PIN_A1))
         for(x=0;x<14;x++)
            enviaIR(bit_test(comando1,x));

      if(!input(PIN_A2))
         for(x=0;x<14;x++)
            enviaIR(bit_test(comando2,x));

      if(!input(PIN_A3))
         for(x=0;x<14;x++)
            enviaIR(bit_test(comando3,x));

      if(!input(PIN_A4))
         for(x=0;x<14;x++)
            enviaIR(bit_test(comando4,x));

      delay_ms(10);    // retardo entre el envio de un comando y el siguiente
                       // si se deja pulsado un pulsador fijo

      }while (TRUE);
   }

Ya me direis como va, si alguien quiere el proteus de esto que me lo diga y como subirlo y lo pego.
Título: Re: Bot Controlado por RF
Publicado por: Algec en 14 de Mayo de 2006, 15:27:52
Trabajando sobre el receptor he detectado un fallo en el programa emisor que pegue antes y paso a clarificar cual es
Los comandos estan mal configurados porque he colocado los bits de mas peso como bits de inicio y al reves
es decir hay que ponerlos asi

lo que es ahora 0d1100000100000100
deberia ser       0d0010000010000011
Perdon por el error
Título: Re: Bot Controlado por RF
Publicado por: Mario en 16 de Mayo de 2006, 04:30:38
Hola.

Yo también he trabajado con RF (casi en bots).

La idea era transmitir datos por medio de Hyperterminal de una PC a otra (lo que teclearas aparecería en la otra PC).

Yo utilicé el par de Rentron TWS-434 (434 MHz) y funcionaba bien hasta 1200 bps. La hoja de datos dice que hasta 2.4 Kbps pero yo tuve problemas con eso asi que lo dejé a 1.2K.

Una cosa interesante fue que (después de leer varios artículos en Internet) al colocarle antenas de teléfono (900 MHz) y dándole hasta 10 Volts al transmisor alcanzaba distancias de como 100 mts estando dentro del edificio (escuela) a 250 mts en campo abierto (las computadoras afuera y "viéndose").

Yo también tengo el libro ese de Amphibionics e Insectronics (y algunos mas) y son buenos para saber cómo y dónde comprar las "cosillas".

Sobre lo de que si son estándar o no...........................

Si pueden leer el libro Robot Sumo: The official Guide (Pete Miles, 2002), en el capítulo 10 explica los diferentes tipos de RF para sistemas R/C (27,40,50,72,75 MHz).

Les escribiré algo para que se den una idea:

Banda de 27 MHz
Se usa para vehículos de terrestres y aéreos. Usualmente se emplea en carritos ,tanques, botes y avioncitos de bajo costo. Empieza en 26.995 MHz y se divide en seis canales diferentes (50 Khz entre uno y otro). Estos usan AM o FM para transmitir.

72 MHz
Se usa solo para aviones. No se permite que los robots terrestres utilicen esta banda. Se divide en 50 canales que empiezan desde el 11 al 60. La frecuencia va desde los 72.010 Mhz hasta 72.990 MHz, espaciados de 20 en 20 kHz (tienen una banderita blanca con el canal en el que están).

 :D Descanso  :D

75 MHz
Se usa para terrestres solamente. Se divide en 30 canales que empiezan en 75.410 MHz, se incrementan de 20 en 20 kHz hasta los 75.990 MHz. Los canales empiezan desde el 61 al 90 (tienen una banderita roja con el canal donde están).

50 MHz
Se usa para aéreo o terrena. 10 canales, 50.800 MHz (20kHz). Son canales de dos dígitos (00-09). Estos tienen una banderita negra.

Y los de Japón son de 40 MHz, Reino Unido 35 MHz, en fin, si tienen oportunidad de leer el libro mucho mejor.

También en Build Your Own Combat Robot (de Pete Miles y Tom Carroll 2002) en el capítulo 8 se explica lo mismo.

Otro libro donde una persona utilizó walkie talkies para mandar la información es Build your own All-terrain Robot (Brad Graham y Kathy McGowan 2004) en el capítulo 5 donde utiliza el DTMF de los walkie talkies para mandar comandos de ON/OFF  (utilizando codificadores/decodificadores DTMF).
Aunque solo lo propone como una alternativa quizá se pueda utilizar con el DTMFOUT del PICBasic Pro (quizá).

Quizá esto les sirva.

Apenas estoy autoenseñándome C (C Primer de Prata) asi que no entiendo mucho el código que colocan pero lo haré (algún día  :D).

Sobre lo de transmitir con el Usart en Hardware...........
Microengineering labs dá varios ejemplos de cómo utilizar el Serin/Serout, Hserin/Hserout del PIC Basic Pro.

Al igual de Lordlafebre yo usé solamente el Serin (software) pero ahora que tengo de los 18Fs me pondré a ver si puedo hacer comunicación en hardware con Hserin/out (si me queda tiempo  :D).

Una cosa mas:
Como yo tenía que transmitir un datos en full duplex usé infrarrojos (40kHz y 56kHz). Para transmitir en RF use Duplex. No podía transmitir porque el transmisor de una era igual a su receptor (solo tenía de 434 MHz para las dos PCs) asi que apagaba un receptor cuando transmitía y prendía el otro (usando las condicionantes de Serin). A lo que voy es que es muy (pero muy) recomendable "codificar" la información para no tener problemas si en un mismo cuarto están varios bots con la misma frecuencia (claro que si están con diferentes pues no hay problema).

La gran desventaja con estos transmisores es que son de ASK y cualquier variación (y me ha pasado) de voltaje hecha a perder la información.

¡¡¡¡¡¡¡Uffffff!!!!!!!

Nunca había escrito tanto en ningún foro.

PD: Si tienen oportunidad lean este libro "Mobile Robotic Car Design" de PushKin Kachroo y Patricia Mellodge, yo voy a la mitad y está buenísimo, tiene lo que nunca había visto en un libro de este tipo: diagramas de bloques retroalimentados con su función de transferencia (si, función de transferencia) simulada en MatLab.
Usan un DSP de Motorola (en C) combinado con un PIC 16F874 (en ensamblador).

PD#2:
Me pueden decir cómo hacerle para que si hay respuestas me llegue la notificación a mi correo electrónico normal (no el de miarroba). Antes me llegaba cualquier actualización de tema a mi correo y ahora tengo activado el botón de notificar pero no me llega nada al correo, tengo que entrar al foro, luego al perfil para ver si hubo respuestas.

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Uffffff  otra vez!!!!!!!!!!!!!!!
Título: Re: Bot Controlado por RF
Publicado por: Algec en 17 de Mayo de 2006, 06:00:14
Bien, ya esta casi listo me falta el cheqeo de errores, pero he tenido que modificar el programa de recepcion porque no funciona, o no se como funciona la siguiente funcion.
A ver si alguien sabe como va eso, el orden de los bits que supuestamente carga porque a mi no me trabaja

shift_left(buffer,2,bit);           

EN cuanto este listo los pego emision y recpecion y si alguien me dice como, pego el proteus para que se pueda verificar
Título: Re: Bot Controlado por RF
Publicado por: kain589 en 17 de Mayo de 2006, 06:21:26
Esa instruccion desplaza a la izquierda la variable "buffer" que es de "2" bit y le mete el valor de la variable "bit":

shift_left(buffer,2,bit);     

Ayer mismo estuve usando esa funcion, porque tengo un programa que tambien hace la recepcion que traduje de un codigo en basic pero que no entiendo demasiado,y me extraño el hecho de que en un desplazamiento se introdujeran bit

EDITO-> "buffer" que es de 2 Bytes, me he equivocado al escribir
Título: Re: Bot Controlado por RF
Publicado por: Algec en 17 de Mayo de 2006, 06:39:02
Es lo que se supone que hace, pero no se porque no lo hace bien. En algo falla mi programa.
Si lo hago trabajar con variables bit y las visualizo en una lcd recibe correctamente todos los bits, pero si uso esa funcion la variable buffer no se modifica.
No me gusta la idea de usar una variable tipo bit por cada bit recibido por lo que seguire trabajando sobre ello.
¿Alguien tiene una pista de que pasa?
Ya funciona bien el emisor tanto para IR como para RF en codigo RC5 controlando incluso si se dejo una tecla pulsada o es una nueva pulsacion.
En el receptor tanto IR como RF (es exactamente igual solo cambia que en IR llegan los datos invertidos por el receptor IR que funciona asi) me falta el testeo de errores a mitad de recepcion, y quitar el problema de usar 11 variables tipo bit y cargarlas a un par de enteros, uno con la direccion y el otro con el comando.
En cuanto este listo y chequeado lo subo
Título: Re: Bot Controlado por RF
Publicado por: kain589 en 17 de Mayo de 2006, 08:24:53
La verdad es que yo le he intentado dar forma de bucle a mi codigo usando esa instruccion, incluso comando = comando<<1 (asi llamo yo a mi variable) habiendo hecho previamente la OR de comando y el bit recibido y no hay manera(ahora que lo pienso puede ser porque en este caso hago la OR de datos de diferente tamaño, probare a darle forma de int8). Yo lo hago asi, pero me parece poco "elegante" esta solucion:

Uso las variables sistema(tv,vcr...) y comando(la orden en si) , defino sus bits:

Código: C
  1. //Deben ir despues de la variable que mencionan
  2. #bit comando0 = comando.0
  3. #bit comando1 = comando.1
  4. #bit comando2 = comando.2
  5. #bit comando3 = comando.3
  6. #bit comando4 = comando.4
  7. #bit comando5 = comando.5
  8. #bit comando6 = comando.6
  9.  
  10. #bit sistema0 = sistema.0
  11. #bit sistema1 = sistema.1
  12. #bit sistema2 = sistema.2
  13. #bit sistema3 = sistema.3
  14. #bit sistema4 = sistema.4

Y despues voy cogiendolos uno a uno:

Código: C
  1. ::::::::::::::::::::::::::::::::::::
  2. while (sensor_ir == 0 && contador < glitch){
  3.          ++contador;
  4.          }
  5.       if ( contador < glitch){// para que vaya a inicio usar variable 1bit
  6.          Error_glitch();
  7.          }
  8.       //actualiza sistema
  9.       comandoA = comando;
  10.       sistemaA = sistema;
  11.       //retardo
  12.       delay_us(400);
  13.       //toma bits
  14.       captura_bits();
  15.       comando6 = !valor;//complementa
  16.       captura_bits();
  17.       tog_bit = valor;
  18.       captura_bits();
  19.       sistema4 = valor;
  20.       captura_bits();
  21.       sistema3 = valor;
  22.       captura_bits();
  23.       sistema2 = valor;
  24.       captura_bits();
  25.       sistema1 = valor;
  26.       captura_bits();
  27.       sistema0 = valor;
  28.       captura_bits();
  29.       comando5 = valor;
  30.       captura_bits();
  31.       comando4 = valor;
  32.       captura_bits();
  33.       comando3 = valor;
  34.       captura_bits();
  35.       comando2 = valor;
  36.       captura_bits();
  37.       comando1 = valor;
  38.       captura_bits();
  39.       comando0 = valor;
  40.       //ha habido fallos?
  41.       if ( fallo ==1){
  42.       comando = comandoA;
  43.       sistema = sistemaA;
  44.       }
  45.       //toma de decisiones_vamos a encender led del puerto
  46.       if ( comando == xx){}
  47. :::::::::::::::::::::::::::::::::::::::::::

Como digo no me gusta ese algoritmo, aunque aqui no uso la variable sistema en otros caso si; el bit de toggle no lo uso; este codigo lo pase de uno en basic por eso no lo entiendo demasiado. Una parte que me llama la atencion es el bit 6 de comando que creo que no es el, no sé. Falta parte de codigo si quieres lo subo entero
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 17 de Mayo de 2006, 10:20:04
Ya tengo a Miguelito funcionando por RF en una primera versión del programa... lo próximo será añadir el control de los motores por PWM...

http://www.mytempdir.com/672042
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 17 de Mayo de 2006, 18:39:46
Voy a generar un frecuencia de unos 30hz para controlar los motores por pwm, que eso son unos 33mSg que divididos entre 255 (0 motor sin voltaje y 255 motor alimentado siempre) pasos de velocidad seria 0,12 mSeg, todo esto siempre +- porque depende de la base de tiempos del timer… voy a ver si hay interacción entre el RS232 y el PWM…
Título: Re: Bot Controlado por RF
Publicado por: Algec en 18 de Mayo de 2006, 05:23:16
Ya esta hecho todo, tanto en IR como en RF.
Funciona en proteus perfectamente.
Donde quereis que lo suba? y ¿como?
Título: Re: Bot Controlado por RF
Publicado por: Algec en 18 de Mayo de 2006, 06:22:25
Veamos si puedo subirlo, por favor si alguien lo estudia que me diga si localiza errores
Los ficheros van comentados linea a linea
Añadi la libreria LCD con la que compile los ficheros, los .c, los .hex y el ejemplo de proteus
Solo se puede probar el RF el IR modula a 38 Kh y no funciona en la simulacion pero en real debe ir bien.
Estoy probando en real ya comentare
Título: Re: Bot Controlado por RF
Publicado por: Algec en 19 de Mayo de 2006, 07:34:26
Bien ya me dio tiempo a chequearlo con modulos RF Aureal y he hecho unas pequeñas modificaciones en el codigo. NO afectan al funcionamiento del sistema en general, y asi funciona perfecto.
Lleva testeo de errores, deteccion de tecla mantenida pulsada etc.
Probado como digo fisicamente con modulos aureal y va bien. La parte de IR no esta probada porque no tengo un mando que envie ese protocolo pero debe funcionar igual de bien ya que son similares.
PEgo los ficheros definitivos de prueba para quien quiera usarlos
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 19 de Mayo de 2006, 09:50:02
Enhorabuena Algec, yo estoy incorporando control de velocidad por PWM para los motores y después de esto sustituiré las teclas por mandos analógicos.. y asi sucesivamente hasta tener un  verdadero radiocontrol tan completo como los del mercado…. Jeje, por lo menos eso espero… :mrgreen:
Título: Re: Bot Controlado por RF
Publicado por: Algec en 19 de Mayo de 2006, 09:58:26
Exactamente en lo mismo ando yo, pero me voy una semana de vacaciones asi que lo aparcare un poco.
Cuando vuelva espero ver posteado tu codigo y que lo mio te haya servido para algo.
De camino comprare dos antenas de 433 ya que las pruebas las hice sin antenas y funcionaba
Asi que con antenas debe ir de lujo.
Ando con el control de los servos pero como soy asi como soy quiero hacer una funcion en que se le pase los parametros angulo y velocidad de giro. Algo asi como

servo(N_de_servo,angulo,velocidad)

 y que el servo llamado se posicione en ese angulo a la velocidad reuqerida.

Ademas como soy asi quiero que el angulo concuerde con la realidad independientemente del tipo de servo que se use, para lo cual definiria unos ajustes al principio, que los habria que poner de forma experimental para cada modelo de servo, probando con un programita de testeo con una aguja y un angulo.
asi corresponderia 1 a 1º y 180 a 180º.
Bueno que en eso estoy.
Gracias
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 19 de Mayo de 2006, 10:17:12
Pues si no quieres no es necesario que compres las antenas, ya que con cable unifilar con una longitud de 17cm va igual de bien que con las antenas, y que no sea muy grueso, yo utilizo uno de unos 0,6mm +- para que quede recto pero se doble con facilidad si golpea con algo... y que disfrutes esa semanita pana... :-)
Título: Re: Bot Controlado por RF
Publicado por: Algec en 26 de Mayo de 2006, 12:03:32
He vuelto de mis mini vacaciones, esperaba ver algo mas posteado.
Se ha parado el proyecto de hacer la rutina de control de servo?
YO empezare mañana si puedo.
Título: Re: Bot Controlado por RF
Publicado por: LordLafebre en 26 de Mayo de 2006, 14:01:51
Hola:

Yo tambien me pongo hoy con eso, aunque ya tenia hecho un programa pero no lo encuentro, miestrastanto hare un pequeño programa para controlarlo desde el PC, en unas horas contare novedades.
Título: Re: Bot Controlado por RF
Publicado por: LABmouse en 26 de Mayo de 2006, 14:20:49
Hola a todos, yo puedo dar fe de un gran transmisor de datos por RF, ese es el TLP434A-0.5W, me soporto hasta 300Mts, sin ningun problema, segun fabricante soporta hasta 500mts, pero nunca lo lleve a ese extremo, el receptor para el es el RLP434A, y como interface use los codificadores y decodificadores de hitech

HT12D: Decodificador para señales de control remoto con 8 bits de direcciones y 4 bits de datos.

HT12E: Codificador para señales de control remoto con 8 bits de direcciones y 4 bits de datos.

exelente, cualquier cosa, hay tengo las librerias que me toco hacer para que trabajaran.

saludos desde COLOMBIA. :-/
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 26 de Mayo de 2006, 17:25:01
jeje, el tema sigue...
Título: Re: Bot Controlado por RF
Publicado por: Veguepic en 27 de Mayo de 2006, 00:22:11
Hola PICmouse:

Agradeceria si pudieras poner las librerias para entender un poco estos modulos.

Gracias.

Saludos
Título: Re: Bot Controlado por RF
Publicado por: LABmouse en 27 de Mayo de 2006, 15:12:29
Los buscare y lo montare aca
Título: Re: Bot Controlado por RF
Publicado por: LABmouse en 27 de Mayo de 2006, 15:22:20
Cuando los use utilize los codificadore y decodificadores HT, que eran a 4 bit de datos, por lo que tenia que partir el dato en 2. primero envie la parte alta y luego la parte baja. pero despues que lo termine, me di cuenta que se pudieron conectar directa mente a un pin del pic y transmitir los datos como si fuera RS232. y al otro lado le llegaban como si estubieran conectados los dos pics directamente.

char recibe_por_rf()
{
restart_wdt();
llego_por_rf=(input_d() & 0xf0);
swap(llego_por_rf);
while(input(pin_e0)==1)delay_cycles(1);
while (input(pin_e0)==0)delay_cycles(1);
temporal=(input_d() & 0xf0);
tomado=(llego_por_rf|temporal);
while(input(pin_e0)==1)delay_cycles(1);
return (tomado);
}

void envia_por_rf(dato_enviar)
{
restart_wdt();
output_d(dato_enviar & 0x0f);
output_bit(pin_e1,0);
delay_ms(180);
output_bit(pin_e1,1);
delay_ms(180);

output_d(swap(dato_enviar) & 0x0f);
output_bit(pin_e1,0);
delay_ms(180);
output_bit(pin_e1,1);
delay_ms(180);
}

Título: Re: Bot Controlado por RF
Publicado por: LordLafebre en 27 de Mayo de 2006, 19:15:35
Hola amigos:

Este es mi bot y asi va quedando...  :mrgreen:

(http://img129.imageshack.us/img129/6169/hrf18jb.th.jpg) (http://img129.imageshack.us/my.php?image=hrf18jb.jpg)

(http://img142.imageshack.us/img142/6789/hrf24mm.th.jpg) (http://img142.imageshack.us/my.php?image=hrf24mm.jpg)

(http://img102.imageshack.us/img102/7945/hrf38sl.th.jpg) (http://img102.imageshack.us/my.php?image=hrf38sl.jpg)

(http://img102.imageshack.us/img102/2684/hrf45az.th.jpg) (http://img102.imageshack.us/my.php?image=hrf45az.jpg)

Video:

http://www.4shared.com/file/1803078/32e307e5/HyperionRF.html

Esto es la base por ahora, ya les contare luego cual es la idea....

Espero sus comentarios....  :-/
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 27 de Mayo de 2006, 19:44:07
se ve muy bien...  :-/
Título: Re: Bot Controlado por RF
Publicado por: LordLafebre en 27 de Mayo de 2006, 19:46:10
Hola:

Gracias Carlos... esperamos tu video y fotos  :mrgreen:

Bueno, este es un codigo muy muy muy sencillo y basico, este fue para probar las placas que hice y verificar el funcionamiento del bot, utilizo PBP.

Para el emisor utilizo un PIC 16F648A

Código: [Seleccionar]
include "modedefs.bas"
define OSC 10

CMCON=7
TRISB=%11111111
B0 var byte

inicio:
    select case PORTB
        case %00001110
            SERout PORTA.1,N1200,[0,"F"]
        case %00001101
            serout PORTA.1,N1200,[0,"B"]
        case %00001011
            serout PORTA.1,N1200,[0,"L"]
        case %00000111
            serout PORTA.1,N1200,[0,"R"]
        case %00001111
            serout PORTA.1,N1200,[0,"P"]
    end select  
    goto inicio
end

y para el receptor utilizo un PIC16F872, los dos funcionando a 10Mhz.

Código: [Seleccionar]
include "modedefs.bas"
define OSC 10
B0 var byte
TRISB=%11000000

loop:
    SERIN PORTC.0,N1200,B0
    select case B0
        case "F"
            gosub adelante
        case "B"
            gosub atras
        case "L"
            gosub izquierda
        case "R"
            gosub derecha
        case "P"
            gosub parar
    end select    
    goto loop

adelante:
    high 0:low 1:high 2
    high 3:low 4:high 5
    return
atras:
    high 0:high 1:low 2
    high 3:high 4:low 5
    return
izquierda:
    high 0:low 1:high 2
    high 3:high 4:low 5
    return
derecha:
    high 3:low 4:high 5
    high 0:high 1:low 2
    return
parar:
    low 0:low 1:low 2
    low 3:low 4:low 5
    return
end

Como se aprecia, solo envio unas letras desde el TX y en el RX utilizo un case y hago que se mueva el bot, nada mas...

Por ahora lo tengo asi, ya cambiare la rutina y la hare mejor.
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 27 de Mayo de 2006, 20:29:26
Todavia no comence a trabajar con el mando analogico... sigo con mis cinco teclitas...
pero el soft si, envio una trama de 8 byte, el primero para provocar el sincronismo con el modulo usart + uno de cabecera + cinco de datos y para terminar el checsum... todo esto en realidad es para aprovechar el codigo para el Bot_Volador....   :mrgreen:
Título: Re: Bot Controlado por RF
Publicado por: Veguepic en 27 de Mayo de 2006, 23:54:29
Gracias PICmouse por el codigo, una consulta esta en C?

Quisiera pedirles un favor abusando de su buena disposicion, lo que pasa es que a duras penas manejo asembler, por les solicito si pudieran pegar el hex de sus programas para poder usar un desensamblador y asi pasarlo a asembler, en unos dias espero me deben estar llegando los modulos para asi poder probar, por lo cual mientras pienso probarlos sin los modulos conectando directamente los pics.

Gracias anticipadas.

Saludos

Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 28 de Mayo de 2006, 12:42:41
Aqui tienes el mio...
http://www.mytempdir.com/697932
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 28 de Mayo de 2006, 14:19:32
Para seguir con la tradición…. el pequeño video...

http://www.mytempdir.com/698291
Título: Re: Bot Controlado por RF
Publicado por: gauchosuizo en 29 de Mayo de 2006, 04:46:46
hola gente

que buenos robots se han construido. Mis felicitaciones. Les queria contar que me he comprado el Legp Mindstorm y he empezado a experimentar un poco con los bots :). Por ahora solo utilizo la cpu que viene con el Lego pero tengo pensado hacerme una con un pic y poder manejarlo por RF. En cuanto empieze con el proyecto (tiempo!!), comentare mis avanzes aqui mismo.

un abrazo a todos desde Suiza.

Pablo
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 29 de Mayo de 2006, 09:44:39
hola gauchosuizo... te trae el RCX2, es el que tengo desde hace algunos años... si te puedo ayudar en algo ya sabes pana...
Título: Re: Bot Controlado por RF
Publicado por: gauchosuizo en 30 de Mayo de 2006, 06:57:14
hola dogflug

si, trae el RCX2. Gracias por ofrocerte. Mi idea es hacerme la carta con el micro yo mismo, p.e. con un pic.
Asi puedo armar un bot con los legos y utilizar mas sensores de los que se puede utilizar con el RCX2.

Un abrazo desde Suiza.

Pablo
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 30 de Mayo de 2006, 10:04:31
Si eso mismo es lo que yo hice, pero que las tres entradas del ladrillo  permiten mas de lo que parece ya que van por una especie de lazo de corriente, asi para que te hagas una idea he llegado a conectar facilmente 4 bumper en una unica entrada y se de fijo que se pueden llegar a conectar 8 sin problemas, y despues hay muchos sensores que se pueden conectar en paralelo con otros… y después hay multitud de formas de hacerlo compatible con protocolos estandar como I2C, RS232… etc.
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 30 de Mayo de 2006, 10:17:42
se entiende que la forma de conectar los finales de carrera permite saber cuales de ellos están pulsados o abiertos en todo momento por ello lo de un numero limitado.... ya que se entiende que las entradas son analógicas y el valor llega internamente como tal pero con una sencilla rutina se puede saber que pulsadores estan cerrados sin problemas... ya que cada pulsador lleva una R en serie y esta R es diferente para todos los demas... :mrgreen:
Título: Re: Bot Controlado por RF
Publicado por: Veguepic en 30 de Mayo de 2006, 17:04:48
Gracias Dogflu66 por el archivo, ya lo baje y lo voy a revisar.

Es de miguelito no?

Saludos
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 30 de Mayo de 2006, 17:58:19
si, es en el ultimo que estoy trabajando.... tiene las lineas de mi lenguaje junto con las descripciones y por su puesto la traduccion al asm... :-)
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 30 de Mayo de 2006, 18:13:31
Aqui dejo algo que puede que a algunos les ahorre un poco de trabajo... :-)
(http://img280.imageshack.us/img280/1889/picrfmodulos9kp.jpg)
Título: Re: Bot Controlado por RF
Publicado por: gauchosuizo en 31 de Mayo de 2006, 08:04:04
hola dogflug

gracias por tu informacion. Todavia no me he metido de lleno, asi que no se como van conectados los sensores y que tipo de protocollo llevan. Pero ni bien tenga tiempo, le voy a hechar mano para saber cuales son las posibilidades del RCX2.

Un abrazo desde Suiza.

Pablo

PD: yo no se si hay gente que este entusiasmada con esto de los Legos, pero si hubiera muchos, se podria abrir un hilo que se dedique a esto. Que les parece?
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 31 de Mayo de 2006, 16:33:02
pues por mi parte no hay problema pero me parece que LEGO con RCX o PIC vamos a ser pocos  :(, pero es cuestion de abrir un hilo y ver quien se apunta... :lol:
Título: Re: Bot Controlado por RF
Publicado por: geronimoo en 31 de Mayo de 2006, 21:26:38
PICmouse podrias enviar el codigo completo de tu emisor y receptor de rf ?
si no hay problema porsupuesto
porque tengo mucho tiempo tratando de comunicar 2 pics via rf con los modulos TWS434  y lo unico que logro es enviar cadenas entre mucha basura que recibe el modulo (estoy usando 2 16f84).. lo raro es que usando los decodificadores y codiicadores de holtek ht12E y D.. la cmunicacion va sin problemas.. sin basura ni nada.. pero cuando los reemplazo por pics (y uso la comunicacion por soft rs232) lo unico que capto es basura.. entre la cadena que envio ..
saludos.. felicitaciones a todos por sus bots.. ahi voy por el mio (es patetico)
el chasis es un mouse viejo jeje
Título: Re: Bot Controlado por RF
Publicado por: LABmouse en 04 de Junio de 2006, 14:48:35
hola geronimoo, te cuento que cuando desarrolle el proyecto, utilice los HT, y todo funciono OK, despues fue que me di cuenta que se pudo haber comunicado sin los HT, pero como ya habia entregado el proyecto, no pude hacer pruebas. en estos dias me llegan otros transmisores, entre los cuales esta uno de 2W de potencia de la señal de salida, por lo que estaria llegando la señal idealmente a 2 Kmts. esperare y los probare, despues monto las librerias aca.

Saludos
Título: Re: Bot Controlado por RF
Publicado por: geronimoo en 04 de Junio de 2006, 21:07:50
gracias picmouse...
espero ansioso por los diagramas y codes
saludos...
ah de paso, cuanto te costaron los modulos de 2w?.. y a q velocidad transmiten?
estarian barbaros para montar una red wireless :P
Título: Re: Bot Controlado por RF
Publicado por: Cryn en 04 de Junio de 2006, 21:21:56
Hola saludos, necesito ayuda en lo siguiente; resulta que debo hacer un ckto transmisor, que mediante rf (usare modulos tx y rx TWS-433 y RWS-433 a 433MHz y modulación ASK) envie algo a un circuito receptor, ambos cktos controlados por PIC16f877A, se puede cambiar cualquiera de ellos por un 16f84a, la idea es la siguiente, mediante pulsadores en el transmisor enviar un codigo diferente por cada pulsador presionado y en el receptor una vez demodulado y decodificado hacer una acción diferente, en este caso usaré un display de 7 segmentos de catodo comun, en el cual se visualizarán números del 0 al 7 (solo uso el puerto b), según el pulsador que haya sido activado.

Hice lo explicado según mis pocos conocimientos de programación en ccs y para los pics, no hace mucho que me inicie en este mundo, que por cierto es muy bueno. Quisiera que le den una revisada, por favor, no les tomará mucho tiempo el programa que hice es corto y sencillo, les adjunto tb la simulación que hice con el proteus; evitando la parte de los TWS y RWS con la unión de los pines de tx y rx de los pics con un simple cable. Como podrán ver, la simulación está perfecta, presiono un pulsador y se ve en el display por 3 segundos el dato recibido después se borra a la espera de otro dato, trabajo con interrupción por recepción de datos en USART en el pic receptor; y bueno tb hice un retardo en el transmisor para evitar que se envíen muchos datos antes que el receptor termine su tarea.

Como les dije, en la simulación todo positivo, pero en la práctica, todo armado correctamente, primeramente solo con cable como en la simulación funciona a medias, ya que pareciera que el programa se colgara ya que una vez presionado un pulsador envia el dato y se lo ve correctamente, pero después que se apague el display si se vuelve a presionar el mismo u otro pulsador, el receptor no responde a menos que se le de un pulso de reset, y bueno, no entiendo porque pasa esto, y una vez acoplado con los módulos TWS y RWS funciona de la misma manera como si fuesen unidos por cable, la única diferencia es que ahora a veces ni siquiera hace caso al reset ya que pareciera que se colgara mucho y no responde nada o será que solo recibe ruido y no logra cumplir con la cabecera que le invente para decodificar un dato correcto, bueno espero logren sacarme de las dudas y ayudarme a encontrar una solución para mis problemas, ahh y se me olvidaba use como antena un cable rg-58u de 50 ohm (simple cable de 32 cm de largo, segun hojas de datos ese es el tamaño)

Use una velocidad de transmisión de 240 bit/s en tx y rx, el receptor trabaja con creo 4800 bit/s según hojas de datos, será que eso afecta mucho, porque aca en el foro lei que mientras mas baja la velocidad de tx sería mas óptima la conexión por rf. Use #use r232(….)

Probaré otras cosas y os lo comentare, pero espero que sus respuestas me ayuden mucho, agradezco de antemano su buena intención, muchas gracias, chao.

Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 05 de Junio de 2006, 10:47:24
compruebas en el modulo de RX que el modulo USART no se bloquea, este modulo tiene unos dos BYTES y pico de búfer, si no recuerdo mal, y si no lo descargas a tiempo presenta un error y se queda bloqueado en RX (por perdida de datos) hasta que le borres sus indicadores de error?... y también para que el modulo USART que obtiene los datos del RX detecte bien la transición de BIT alto a bajo, que significa viene una trama de BIT, (esto pertenece a la capa física de bajo nivel)... puedes enviar el byte 0, antes de la cabecera, para que se sincronice el modulo... esto no es necesario con todas las radios... pero algunas trastocan este BIT de arranque... y hacen que se pierda el primer byte.
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 05 de Junio de 2006, 10:53:25
PD: No trabajo habitualmente en c, pero cuando pueda le echare un vistazo al programa... :)
Título: Re: Bot Controlado por RF
Publicado por: Cryn en 05 de Junio de 2006, 15:10:22
Hola viendo en la simulación normalmente la salida de tx del pic esta en 1 lógico, y este pasaría al modulo tws y este lo pasa al modulo rws que va al rx del pic, lo que provoca que el transmisor (tws-433) todo el tiempo transmita un uno; como puede evitarse eso?
Como se pueden descargar todos esos bufer mediante software hasta que reciba un dato correcto, para no tener complicaciones??, ademas en la simulación sale perfectamente, no entiendo cual puede ser el error; lo que adjunte tiene comentarios por todo lado, y no esta complicado sera facil de entender
Ayuda con la antena, esta bien poner un cable rg-58 (pele las puntas y una va a la placa y la otra punta al aire, o debo pelarlo todo el cable?), o que sería más óptimo.
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 05 de Junio de 2006, 18:05:26
Con respecto a la antena, utilizo un cable unifilar no muy rígido de unos 17cm y me va bien... y si estas usando el rg58, como radiante, solo tienes dos posibilidades o utilizas tanto la malla como el hilo central como radiantes, y esto se hace cortocircuitando la malla con el central en las puntas o quitando la malla y utilizando el central solo...
y con respecto a la simulación te diré que es correcto el pin de rx del pic tiene que estar a 1 siempre y cuando cae es la indicación de que vienen los bit de la trama... y precisamente ese puede ser un problema ya que puede que en la realidad tengas ruido en el pin y puede que este oscilando, eso puedes comprobarlo con un polimetro en selección de lógica... por eso lo de mandar el byte 0, al principio de cada trama, debido a su configuración especial de bit que lo componen... y con respecto al proteus (no lo uso), desconozco si emulara correctamente los posibles errores que puede presentar la usart... :(
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 05 de Junio de 2006, 18:13:51
y con respecto al bufer de la usar, es cuestión de que siempre estén activadas las interrupciones para que se mantenga vació... a un que estés procesando los datos antiguos, los datos nuevos puedes guardarlos o destruirlos, según te convenga... en este hilo tengo publicado un programita que trabaja con comunicación bidireccional y con protocolo de corrección de errores, esta +- al principio del hilo, y mas al final puedes encontrar varios códigos que funcionan con comunicación en un solo sentido... es cuestión de que revises un poco el hilo... solo hay un problema es que están casi todos en Basic... aun que también hay algo de código en C...busca un poco en este mismo hilo y si no lo encuentras intentare indicarte en que sitios en concreto están cuando coja un rato libre…
Título: Re: Bot Controlado por RF
Publicado por: Cryn en 07 de Junio de 2006, 13:53:23
Hola saludos, lei muchas veces el hilo, tratando de buscar alguna respuesta que me aclare dudas, algunas se me aclararon y el ejemplo que dejaron no usa el formato rs232 es simplemente un pin por el cual se envia todo, podria cambiar talvez, nose ya veremos, pero creo por ahora es indispensable que use rs232; muchas gracias seguire intentado, estoy usando interrupcion por usart en el receptor (por byte recibido). Alguien alguna vez manejo los modulos tws-433 y rws-433 de computronics?? funcionan bien, creo que tienen algunos problemas, reciben mucho ruido, como puedo eliminar algo del ruido?? gracias.
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 07 de Junio de 2006, 16:39:41
Este programa usa la USART, y controla el desbordamiento de esta, utiliza un búfer para recepcionar los datos y almacenarlos para su posterior uso (no se perderán datos mientras no lo desbordemos)... funciona tanto si conectas un driver al pic para trabajar con RS232, o si conectas los módulos de RF directamente al PIC... tanto los módulos de cebek como los de laipac... sincroniza el bit de arranque de la trama (para los módulos ruidosos de laipac)... necesita acuse de recibo para validar la trama (comunicación bidireccional en half duplex y se puede pasar a full duplex muy fácilmente simplemente quitando unos semáforos que impiden que las placas transmitan al mismo tiempo), esta pensado para trabajar en red inalámbrica de plaquitas por lo que se podría implementar fácilmente una red de estas con algunas modificaciones al soft... y puede que alguna cosilla mas que no recuerdo ahora...

http://www.mytempdir.com/659042
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 07 de Junio de 2006, 16:56:27
Creo que se te escapo un detalle, en la pagina 5 de este mismo hilo, puedes comparar tus módulos con los míos, y podrás observar que son los mismos que utilizamos varios foreros, echando un vistazo a las fotos de los tuyos incluso se puede leer laipac en el receptor, y el transmisor que utilizas también de laipac, es un modelo anterior al nuestro, pero de igual características, en realidad estamos trabajando con el mismo material… y tuve los mismos problemas que expones… los cuales fueron resueltos realizando estas pocas recomendaciones… espero que esta ultima aclaración te pueda ayudar un poco… en estos días tengo todo el tiempo libre ocupado a si que solo puedo darme una pequeña escapadita por aquí… suerte... :)
Título: Re: Bot Controlado por RF
Publicado por: Cryn en 15 de Junio de 2006, 20:04:31
Pues muchas gracias por las respuestas, me ayudaron mucho, gracias en especial a Algec, ya que use su código está muy bueno, a dogflu66 agradecimientos totales porque sus consejos me fueron de gran ayuda, el codigo que escribio en otro lenguaje, basic creo ni idea no le entendi casi nada, pero muchas gracias, yo programe en c, jeje, ya logro recibir con mayor claridad los datos y sin ningun error, yupi!!! muchas gracias, les mostrare algun video si logro hacerlo, vale?? ahora necesito hacer algo que me falte, con el codigo de algec, quiero enviar un 1 por ejemplo para controlar un auto con motores de 5V, con un uno avanzará y quiero que indefinidamente hasta que se suelte el pulsador siga avanzando, y lo mismo con el retroceso, como lo hago porque algec detecta que el pulsador no se deje presionado, como puedo controlarlo??? y necesitara algun tipo de amplificación para la corriente que entrega el PIC para activar los motorcillos de 5 V?? como hacerlo?? o no hace falta para moteores de 5 v??
Título: Re: Bot Controlado por RF
Publicado por: Algec en 16 de Junio de 2006, 04:28:51
Puedes obiar el bit de que detecta que esta pulsado y mandarlo de forma continua, o no mandarlo si no se ha cambiado de pulsador. El codigo esta abierto a todas las modificaciones posibles, solo es un ejercicio.
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 16 de Junio de 2006, 09:53:56
En este subforo tienes muchos hilos donde indican como conectar motores al PIC, pero aquí tienes la dirección de la pagina del pana LorLafebre donde puedes descargar el esquema de la controladora del Bot Miguelito, y esta controla dos motorcitos DC, mira el esquema y si tienes alguna duda consúltamela...
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 16 de Junio de 2006, 09:57:51
PD: La direccion http://www.freewebs.com/glafebre/miguelito.htm
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 16 de Junio de 2006, 10:14:06
Pues para hacer lo que quieres pude ser tan fácil como esto

para el soft del receptor

IF Bit_palante=1 THEN
   GOSUB motor_palante
   Bit_patras=0
ENDIF

IF Bit_patras=1 THEN
   GOSUB motor_patras
   Bit_palante=0
ENDIF

IF Bit_stop=1 THEN
   GOSUB motor_stop
   Bit_palante=0
   Bit_patras=0
ENDIF

Este código no esta en C, pero creo que se entiende bien.
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 16 de Junio de 2006, 10:31:30
PD. El motor no se puede conectar directamente al pic, ya que el micro tiene salidas de baja potencia, como para controlar un led y poco mas... :-)
Título: Re: Bot Controlado por RF
Publicado por: Cryn en 16 de Junio de 2006, 16:00:58
Hola saludos, muchas gracias por las respuestas, buscare mas información para el manejo de los motores; y bueno ya le quite la opción del mantenimiento de la tecla pulsada, y va bien, ahora me surgio una duda, en el modulo qeu uso rws-433 el receptor presenta un pin 3 que esta destinado a la Salida Lineal (Linear Output); para la recepcion de datos en mi proyecto uso el pin 2 (salida digital) que es la decodificada; para que sirve el pin 3?? esto solo para saberlo y para agregarlo en mi informe, bueno muchas gracias, chao.

una cosa, para algec o para quien pueda responderme, digo el, porque como el fue el que uso el protocolo rc5 de phillips talvez sepa responderme con mayor facilidad, ese codigo funcionaría con cualquier control de la marca phillips verda? asi que podria conseguirme uno phillips y listo controlo mi pic receptor con el control remoto phillips verdad? bueno si fuera necesario cambiar rf a infrarrojo, cierto?? que necesito en el receptor para cambiar a infrarrojo?? un decodificador de infrarrojos?? o que exactamente??, si quiero hacer lo mismo pero con un control remoto sony, que debo hacer? conseguir el protocolo qeu usa verdad?? y donde lo consigo porque ya busque por google y nada, alguien sabe donde?? bueno gracias, chao.
Título: Re: Bot Controlado por RF
Publicado por: navaismo en 05 de Agosto de 2006, 00:06:46
Hola si quisieras crear un decodificador para un remoto marca sony checate este post esta en PBP:

http://www.todopic.com.ar/foros/index.php?topic=13145.0
Título: Re: Bot Controlado por RF
Publicado por: Pedro Pan en 06 de Agosto de 2006, 22:05:50
Hola he visto que hay muy buenas experiencias con los modulos rf, quisiera ver si alguien me pudiera ayudar ya que en estos dias voy a comprar unos modulos rf para hacer un proyecto de la U, que es un chat inalambrico entre 3 computadoras primero empeze con con los rfpic pero el precio de los modulos esta muy elevado, ahora estoy viendo los laipac la duda que tengo con estos es que existe un modulo full duplex de 2.4 Ghz rf-2400v pero en la pagina de laipac hay dos mudulos uno dice que es modulo base y el otro remoto, quisiera saber la diferencia de estos, lo que pienso es que debe de haber un base y despues se pueden conectar varios remotos, no se si alguien sabe bien cual es la diferencia de estos me la podria enviar a goslock@hotmail.com se lo agradeceria o alguna recomendacion o informacion de los mismos no me caeria mal. gracias


(http://www.laipac.com/images/RF_900_DV_Remote_OK_small.jpg)
Título: Re: Bot Controlado por RF
Publicado por: johnnybravo en 21 de Abril de 2007, 19:19:30
saludos amigos
por lo que e leido todos an tenido muy buenas experiencias..con los modulos rf.. yo tengo un par ..y estoy en implenetar un control... espero que me vaya bien... que fue de esa idea de hacelo lo mas similar a un control rf profesional.. yo quiero controlar un robot volador......  :-/
Título: Re: Bot Controlado por RF
Publicado por: LABmouse en 21 de Abril de 2007, 23:00:00
Pedro Pan y johnnybravo, desde que los conoci y los trabaje, no recomiendo otro que no sea el Xbee, son muy poderosos, alcanza distancias hast 100mts la version economica y 1Km la version profesional, son realmente buenos. Y mas facil de usar no hay otro, es RS232.!

(http://www.maxstream.net/images/products/antenna_options_xbee.jpg)

(http://www.maxstream.net/images/products/xbeepro_antennas.jpg)
Título: Re: Bot Controlado por RF
Publicado por: LABmouse en 21 de Abril de 2007, 23:02:12
Claro que si 1Km les parece poco, esta este otro MONSTRUO !!!

Soporta hasta 64Kms

(http://www.maxstream.net/images/products/xtend_antennas.jpg)
Título: Re: Bot Controlado por RF
Publicado por: LABmouse en 21 de Abril de 2007, 23:03:19
Otro intermedio entre los 2 anteriores, 32Km

(http://www.maxstream.net/images/products/connectors.gif)
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 22 de Abril de 2007, 14:21:36
La verdad PicMouse es que muestras unos modulos magníficos, si estuvieran homologados y su precio fuese razonable, se podrían hacer muchas cosas con ellos... :mrgreen:
Título: Re: Bot Controlado por RF
Publicado por: LABmouse en 22 de Abril de 2007, 14:27:29
dogflu66 es increíble, ahorita mismo estoy con 2 XBEE-pro, quiero ver que tal va ese kilómetro que dicen,  ya había trabajado con los de corta distancia y me gusto muchísimo lo fácil de utilizarlos. Hay algo con los TRF2.4GHz que vende LAIPAC, primero el protocolo es SPI, lo segundo es que tiene muchos problemas con ruidos externos, los teléfonos inalámbricas que trabajan a 2.4GHZ los afecta mucho, y ni hablar de los dispositivos Bluetooth, hay que implementar un filtro por software y aun así hay mucho porcentaje de error, estos Xbee no hay que hacerles nada.
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 22 de Abril de 2007, 14:40:07
Ciertamente los módulos de laipac que he probado me dieron esos problemas, a un que al final siempre funcionan, pero son un poco quebradero de cabeza.
Pues me quedo a la espera que indiques que tal van esos nuevos modulos.
Título: Re: Bot Controlado por RF
Publicado por: Veguepic en 12 de Mayo de 2007, 13:30:31
Yo quiero esos Xbee!!!!!

Picmouse una consulta, es posible conseguir estos modulos en Bogota??

Saludos
Título: Re: Bot Controlado por RF
Publicado por: jfh900 en 12 de Mayo de 2007, 20:06:23
Los módulos XBee tienen muy buena pinta y no son muy caros, pero tengo varias dudas:

- Se utilizan los mismos módulos para realizar la comunicación entre dos puntos?

- Se pueden conectar varios modulos a uno central?

La verdad es que en la información del fabricante no está nada claro.

Un saludo
Título: Re: Bot Controlado por RF
Publicado por: LABmouse en 12 de Mayo de 2007, 22:07:17
Holas.

Veguepic en colombia si se consiguen, si necesitas informacion de como comprarlos, me avisas por privado para darte inforamcion sobre eso.

jfh900 Pues el solo puede recibir informacion de un modulo a la vez ya que solo cuenta con una solo USART interna. Pero yo diseñe una red conectando 6 Xbee a uno central, desde el cual recibia informacion de distintos sensores. La solucion fue por software e implemente algo sencillo y es que el maestro solcitaba informacion a cada uno de los esclavos que previamente tenian especificado un codigo y solo el seleccionado por el maestro es quien respondia con la informacion pedida. Fuenciono perfecto, lleva mas de 6 meses trabajando y van perfecto. Es algo como un RS485 pero por RF.
Título: Re: Bot Controlado por RF
Publicado por: jratenci en 25 de Mayo de 2007, 19:15:29
saludos

vos me podes decir donde consigo estos modulos en colombia?

saludos desde medellin
Título: Re: Bot Controlado por RF
Publicado por: Sir Viciony en 28 de Mayo de 2007, 17:01:16
hola PiCmouse, me gustaria que comentaras sobre tus esperiencias con estos modulos de MaxStream (si no es mucha la molestia), sobre proyectos que hallas realizado, ya que estos modulos se ven muy potentes y faciles de usar.

Ademas comentas que puedes comunicarte con ellos mediante RS232?
Título: Re: Bot Controlado por RF
Publicado por: LABmouse en 28 de Mayo de 2007, 23:17:57
Bueno mis experiencias con estos módulos no es mucha tampoco, pero si he realizado varios proyectos en los cuales demostré la potencia de estos módulos RF.

Uno fue el que comente antes, una red entre varios módulos Xbee, y uno maestro. El maestro le solicitaba información a cada unos de los esclavos. Distancias entre esclavos y maestro era de 100 metros.

También diseñe un equipo para uso en clínicas, y consistía en monitorear el estado en pacientes delicados, sucedía que en cambios de turno solo había una enfermera por cada piso durante una hora, entonces esta enfermera tenia un receptor en donde podía ver temperatura y ritmo cardiaco de cada paciente en ese piso.

Otro más pequeño era para monitorear un tanque de agua en una finca.

Y en este momento un Publik que tendrá comunicación RF entre este y el PC.

LA gran ventaja como comente antes es que el protocolo entre el PIC y el Xbee es RS232.

Saludos!


Título: Re: Bot Controlado por RF
Publicado por: Sir Viciony en 29 de Mayo de 2007, 12:27:35
Implesionante lo que has realizado con estos modulos Picmouse, me has animado a decidirme por estos modulos para un proyecto que estoy elaborando :)

otra pregunta, adquiriste el XBee-PRO Starter Kit o solamente los modulos que nesecitaste?
Título: Re: Bot Controlado por RF
Publicado por: LABmouse en 29 de Mayo de 2007, 13:00:28
Solo los modulos, el KIT no es mayor cosa, solo un MAX3232 y leds, lo demas lo trae el XBEE.
Título: Re: Bot Controlado por RF
Publicado por: machasoftware en 31 de Mayo de 2007, 11:37:09
Hola PICmouse, me parece muy interesante lo de los modulos XBee de ZigBee ya he escuchado al respecto en la Universidad, de casualidad no estudias tambien en la Javeriana de bogotá? de todas maneras quisiera contactarme contigo porque estoy muy interesado en realizar unos proyectos utilizando la tecnlogia RF de ZigBee ya que utiliza el estandar IEEE 802.15.4 y me parece muy interesante para futuros proyectos de robotica y automatización industrial. Aprovechando que tu ya tienes un trabajo bastante adelantado utilizando esta tecnologia.

Saludos, a todos soy nuevo en este foro espero nos podamos colaborar.
Título: Re: Bot Controlado por RF
Publicado por: Sir Viciony en 01 de Junio de 2007, 16:07:47
Hola Picmouse, solo otra pregunta para confirmar mi pedido de los modulos Xbee, Con que tipo de antenas(Whip Antenna, U.FL. RF Connector o Chip Antena) los has probado?
Título: Re: Bot Controlado por RF
Publicado por: LABmouse en 01 de Junio de 2007, 16:15:49
Hay de estos 3.

(http://www.maxstream.net/images/products/antenna_options_xbee.jpg)

la UFL es el mejor pero necesita una antena.
(http://www.maxstream.net/images/products/qtrhalfantennas.gif)

Pero la antena vale el triple de lo que vale el Xbee, pero de esa forma logras la mayor distancia al Xbee.

Yo use los otros 2, es mejor con antenita Whip, tiene mayor alcance, pero por espacio aveces me toca usar el otro.

Con lo anterior te diría compra según el $$$ y necesidad, las diferencias ya te las comente.

Saludos amigos!
Título: Re: Bot Controlado por RF
Publicado por: RALF2 en 08 de Julio de 2007, 20:44:52
HOLA AMIGOS!
EL XBEE PRO SE VE MUY BUENO Y SEGUN EL FABRICANTE ES FACIL DE UTILIZAR LO UNICO EN QUE HAY QUE ESTRAR PENDIENTES ES QUE ESTOS MODULOS TRABAJAN CON 3.3V Y SI EL PIC TRABAJA CON 5VOLT DEBERAN UTILIZAR UNA INTERFAZ 3.3VOLT 5VOLT PARA NO DAÑAR EL MODULO RF!
DEL RESTO LA PROGRAMACION ES SENCILLA.

SALUDOS
Título: Re: Bot Controlado por RF
Publicado por: hernanfire en 18 de Julio de 2007, 20:04:31
Hola amigos!  :) Lei este hilo completo y esta EXCELENTE,  tengo unos modulos Wenshing TX yRX para probar pero...... la pregunta seria para Algec o para quien pueda responderme, digo el, porque es el creador del codigo en este hilo usando el protocolo rc5 de phillips y tal vez sepa responderme con mayor facilidad. En el codigo del receptor indica donde debe ir la rutina a ejecutar segun se reciba el comando o la direccion, pero como la implemento? si se cumplen ambos o si se cumple solo el comando ya que agrego codigo en esa parte indicada y el RX no responde :? a pesar de ver que sale del TX el comando. Solo quiero pulsar un boton y prender un Led, para luego conectar los modulos, pobra alguien poner un ejemplito de como seria la rutina de comprobacion del codigo si llega el comando indicado?? (se nota que soy muy nuevo en C  :mrgreen:) Desde ya Muchas Gracias a TODOS!
Título: Re: Bot Controlado por RF
Publicado por: Cryn en 20 de Julio de 2007, 22:08:54
creo que es esencial preguntar por el comando, ya que la direccion siempre será la misma, o al menos deberia serlo,  el comando es el que variará segun el pulsador qeu uses, puedes usar muchos pulsadores o hasta cualquier dato con el codigo que ha implementado ALGEC

en tu caso yo lo haria asi:

despues de recibir cada bit:

if(direccion == 1 && comando == 0)
   output_toggle(PIN_B1);

... y para algun otro comando
if(direccion == 1 && comando == 3)
   output_toggle(PIN_B4);

algo redundate el && pero por si acaso, jeje
con el toggle cambia de estado el pin, cada vez que entre a la rutina

el comando 0 lo envio con un pulsador, y el coamndo 3 con otro pulsador

un saludo
Título: Re: Bot Controlado por RF
Publicado por: Guille314 en 31 de Agosto de 2007, 12:53:30
Saludos.
Leí en el foro que kain589 había utilizado los módulos RF de telecontrolli sin ningún éxito. Me interesa conocer su experiencia y la de otros con este módulo, en que condiciones lo probaron y cualquier otro comentario. Especialmente con el módulo RXQ1 (http://www.tei-masina.com/tc/docs/RXQ1.pdf) . Estoy a punto de comprarlo para un mini-robot movil (bot) y he visto en el foro nuevas posibilidades.
Me parece muy bueno lo que hacen, en especial los temas de los protocolos de comunicación RF e IR.
Título: Re: Bot Controlado por RF
Publicado por: jfh900 en 31 de Agosto de 2007, 23:08:47
Me esta rondando por la cabeza utilizar un raton inhalambrico para realizar comunicaciones por RF.¿Alguine ha echo algun intento?. Los precios de los ratones inhalambricos ultimamente estan tirados.

Un saludo
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 01 de Septiembre de 2007, 18:32:58
Es un tema interesante para su experimentación... a ver que sale... :mrgreen:
Título: Re: Bot Controlado por RF
Publicado por: RALF2 en 09 de Septiembre de 2007, 14:13:57
Hola amigos!
Recien compre unos modulos RF (XBee Pro), los utilice para enviar unos mensajes a una lcd y me funcionaron a las mil maravillas.
Ahora bien quiero utilizar el conversor analogico digital que traen los modulos, pero no me queda claro como debo configurar los mismos  :(  si algunos de los amigos del foro sabe como hacerlo les agradecere por la informacion

Saludos
Título: Re: Bot Controlado por RF
Publicado por: jeremylf en 14 de Marzo de 2009, 01:09:01
PICmouse, llegaste a probar el maximo alcance de los XBEE PRO con antena Whip? Voy a comprarme unos y necesito saber si los 1.6km que dice el fabricante se pueden lograr con esta antena, ya que si solo es posible con la antena UFL, aparte que cuesta mucho mas, pues me quedaria corto... hasta que distancia te han funcionado perfecto??

Te pregunto a ti porque he visto que has trabajdo mucho con estos modulos pero si alguien conoce tambien no dude que estoy necesitado de estos modulos  :D


Gracias, saludos.
Título: Re: Bot Controlado por RF
Publicado por: LABmouse en 11 de Abril de 2009, 18:44:39
En este momento tengo 2 Xbee, el problema mio es como hacerle para caminar en este momento 1Km para probarlos...Es que esta lloviendo  :P

Pero dejame hago esa prueba mas tarde que tambien me interesa saber exactamente cuanto alcanzan.


RALF2:

Para el ADC, debes usar los comandos AT que estan al final del datasheet.  Pasate por ellos, te daran una guia de como se hace.

SALUDOS!
Título: Re: Bot Controlado por RF
Publicado por: jhozate en 11 de Abril de 2009, 19:14:21
he visto este post en buena hora porque la verdad estaba un poco esceptico con el desempeño de estos modulos, quisiera saber si estos vienen de alcance de 100mtr, cual es la referencia para conseguirlos , son los HR-1000?
Título: Re: Bot Controlado por RF
Publicado por: LABmouse en 11 de Abril de 2009, 19:17:42
No, son los XB42-wi
Título: Re: Bot Controlado por RF
Publicado por: jeremylf en 11 de Mayo de 2009, 20:56:12
PIcmouse q fue? aun esta lloviendo o q?  :D :D :D


Salu2.
Título: Re: Bot Controlado por RF
Publicado por: LABmouse en 12 de Mayo de 2009, 12:05:01
 :D..

Pues la verdad se me había olvidado, pero en un rato hago esas pruebas..
Título: Re: Bot Controlado por RF
Publicado por: marturetjulio en 06 de Septiembre de 2009, 02:01:21
hola pic mouse y demas compañeros  del foro yo tambien quisiera unirme al grupo, soy de venezzuela y me gustaria poder trabajar con estos para hacer mi proyecto de grado. ya tengo una idea de como hacerlo pero no tengo mucha experiencia por lo que me gustaria que me enviaran la informacion que tienen por ejemplo lei que pic mouse logro hacer una red con estos modulos yo quisiera poder hacer eso. tambien quisiera poder enviar un dato desde una pc a un modilo zigbee y que este modulo se lo envie a otro que lo transmita a un pic y lo muestre en una lcd. pero claro primero debo aprender a conectar el modulo con la pc.
por lo que les pido me ayuden a llenarme de conocimiento sobre estos modulos me gustaria leer el trabajo que hiso ralf2 y  picmouse. bueno este es mi correo marturetjulio@hotmail.com
si no me quieren enviar la  informacion a mi correo pùes entonces espero que la puedan publicar

de ante mano queria agradecerles a todos sus aportes y espero me puedan ayudar.
Título: Re: Bot Controlado por RF
Publicado por: canival35 en 26 de Enero de 2010, 07:18:24
mira aqui hay un pequeño esquema con el RLP434, es sencillo, o tambien estan los zigbee a mayor frecuencia,

sobre la comunicacion te paso un codigo en asm para el pic18F no se que micro uses pero es facil acoplar el codigo

espero te sirva, esta facil...

lo que hace el codigo es transmitir y recibir por las termianles C0 (tx)y C1 (rx) (cabe mencionar que no es necesario que tu pic tenga hardware para comunicacion serial estas estan trabajando con entradas y salidas de datos digitales) , y en las salidas esta un arreglo de leds tipo matriz de 5x3, esto pues te despliega letras, tu puedes cambiar en el codigo las letras que ocupes o el tipo de datos, y las entradas B funcionan para que coloques el codigo a mandar, y con la entrada B5 creo!!, se manda la instruccion para mandar el codigo, esta fue una practica que hice en la escuela asi que le falta depurar, pero para algo didactico te puede serivr, saludos ;)

(http://img59.imageshack.us/img59/2174/introrfso8.jpg)

Código: [Seleccionar]

;Bloque de declaraciones y bla bla blah
; Nuestro formato de letras se llama codigo IEP el quebra cocos,  es de 5 bits


;00000  nulo
;00001  A
;00010 B
;00011 C
;00100 D
;00101 E
;00110 F
;00111 G
;01000  H
;01001  I
;01010 J
;01011 K
;01100 L
;01101 M
;01110 N
;01111 ñ N_
;10000  O
;10001  P
;10010 Q
;10011 R
;10100 S
;10101 T
;10110 U
;10111 V
;11000  W
;11001  X
;11010 Y
;11011
;11100 GUION BAJO _
;11101 <   
;11110 >
;11111 secuencia de prueba

#INCLUDE <p18F4550.inc>
LECTURA EQU 0x0050 ;Variable de estado
LECTURA_PRUEBA EQU 0x0055 ;Variable de estado
temp EQU 0x0054
temp_retraso EQU 0x0051
temp2_retraso EQU 0x0052
temp3_retraso EQU 0x0053
Ind_Buf EQU 0x00 ; Contador de número de datos copiados
Buf_Dat EQU 0x20 ; Bufer de recepción/transmisión
ORG 0x00 ;Vectorizacion 
; GOTO inicio

;------------------------------------------

. BCF INTCON,7 ;DESACTIVAR INTERRUPCIONES
BCF WDTCON,0 ;dESACTIVAR WDT
MOVLW b'00000000' ;timer 0 apagado
MOVWF T0CON ;
;registros de interrupciones
BCF   INTCON,7 ;deshabilitar interrupciones
; configurar puertos


CLRF PORTB ; Initialize LATB by clearing output data latches
CLRF LATB ; Alternate method to clear output data latches
MOVLW 0Eh ; Set RB<4:0> as
MOVWF ADCON1 ; digital I/O pins (required if config bit PBADEN is set)
MOVLW 0xFF ; Value used to initialize data direction
MOVWF TRISB ; Set RB<3:0> as inputs RB<5:4> as outputs RB<7:6> as inputs

CLRF PORTD
CLRF LATD
MOVLW 0x00 ;d SALIDA DE MATRIZ DE LEDS
MOVWF TRISD

CLRF PORTC
CLRF LATC
MOVLW 0xFE ;C configuramos primero para leer si hay cambios
MOVWF TRISC ;en las entradas de transmision, si los hay se va
;11111110 ;al codigp para recivir datos,
; para entrar en modo de transmision, al haber 1 en
; rb5 se pasa al codigo de transmision que debera de cargar
; MOVLW b'11111100' a TRISC


;==========================================================================================
;=========antes de hacer algo primero debe de comparar si estara como transmisor o receptor
;==========================================================================================

inicio:
;goto secuencia_prueba

;BTG LATC,0,0

BTFSC PORTB,7,0 ;leer B5 si es 0 salta
;goto LETRA_B
CALL transmisor
;BTG LATC,2,0
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
    ;goto LETRA_A
GOTO receptor
GOTO inicio ; aqui hay un ciclo infinito hasta que se precione B5 o reciba por primera vez





;============================================
;============TERMINA LA RECEPCION============
;============================================


;==PRUEBA PARA  SACAR EL DATO QUE MANDAMOS EN EL PUERTO B
loop_infinito
goto loop_infinito
;==PRUEBA PARA  SACAR EL DATO QUE MANDAMOS EN EL PUERTO B




; *****************
; *****************
; **TRANSMISOR*****
; *****************
; *****************
transmisor:     ;C0=CLK  CI=INFO
BCF LATC,0
CLRF LECTURA_PRUEBA ;BORRAME<,----------------

BSF   LATC,0 ;c0=CLK=1 ESTO INDICARA AL RECEPTOR QUE EMEPIECE A RECIVIR,  RECIBIRA DESPUES DEL SIGUEINTE PULSO ALTO
BCF   TRISC,1  ;C1=OUT --> C1=INFO ; EVENTO A- ESTO PONE cIN COMO SALIA PARA TRANSMITIR INFO, AL FINALIZAR LA TRANSMISION DEBE REGRESAR A C1=OUT
CALL  retraso_
BCF   LATC,0 ;C0=O clk=0
BCF   LATC,1 ; info=0
CALL  retraso_
   

;LECTURA DE B0
BTFSC PORTB,0,0 ;leer B0 SI B0=1 C1=1, SI NO LO MANTIEN EN SU ESTADO ANTERIOR, OSEA 0
BSF   LATC,1 ;C1=1 - INFO= 1
BSF   LATC,0 ;C0=1 - CLK =1
CALL  retraso_  ; aqui daremos u pequeño intervalo de tiempo para dalr tiempo al receptor en
   ; leer el codigo en c0 e interpretar el cambio de CLK
BCF   LATC,0 ; CLK=0
BCF   LATC,1 ; INFO=0----se borra para aplicar el criterio de coparacion siguietne
CALL  retraso_

BTFSC PORTB,0
BSF LECTURA_PRUEBA,0




;LECTURA DE B1
BTFSC PORTB,1,0 ;leer B1 SI B1=1 C1=1, SI NO LO MANTIEN EN SU ESTADO ANTERIOR, OSEA 0
BSF   LATC,1 ;C1=1 - INFO= 1
BSF   LATC,0 ;C0=1 - CLK =1
CALL  retraso_  ; aqui daremos u pequeño intervalo de tiempo para dalr tiempo al receptor en
   ; leer el codigo en c0 e interpretar el cambio de CLK
BCF   LATC,0 ; CLK=0
BCF   LATC,1 ; INFO=0----se borra para aplicar el criterio de coparacion siguietne
CALL  retraso_

BTFSC PORTB,1
BSF LECTURA_PRUEBA,1



;LECTURA DE B2
BTFSC PORTB,2,0 ;leer B2 SI B2=1 C1=1, SI NO LO MANTIEN EN SU ESTADO ANTERIOR, OSEA 0
BSF   LATC,1 ;C1=1 - INFO= 1
BSF   LATC,0 ;C0=1 - CLK =1
CALL  retraso_  ; aqui daremos u pequeño intervalo de tiempo para dalr tiempo al receptor en
   ; leer el codigo en c0 e interpretar el cambio de CLK
BCF   LATC,0 ; CLK=0
BCF   LATC,1 ; INFO=0----se borra para aplicar el criterio de coparacion siguietne
CALL  retraso_

BTFSC PORTB,2
BSF LECTURA_PRUEBA,2


;LECTURA DE B3
BTFSC PORTB,3,0 ;leer B3 SI B3=1 C1=1, SI NO LO MANTIEN EN SU ESTADO ANTERIOR, OSEA 0
BSF   LATC,1 ;C1=1 - INFO= 1
BSF   LATC,0 ;C0=1 - CLK =1
CALL  retraso_  ; aqui daremos u pequeño intervalo de tiempo para dalr tiempo al receptor en
   ; leer el codigo en c0 e interpretar el cambio de CLK
BCF   LATC,0 ; CLK=0
BCF   LATC,1 ; INFO=0----se borra para aplicar el criterio de coparacion siguietne
CALL  retraso_


BTFSC PORTB,3
BSF LECTURA_PRUEBA,3



;LECTURA DE B4
BTFSC PORTB,4,0 ;leer B4 SI B4=1 C1=1, SI NO LO MANTIEN EN SU ESTADO ANTERIOR, OSEA 0
BSF   LATC,1 ;C1=1 - INFO= 1
BSF   LATC,0 ;C0=1 - CLK =1
CALL  retraso_  ; aqui daremos u pequeño intervalo de tiempo para dalr tiempo al receptor en
   ; leer el codigo en c0 e interpretar el cambio de CLK
BCF   LATC,0 ; CLK=0
BCF   LATC,1 ; INFO=0----se borra para aplicar el criterio de coparacion siguietne
CALL  retraso_

BTFSC PORTB,4
BSF LECTURA_PRUEBA,4


BSF   TRISC,1  ;C1=INFO --> C1=IN ; EVENTO B- ESTO PONE cINFO COMO entrada PARA detectar una transmision
;proveniente de otro micro, AL zomenzar  LA TRANSMISION DEBE cambiar C0=OUT-->C0=info recivida (evendo 'c')

;====================================
; FIN DE LA TRANSMISION
;====================================

; MOVFF LECTURA_PRUEBA,LATD;  BORRAME<<<<<<<<<<<<<<<<<---------------








return ; REGRESARA DE DONDE LE HABLARON




;============================================
;============INICIA LA RECEPCION=============
;============================================
receptor:        ;c0=info  c1= clk

BSF TRISC,0     ; co=INFO OUT SE PONE EN IN Y RECIBIRA LA INFORMACION (evento 'c'), al temrinar debe de regresar c0=Cinfo --> C0=Cout
CLRF LECTURA
BTFSC PORTC,1,0 ;leer c1=clk y SALTARA hasta que clk=0   <<<salta si es cero>>>
goto receptor




; EMPIEZA CICLO PARA DIGITO 0

BTFSS PORTC,1,0 ;leer c1=clk SI ES 1 salta
BRA $-1
;LECTURA0
BTFSC PORTC,0,0 ;leer c0=INFO SI ES 1
BSF   LECTURA,0 ;ACTIVA LECTURA0

BTFSC PORTC,1,0 ;leer c1=clk SI ES 0 SALTA
BRA $-1

BTFSS PORTC,1,0 ;leer c1=clk SI ES 1 SALTA
BRA $-1
; FINALIZA CICLO PARA DIGITO 0
;LECTURA1
BTFSC PORTC,0,0 ;leer c0=INFO SI ES 1
BSF   LECTURA,1 ;ACTIVA LECTURA1

BTFSC PORTC,1,0 ;leer c1=clk SI ES 0 SALTA
BRA $-1

BTFSS PORTC,1,0 ;leer c1=clk SI ES 1 SALTA
BRA $-1
;LECTURA2

BTFSC PORTC,0,0 ;leer c0=INFO SI ES 1
BSF   LECTURA,2 ;ACTIVA LECTURA2

BTFSC PORTC,1,0 ;leer c1=clk SI ES 0 SALTA
BRA $-1

BTFSS PORTC,1,0 ;leer c1=clk SI ES 1 SALTA
BRA $-1
;LECTURA3

BTFSC PORTC,0,0 ;leer c0=INFO SI ES 1
BSF   LECTURA,3 ;ACTIVA LECTURA3

BTFSC PORTC,1,0 ;leer c1=clk SI ES 0 SALTA
BRA $-1

BTFSS PORTC,1,0 ;leer c1=clk SI ES 1 SALTA
BRA $-1
;LECTURA4

BTFSC PORTC,0,0 ;leer c0=INFO SI ES 1
BSF   LECTURA,4 ;ACTIVA LECTURA4

BTFSC PORTC,1,0 ;leer c1=clk SI ES 0 SALTA
BRA $-1


BCF TRISC,0
;============================================
;============TERMINA LA RECEPCION============
;============================================
MOVFF LECTURA,LATD


; goto loop_infinito;  BORRAME<<<<<<<<<<<<<<<<<---------------


;====================
;====================DISQUE TABLA DE COMPARACION===================
;====================


; PARA LETRA A
MOVLW 0x01
CPFSGT LECTURA ;Compara FILE con WREG, salto si FILE  > WREG  SALTA
GOTO LETRA_A ;Si LECTURA NO FUERA > 0x01 (en este caso no salta porque 01 = 01)
;  no salta y me manda a A
; PARA LETRA B
MOVLW 0x02
CPFSGT LECTURA ;Compara FILE con WREG, salto si FILE  > WREG  SALTA
GOTO LETRA_B ;Si LECTURA NO FUERA > 0x02 (en este caso no salta porque 02 = 02)
;  no salta y me manda a B

MOVLW 0x03
CPFSGT LECTURA
GOTO LETRA_C

MOVLW 0x04
CPFSGT LECTURA
GOTO LETRA_D

MOVLW 0x05
CPFSGT LECTURA
GOTO LETRA_E

MOVLW 0x06
CPFSGT LECTURA
GOTO LETRA_F

MOVLW 0x07
CPFSGT LECTURA
GOTO LETRA_G

MOVLW 0x08
CPFSGT LECTURA
GOTO LETRA_H

MOVLW 0x09
CPFSGT LECTURA
GOTO LETRA_I

MOVLW 0x0A
CPFSGT LECTURA
GOTO LETRA_J

MOVLW 0x0B
CPFSGT LECTURA
GOTO LETRA_K

MOVLW 0x0C
CPFSGT LECTURA
GOTO LETRA_L

MOVLW 0x0D
CPFSGT LECTURA
GOTO LETRA_M

MOVLW 0x0E
CPFSGT LECTURA
GOTO LETRA_N

MOVLW 0x0F
CPFSGT LECTURA
GOTO LETRA_N_

MOVLW 0x10
CPFSGT LECTURA
GOTO LETRA_O

MOVLW 0x11
CPFSGT LECTURA
GOTO LETRA_P

MOVLW 0x12
CPFSGT LECTURA
GOTO LETRA_Q

MOVLW 0x13
CPFSGT LECTURA
GOTO LETRA_R

MOVLW 0x14
CPFSGT LECTURA
GOTO LETRA_S

MOVLW 0x15
CPFSGT LECTURA
GOTO LETRA_T


MOVLW 0x16
CPFSGT LECTURA
GOTO LETRA_U

MOVLW 0x17
CPFSGT LECTURA
GOTO LETRA_V

MOVLW 0x18
CPFSGT LECTURA
GOTO LETRA_W

MOVLW 0x19
CPFSGT LECTURA
GOTO LETRA_X

MOVLW 0x1A
CPFSGT LECTURA
GOTO LETRA_Y

MOVLW 0x1B
CPFSGT LECTURA
GOTO LETRA_Z

MOVLW 0x1C
CPFSGT LECTURA
GOTO GUION_BAJO

MOVLW 0x1D
CPFSGT LECTURA
GOTO MENOR_QUE

MOVLW 0x1E
CPFSGT LECTURA
GOTO MAYOR_QUE


MOVLW 0x1F
CPFSGT LECTURA
GOTO SECUENCIA_DE_PRUEBA



LETRA_A:

MOVLW b'11011110'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01111110'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_A


LETRA_B:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01101110'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_B

LETRA_C:
MOVLW b'11001110'
MOVWF LATD
MOVLW b'10110001'
MOVWF LATD
MOVLW b'01110001'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_C

LETRA_D:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110001'
MOVWF LATD
MOVLW b'01101110'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_D

LETRA_E:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01110001'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_E

LETRA_F:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01100001'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_F

LETRA_G:
MOVLW b'11001110'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01111101'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_G

LETRA_H:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10100100'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_H

LETRA_I:
MOVLW b'11010001'
MOVWF LATD
MOVLW b'10111111'
MOVWF LATD
MOVLW b'01110001'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_I

LETRA_J:
MOVLW b'11101000'
MOVWF LATD
MOVLW b'10100001'
MOVWF LATD
MOVLW b'01101111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_J

LETRA_K:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10101010'
MOVWF LATD
MOVLW b'01110001'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_K

LETRA_L:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10100001'
MOVWF LATD
MOVLW b'01110000'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_L

LETRA_M:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10101100'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_M

LETRA_N:
MOVLW b'11011110'
MOVWF LATD
MOVLW b'10100100'
MOVWF LATD
MOVLW b'01111100'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_N

LETRA_N_:
MOVLW b'11011101'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01111101'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_N_

LETRA_O:
MOVLW b'11001110'
MOVWF LATD
MOVLW b'10110001'
MOVWF LATD
MOVLW b'01101110'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_O

LETRA_P:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01100111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_P

LETRA_Q:
MOVLW b'11000010'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_Q

LETRA_R:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01111010'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_R

LETRA_S:
MOVLW b'11010010'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01101001'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_S

LETRA_T:
MOVLW b'11000001'
MOVWF LATD
MOVLW b'10111111'
MOVWF LATD
MOVLW b'01100001'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_T

LETRA_U:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10100001'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_U

LETRA_V:
MOVLW b'11001111'
MOVWF LATD
MOVLW b'10100001'
MOVWF LATD
MOVLW b'01101111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_V

LETRA_W:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10100110'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_W

LETRA_X:
MOVLW b'11011011'
MOVWF LATD
MOVLW b'10100100'
MOVWF LATD
MOVLW b'01111011'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_X

LETRA_Y:
MOVLW b'11000111'
MOVWF LATD
MOVLW b'10100111'
MOVWF LATD
MOVLW b'01100111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_Y

LETRA_Z:
MOVLW b'11011001'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01110011'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_Z
   
;==============CARACTERES==========   

GUION_BAJO:
MOVLW b'11010000'
MOVWF LATD
MOVLW b'10100001'
MOVWF LATD
MOVLW b'01100000'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO GUION_BAJO

MENOR_QUE:
MOVLW b'11000100'
MOVWF LATD
MOVLW b'10101010'
MOVWF LATD
MOVLW b'01110001'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO MENOR_QUE
   
MAYOR_QUE:
MOVLW b'11010001'
MOVWF LATD
MOVLW b'10101010'
MOVWF LATD
MOVLW b'01100100'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO MAYOR_QUE


;==============numeros=============

NUMERO_0:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110001'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_0
   
NUMERO_1:
MOVLW b'11010010'
MOVWF LATD
MOVLW b'10111111'
MOVWF LATD
MOVLW b'01110000'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_1
   
NUMERO_2:
MOVLW b'11011101'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01110111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_2
   
NUMERO_3:
MOVLW b'11010101'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_3
   
NUMERO_4:
MOVLW b'11000111'
MOVWF LATD
MOVLW b'10100100'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_4
   
NUMERO_5:
MOVLW b'11010010'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01111101'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_5
   
NUMERO_6:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01111101'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_6
   
NUMERO_7:
MOVLW b'11000001'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_7
   
NUMERO_8:
MOVLW b'11011011'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01111011'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_8
   
NUMERO_9:
MOVLW b'11000111'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_9







LETRA_ESPACIO:
LETRA_SIGNO:
LETRA_NUMERO:
LETRA_FIN:






retraso:

nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop

return

;btfss LATD,1,0 ;CON D1=1 EJECUTA C

SECUENCIA_DE_PRUEBA: ; esto enciende un led a la vez

MOVLW b'11000001'
MOVWF LATD
call retraso_
MOVLW b'11000010'
MOVWF LATD
call retraso_
MOVLW b'11000100'
MOVWF LATD
call retraso_
MOVLW b'11001000'
MOVWF LATD
call retraso_
MOVLW b'11010000'
MOVWF LATD
call retraso_

MOVLW b'10110000'
MOVWF LATD
call retraso_
MOVLW b'10101000'
MOVWF LATD
call retraso_
MOVLW b'10100100'
MOVWF LATD
call retraso_
MOVLW b'10100010'
MOVWF LATD
call retraso_
MOVLW b'10100001'
MOVWF LATD
call retraso_

MOVLW b'01100001'
MOVWF LATD
call retraso_
MOVLW b'01100010'
MOVWF LATD
call retraso_
MOVLW b'01100100'
MOVWF LATD
call retraso_
MOVLW b'01101000'
MOVWF LATD
call retraso_
MOVLW b'01110000'
MOVWF LATD
call retraso_

; BTFSC LATC,1,0 ;leer C1 si es 0 salta
; GOTO receptor
; BTFSC LATB,5,0 ;leer B5 si es 0 salta
; CALL transmisor

CLRF  LATD

GOTO inicio

;==========rutina de retrasos=============
retraso_:

movlw 0x05
movwf temp3_retraso


decfsz temp_retraso,1,0
; goto retraso ;alta frec
goto    retraso1       ;baja frec
movlw 0xFF
movwf temp_retraso
       
return


retraso1:
decfsz temp2_retraso,1,0
; return
goto    retraso1  ; baja frec segun yo
; goto    retraso2 ;BIEN
movlw 0xFF
movwf temp2_retraso
goto retraso_

retraso2:
decfsz temp3_retraso,1,0
; return
goto    retraso2
movlw 0x05
movwf temp3_retraso
goto retraso1



;------------------------------------------
Fin_intT0:
RETFIE
END
;------------------------------------------
Título: Re: Bot Controlado por RF
Publicado por: Trev en 01 de Febrero de 2010, 14:56:19
Hola dogflu,mira esta muy bueno esto del bot te comento que yo soy tecnico en robotica y siempre quice hacer algo asi pero siempre me frustra la carencia total de estas placas de RF en mi ciudad y  podria decir aqui en argentina y siempre abandonaba el tema..en fin..si tienes un esquema del circuito tanto receptor como transmisor con sus componentes a ver si puedo hacerme esas placas de a poquito cuando tenga dinero gracias y muy bueno el video  :mrgreen:
Título: Re: Bot Controlado por RF
Publicado por: dogflu66 en 01 de Febrero de 2010, 20:03:48
Por desgracia no tengo los esquemas exactos pero te dejo lo suficiente:

Aquí está la controladora usada:
http://www.4shared.com/file/1694958/a5c96550/bot_miguelito_robot_siguelineas.html

Aquí como conectar los módulos:
http://www.4shared.com/file/5696260/d22cbdd8/crfrl_tx_rx_11.html

Más sobre los módulos:
http://www.todopic.com.ar/foros/index.php?topic=14601.0
http://www.todopic.com.ar/foros/index.php?topic=14917.msg167492#msg167492

Y creo que no tienes problema en conseguir este tipo de módulos en tu país.
Título: Re: Bot Controlado por RF
Publicado por: Trev en 01 de Febrero de 2010, 20:25:41
Te agradezco por la molestia amigo si hay algo ahi,sera cuestion de hacer la placa cuando me de el presupuesto lo de basic no entendi nada no se nada de basic  :? gracias de nuevo y si man no se consiguen recuerda que vivo en un pais agroexportador y por desgracia no hemos desarollado la tecnologia por nosotros mismos aun.. en fin sera cuestion de recorrer Buenos Aires a ver si me equivoco,ojala bueno gracias por los documentos y nos vemos