Minirobot movil controlado via bluetooth (RF) desde una PC

Hola, que tal?

[ame="http://www.youtube.com/watch?v=k8jT-MZHhx4"] Aquí les dejo un video de un minirobot controlado por medio del puerto bluetooth de la PC[/ame]

Aquí les dejo también el código fuente ocupado en el microcontrolador:

Código:
;*******************************************************************************************
;W W W . C O S A S D E I N G E N I E R I A . C O M

;
;ING. MIGUEL ANGEL PIEDRA ANGELES
;GERENTE DE INVESTIGACION Y DESARROLLO
;*******************************************************************************************

;DECLARACION DE LIBRERIA
   INCLUDE <P16F627a.INC>
   __CONFIG    _BODEN_OFF & _CP_ON & _DATA_CP_ON & _INTRC_OSC_NOCLKOUT & _LVP_OFF & _MCLRE_OFF & _PWRTE_OFF &  _WDT_OFF



;DECLARACION DE LOS REGISTROS DE PROPOSITO GENERAL QUE SE USARAN EN EL PROGRAMA
      CBLOCK   0X20   
      NUM1,NUM2, NUM3
      W_TEMP
      STATUS_TEMP
      BSR_TEMP
      DATO
      ENDC

;DECLARACION DEL ORIGEN DEL PROGRAMA
      ORG   0X00
      GOTO   INICIO

    org 0x04                    ;Interrupcion de alta prioridad
    goto    INTERR



;SUBRUTINA DE INTERRUPCION
INTERR   
            MOVF   RCREG,W
            MOVWF   DATO
            MOVF   DATO,W
            MOVWF   TXREG
            BCF      PIR1,RCIE
            RETFIE         

;CONFIGURACIONES
INICIO:           MOVLW   0X07
            MOVWF   CMCON


      CLRF   PORTA   ;ELIMINO POSIBLES LATCH
      CLRF   PORTB

      CALL   USART_INI
      CALL   PWM_INI
      CALL   PORTS_INI



START:      MOVF   DATO,W
         SUBLW   "+"
         BTFSS   STATUS,Z
         GOTO   NEXT
         CALL   INCRE
         CLRF   DATO
         GOTO   START

NEXT:      MOVF   DATO,W
         SUBLW   "-"
         BTFSS   STATUS,Z
         GOTO   NEXT1
         CALL   DECRE
         CLRF   DATO
         GOTO   START

NEXT1:      MOVF   DATO,W   ;ADELANTE
         SUBLW   "I"
         BTFSS   STATUS,Z
         GOTO   NEXT2

         BCF      PORTA,0
         BSF      PORTA,1

         BCF      PORTA,2
         BSF      PORTA,3

         CLRF   DATO
         GOTO   START


NEXT2:      MOVF   DATO,W;DETENIDO
         SUBLW   "K"
         BTFSS   STATUS,Z
         GOTO   NEXT3

         BCF      PORTA,0
         BCF      PORTA,1

         BCF      PORTA,2
         BCF      PORTA,3

         CLRF   DATO
         GOTO   START

NEXT3:      MOVF   DATO,W;IZQUIERDA
         SUBLW   "O"
         BTFSS   STATUS,Z
         GOTO   NEXT4

         BCF      PORTA,0
         BSF      PORTA,1

         BCF      PORTA,2
         BCF      PORTA,3

         CLRF   DATO
         GOTO   START


NEXT4:      MOVF   DATO,W;DERECHA
         SUBLW   "U"
         BTFSS   STATUS,Z
         GOTO   NEXT5

         BCF      PORTA,0
         BCF      PORTA,1

         BCF      PORTA,2
         BSF      PORTA,3

         CLRF   DATO
         GOTO   START

NEXT5:      MOVF   DATO,W;DERECHA
         SUBLW   "M"
         BTFSS   STATUS,Z
         GOTO   NEXT6

         BSF      PORTA,0
         BCF      PORTA,1

         BSF      PORTA,2
         BCF      PORTA,3

         CLRF   DATO
         GOTO   START

