PIC + Bluetooth + Celular (con pic basic pro) detallado

hola, estoy intentando encender y apagar un led por bluetooth, pero tengos varias dudas,

como declaro en PBP un oscilador interno y uno externo? pregunto esto porque en mi diseño tengo un PIC18F4550 pero lo tengo anexado un crystal de 20Mhz, en el programa declaro

DEFINE OSC 20.....este DEFINE es para reloj interno o externo?? es necesario usar el crystal o lo tengo demas??

porque creen que no funcione, en proteus funciona bien pero al implementarlo no responde adecuadamente

gracias!
 

Adjuntos

  • LED UART.txt
    1.4 KB · Visitas: 25
  • proteus.jpg
    proteus.jpg
    164.1 KB · Visitas: 97
Esa definición es para el OSC Externo, para el interno tienes que buscar , asumiendo que tienes instalado el PicbasicPro en C:/PB3, el archivo INFO correspondiente a tu PIC y ahí están las configuraciones.

C:\PBP3\DEVICE_REFERENCE\PIC18F45K50.INFO

Las tienes que incluir en el programa al inicio del código de la siguiete manera:

'ESTA DECLARACIÓN ES VÁLIDA PARA PICBASIC PRO 3 con reloj interno

#CONFIG
__CONFIG _INTOSC_OSC_NOCLKOUT & _WDT_ON & _PWRTE_ON & _MCLRE_ON & _LVP_OFF & _CP_OFF
;Estas directivas se pueden ver en la carpeta en la que instalasteis el PBP3
; en DEVICE_REFERENCE/PIC16F628A.INFO
#ENDCONFIG


Estas declaraciones serian para el 16f628A, tu tienes que buscarlas en el archivo correspondiente al PIC que uses.

The PBP default configuration for the PIC18F45K50 is:
;
; #CONFIG
; CONFIG PLLSEL = PLL3X ;3x clock multiplier
; CONFIG CFGPLLEN = ON ;PLL Enabled
; CONFIG CPUDIV = NOCLKDIV ;CPU uses system clock (no divide)
; CONFIG LS48MHZ = SYS48X8 ;System clock at 48 MHz, USB clock divider is set to 8
; CONFIG FOSC = INTOSCIO ;Internal oscillator
; CONFIG PCLKEN = OFF ;Primary oscillator shutdown firmware controlled
; CONFIG FCMEN = OFF ;Fail-Safe Clock Monitor disabled
; CONFIG IESO = OFF ;Oscillator Switchover mode disabled
; CONFIG nPWRTEN = ON ;Power up timer enabled
; CONFIG BOREN = ON ;BOR controlled by firmware (SBOREN is enabled)
; CONFIG BORV = 190 ;BOR set to 1.9V nominal
; CONFIG nLPBOR = OFF ;Low-Power Brown-out Reset disabled
; CONFIG WDTEN = ON ;WDT enabled in hardware (SWDTEN ignored)
; CONFIG WDTPS = 512 ;1:512
; CONFIG CCP2MX = RC1 ;CCP2 input/output is multiplexed with RC1
; CONFIG PBADEN = OFF ;PORTB<5:0> pins are configured as digital I/O on Reset
; CONFIG T3CMX = RC0 ;T3CKI function is on RC0
; CONFIG SDOMX = RB3 ;SDO function is on RB3
; CONFIG MCLRE = ON ;MCLR pin enabled; RE3 input disabled
; CONFIG STVREN = ON ;Stack full/underflow will cause Reset
; CONFIG LVP = OFF ;Single-Supply ICSP disabled
; CONFIG XINST = OFF ;Instruction set extension and Indexed Addressing mode disabled
; #ENDCONFIG



Puede que no te funcione por muchísimas razones.
La más probable puede ser que no conectes bien el módulo ya que dices que la simulación te va bien.
Igual te faltan resistencias PULLDOWN, porque en la simulación no las has puesto y suelen ser necesarias.

El circuito es muy simple, igual que los problemas que puede dar.
No des nada por bien hecho y revisa todo a conciencia.
 
Última edición:
muchas gracias por tu respuesta, las resistencias pulldown para el Tx-Rx?? ok las colocare, que valor resistivo suelen usar para el modulo??
 
Arriba