NEXT6:      MOVF   DATO,W;IZQUIERDA
         SUBLW   "L"
         BTFSS   STATUS,Z
         GOTO   NEXT7

         BCF      PORTA,0
         BSF      PORTA,1

         BSF      PORTA,2
         BCF      PORTA,3

         CLRF   DATO
         GOTO   START


NEXT7:      MOVF   DATO,W;DERECHA
         SUBLW   "J"
         BTFSS   STATUS,Z
         GOTO   START

         BSF      PORTA,0
         BCF      PORTA,1

         BCF      PORTA,2
         BSF      PORTA,3

         CLRF   DATO
         GOTO   START
INCRE:      CALL   RETARDO
         INCFSZ   CCPR1L
         RETURN
         DECF   CCPR1L         
         RETURN
         
DECRE:      CALL   RETARDO
         DECFSZ   CCPR1L
         RETURN
         INCF   CCPR1L
         RETURN

PWM_INI:
         BANKSEL   TRISB
         BSF      TRISB,3

         MOVLW   D'255'
         MOVWF   PR2
         BCF      TRISB,3

         BANKSEL   CCPR1L

         MOVLW   B'00001111'
         MOVWF   CCP1CON
         MOVLW   D'127'
         MOVWF   CCPR1L
         clrf   T2CON
         BSF      T2CON,TMR2ON

         RETURN

USART_INI:
         BANKSEL   TRISB
         BSF      TRISB,1
         BSF      TRISB,2
         MOVLW 0X24  
         MOVWF TXSTA
         MOVLW D'25'
         MOVWF SPBRG
         BSF PIE1,RCIE
         MOVLW 0XC0
         MOVWF INTCON
         BANKSEL   PORTB

         MOVLW 0X90
         MOVWF RCSTA
         RETURN

PORTS_INI            
         BANKSEL   TRISB
         BCF      TRISA,0
         BCF      TRISA,1
         BCF      TRISA,2
         BCF      TRISA,3
         BANKSEL   PORTB
         RETURN


RETARDO      MOVLW   .1
         MOVWF   NUM3

OTRA3      MOVLW   .100
         MOVWF   NUM2

OTRA2      MOVLW   .166
         MOVWF   NUM1

OTRA:      DECFSZ   NUM1,F
         GOTO   OTRA

         DECFSZ   NUM2,F
         GOTO   OTRA2
   
         DECFSZ   NUM3
         GOTO   OTRA3
         RETURN
END   

;*******************************************************************************************

file.php


Saludos!
 
como que no nos gusto!!! esta bastante interesante y se ve muy completo... felicidades...

voy a analizarlo... a ver si lo puedo realizar....

un millón de gracias por el aporte...

PD... :LOL: hasta que por fin encontré una forma clara de entender el bluetooth sin tanta complicacion...
me quedo con mi pensar que un buen ejemplo es mucho mas que un millon de palabras... y explicaciones huecas...
 
Última edición:
oye esta interesante el proyecto pero que programa usas cono se conecta a la pc cual puerto ocupas cono configurar el bluetooth? seria de mucha utilidad tus respues gracias!!!
 
oye esta interesante el proyecto pero que programa usas cono se conecta a la pc cual puerto ocupas cono configurar el bluetooth? seria de mucha utilidad tus respues gracias!!!

se conecta por medio de un puerto com virtual gestionado por el modulo bluetooth que ya viene en la PC, Ocupo el programa hyperterminal en windows.

Aqui hay un video de como se configura y como se hace la conexion desde la PC con el modulo.
Saludos!
 
Hola, Bastante interesante!.. también quiero realizar un proyecto utilizando la comunicaicon bluetooth, quizás en vacaciones se me dé por hacerle este tipo de control a algún carrito :D ahora no me da tiempo la univerisidad y el trabajo. T_T :cry:
 
muchas gracias por responder y la verdad estoy muy interesado en este proyecto y disculpa si molesto tanto pero aun no tengo algunas cosas claras si pudieras publicar el diagrama del modulo para fabricarlo o se compra ya hecho ha y una peruntita mas todo este proyecto del carrito como cuanto dinero se gastaria para realizarlo en $ de antemano gracias!!!
 
¡Gracias por la info!, pero todavia se me queda la duda cual es el precio del BLUETOOTH_blue_SMiRF
en $u$, por que supongo que este es el que se encarga de convertir de protocolo RS-232 a Protocolo Bluetooth y viceversa.
 
¡Gracias por la info!, pero todavia se me queda la duda cual es el precio del BLUETOOTH_blue_SMiRF
en $u$, por que supongo que este es el que se encarga de convertir de protocolo RS-232 a Protocolo Bluetooth y viceversa.

El modulo del vídeo cuesta de 64 a 110 dolares americanos dependiendo de donde lo compres, hay versiones un poco mas económicas pero necesitan circuiteria externa para hacerlas compatibles con dispositivos de 5V.

El modulo convierte de Bluetooth a serial, pero NO pasa por voltajes RS232, por lo que se conecta directo al microcontrolador.

Saludos!
 
yo creo que ya entendi muy bien el proyecto pero solo tengo un proble que aqui en El Salvador no he encontrado el modulo de bluetooth que me recomiendas para conseguirlo por la web?
 
Hola muy interesante tu proyecto, una pregunta con el modulo que tienes solo utilizas los pines necesarios para el protocolo Usart tx, rx y alimentacion, Bueno desafortunadamente en mi pais ese tipo de modulo no lo hay pero hay unas referecias como KC-21 , KC -5290-AA , KC-5290-HS, los cuales consigo a un precio mas o menos de us $ 50, MI pregunta, he observado el dataheet de estos y poseen mas pines ,por descarte uno supone que utilizaria nada mas los del usart ?? Aunque este segun veo tiene para Usb, usart, y SPI

Te adjunto el pdf de uno de ellos gracias de antemano,
 

Adjuntos

  • KC21_Datasheet.pdf
    839.4 KB · Visitas: 32
Hola muy interesante tu proyecto, una pregunta con el modulo que tienes solo utilizas los pines necesarios para el protocolo Usart tx, rx y alimentacion, Bueno desafortunadamente en mi pais ese tipo de modulo no lo hay pero hay unas referecias como KC-21 , KC -5290-AA , KC-5290-HS, los cuales consigo a un precio mas o menos de us $ 50, MI pregunta, he observado el dataheet de estos y poseen mas pines ,por descarte uno supone que utilizaria nada mas los del usart ?? Aunque este segun veo tiene para Usb, usart, y SPI

Te adjunto el pdf de uno de ellos gracias de antemano,

Hola, que tal?

No alcanzo a ver tu pregunta, si la planteas bien probablemente te pueda dar una buena respuesta, saludos!
 
Basicamente argumente q en mi pais no encuentro el tipo de Modulo BLUETOOTH_blue_SMiRF que planteas, pero que en cambio de eso si encuentro las referencias anteriormente citadas, pero las cuales poseen mas pines en su arquitetura (ejemplo el pdf adjunto KC-21), la pregunta es solo se utilizan los pines del usart (tx,rx y alimentacion).

Gracias
 
No se si se podria destripar un adaptador USB bluetooth para conectar el PIC directamente a TX y RX y asi nos evitamos en comprar el modulo bluetooth, es esto posible?:confused:
 
Si, sería factible (he abierto algunos adaptadores USB - Bluetooth) y la mayoría tienen también una interfaz I2C para hablarles, cosa que sería interesante y fácil de adaptar a un microcontrolador... El problema es que los encapsulados son demasiado chicos para soldar un cable a una pata....
 
No se si se podria destripar un adaptador USB bluetooth para conectar el PIC directamente a TX y RX y asi nos evitamos en comprar el modulo bluetooth, es esto posible?:confused:

Existen una gran cantidad de adaptadores USB disponibles en el mercado.

Eso de agarrar uno y desarmarlo no lo he hecho, si lo haces nos avisas que tal te fue.

Saludos!
 
Ola excelente proyecto, solo que tengo un problema, cuando en el programa MPlab le doy la orden de rectificar el codigo aparece el siguiente error

"Error[113] C:\USERS\HP\DOCUMENTS\TODO\MONTAJE\LAB.ASM 11 : Symbol not previously defined (_DATA_CP_ON)"

Quisiera saber porque aparece eso.... gracias...
 
Atrás
Arriba