Autor Tema: Recibir un SMS desde un ceular con un pic para controlar dispositivos  (Leído 27632 veces)

0 Usuarios y 6 Visitantes están viendo este tema.

Desconectado 1Roland1

  • PIC10
  • *
  • Mensajes: 48
Re: Recibir un SMS desde un ceular con un pic para controlar dispositivos
« Respuesta #30 en: 17 de Enero de 2011, 12:56:46 »
Hola

Será que si aumento la velocidad del procesador a 20Mhz ya que lo he probado a 4Mhz y disminuyo la velocidad de tx/rx de datos que se yo a unos 2400 bauds será ese el problema ? He probado con el nokia 3220, siemens A71, A56 y nada de nada :-(

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Recibir un SMS desde un ceular con un pic para controlar dispositivos
« Respuesta #31 en: 17 de Enero de 2011, 13:16:03 »
Hola.

Yo trabajo a 12MHz ... prueba a ver como te va.

Saludos
El papel lo aguanta todo

Desconectado 1Roland1

  • PIC10
  • *
  • Mensajes: 48
Re: Recibir un SMS desde un ceular con un pic para controlar dispositivos
« Respuesta #32 en: 17 de Enero de 2011, 18:40:14 »
Hola.

Yo trabajo a 12MHz ... prueba a ver como te va.

Saludos
Gracias MLO

Pues si voy a probar con 20Mhz no me voy a dar por vencido, todo esto en hex compone la palabra RING : 0D0A52494E470D0A

Saludos

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Recibir un SMS desde un ceular con un pic para controlar dispositivos
« Respuesta #33 en: 17 de Enero de 2011, 20:27:22 »
Hola.

Si, es tal como lo envía el módem. Yo lo que hago es discriminar con if, tal como lo postee anteriormente.

Saludos
El papel lo aguanta todo

Desconectado 1Roland1

  • PIC10
  • *
  • Mensajes: 48
Re: Recibir un SMS desde un ceular con un pic para controlar dispositivos
« Respuesta #34 en: 17 de Enero de 2011, 21:53:35 »
Código: C++
  1.  
Hola.

Si, es tal como lo envía el módem. Yo lo que hago es discriminar con if, tal como lo postee anteriormente.

Saludos
Hola MLO

Si, esta tarde me puse a reaizar pruebas directamente en formato hex y determine que no coje el 0x0D sino el ultimo dato 0x0A asi que modifique el programa y ya logre recibir el dato, para probar lo hice asi:

 :P

Siepre coje el ultimo dato voy a seguir tu consejo y discriminar con un if pero lo bueno que ya consegui la recepcion

Gracias MLO

Saludos
« Última modificación: 10 de Febrero de 2011, 14:16:13 por 1Roland1 »

Desconectado 1Roland1

  • PIC10
  • *
  • Mensajes: 48
Re: Recibir un SMS desde un ceular con un pic para controlar dispositivos
« Respuesta #35 en: 18 de Enero de 2011, 11:38:30 »
Hola

Ya trate de hacerlo con un if pero no funciona, asumo que lo que sucede es que al recibir el 0D y como luego del 0D hay un 0A ingresa otra vez a la interrupcion, el micro entiende que es un nuevo dato que está ingresando y por esa razón ingresa nuevamente a la interrupción. No sé como corregir eso pero bueno tocará hasta mientras hacer la comparacion de esta palabra RING como RING\r

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Recibir un SMS desde un ceular con un pic para controlar dispositivos
« Respuesta #36 en: 18 de Enero de 2011, 12:10:59 »
Hola.

Y si sabes que el envío comienza y termina con \r y \n, se puede gestionar el flag de aviso con el char \n no? al primer envío no va a procesar el comando porque el bufer de recepción rstá vacío, pero a la segunda llegada del char, el bufer esta lleno, por lo que se puede procesar el comando.

Saludos
El papel lo aguanta todo

Desconectado 1Roland1

  • PIC10
  • *
  • Mensajes: 48
Re: Recibir un SMS desde un ceular con un pic para controlar dispositivos
« Respuesta #37 en: 18 de Enero de 2011, 16:40:46 »
Hola.

Y si sabes que el envío comienza y termina con \r y \n, se puede gestionar el flag de aviso con el char \n no? al primer envío no va a procesar el comando porque el bufer de recepción rstá vacío, pero a la segunda llegada del char, el bufer esta lleno, por lo que se puede procesar el comando.

Saludos
Hola MLO

Se me presentó otro problema al intentar hacer el mismo programa pero con el PIC 16F628A comprobe que recibe y procesa bien el dato, osea realiza la comparación del dato que llega de manera exitosa, pero no me enciende ninguna salida, ya trabaje tanto con el osc interno como externo pero no enciende no se que podrá ser....

Saludos

Desconectado 1Roland1

  • PIC10
  • *
  • Mensajes: 48
Re: Recibir un SMS desde un ceular con un pic para controlar dispositivos
« Respuesta #38 en: 19 de Enero de 2011, 18:33:03 »
Hola.

Tengo problemas con el pic 16F628A ya que al recibir el dato OK o RING no me funcionan las salidas RA1 y RA2. En la simulación funciona perfecto y comprobé que los datos son recibidos y procesados adecuadamente pero no se encienden los leds. Voy a poner todo el codigo y si ven algun error o que falte algo les rogaría que me lo hagan saber:

Debo agregar que he trabajado tanto con el oscilador interno como con crristal de 4MHz pero no se encienden los leds en RA1 y RA2. Este ptograma funciona perfecto con el pic 16F877A.
No hay problemas con la fuente porque he probado estos pines al principio después del output_a(0x00);
Me interesa hacer un proyecto de una alarma con este pic ya que tengo 3 de estos y no quiero desperdiciarlos.

Saludos cordiales.
« Última modificación: 21 de Enero de 2011, 21:28:43 por 1Roland1 »

Desconectado 1Roland1

  • PIC10
  • *
  • Mensajes: 48
Re: Recibir un SMS desde un ceular con un pic para controlar dispositivos
« Respuesta #39 en: 20 de Enero de 2011, 14:06:08 »
Hola

Bueno, el problema esta solucionado parcialmente ya que luego de nuevas pruebas al recibir el dato mande a encender todos los pines del puerto a y b y determinar cuales encienden y cuales no con lo que observe que del puerto A solo encendieron los pines A0 A2 A3 A6 y A7 y del puerto B encendieron todos
por lo que voy a utilizar los pines que se encendieron y los otros del puerto a los doy por muertos no se a que se debe que no encienden pero lo bueno es que los demás estan OK

Saludos

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Recibir un SMS desde un ceular con un pic para controlar dispositivos
« Respuesta #40 en: 20 de Enero de 2011, 17:10:26 »
Hola.

Probaste con otro PIC? no vaya y sea que este malogrado jeje

saludos
El papel lo aguanta todo

Desconectado 1Roland1

  • PIC10
  • *
  • Mensajes: 48
Re: Recibir un SMS desde un ceular con un pic para controlar dispositivos
« Respuesta #41 en: 20 de Enero de 2011, 23:00:54 »
Hola MLO

Si probé con otro pic y sucede lo mismo, pero bueno usaré los pines que encienden je je :-)

Ahora MLO abusando de tu confianza tengo otra duda, quiero agregarle al programa una interrupción externa para utilizar al máximo en lo posible los recursos de este pic, lo intenté de esta forma:

INT_RDA{
------------
-----------
}
INT_EXT{
-----------
-----------
}
void main(void){
------------------
------------------
ext_int_edge(H_TO_L);
enable_interrupts(int_ext);
enable_interrupts(int_rda);
enable_interrupts(GLOBAL);
--------------------
-------------------
}

Pero no me funciona la int_rda, no se como sería el procedimiento para utilizar las dos interrupciones; por eso te pido me ayudes con este nuevo problema que se me presenta.

Saludos.

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Recibir un SMS desde un ceular con un pic para controlar dispositivos
« Respuesta #42 en: 20 de Enero de 2011, 23:14:18 »
Hola.

Pues  :? me parece raro que no te funcione, normalmente uno asigna de esa manera las interrupciones:
Código: CSS
  1. #int_RDA
  2. void Serial(void)
  3. {
  4. ...
  5. }
  6.  
  7. #int_EXT
  8. void Pulsos(void)
  9. {
  10. ...
  11. }

Puede ser un bug del compilador, CCS tiene sus cosas. Postea el código completo para ver que sucede.

Saludos
El papel lo aguanta todo

Desconectado 1Roland1

  • PIC10
  • *
  • Mensajes: 48
Re: Recibir un SMS desde un ceular con un pic para controlar dispositivos
« Respuesta #43 en: 20 de Enero de 2011, 23:31:38 »
Hola.

Pues  :? me parece raro que no te funcione, normalmente uno asigna de esa manera las interrupciones:
Código: CSS
  1. #int_RDA
  2. void Serial(void)
  3. {
  4. ...
  5. }
  6.  
  7. #int_EXT
  8. void Pulsos(void)
  9. {
  10. ...
  11. }

Puede ser un bug del compilador, CCS tiene sus cosas. Postea el código completo para ver que sucede.

Saludos
Hola MLO

Bueno lo que estoy haciendo es una alarma con simulador de presencia, si se activa la interrupción externa activa una sirena, realiza dos llamadas y enciende las luces de la casa, si no se activa la interrupción se puede simular presencia encendiendo las luces al realizarle una llamada(aquí debería activarse la int_rda para lograr esto) , como el cel que estoy usando ahora es un siemens A71 no soporta todos los comandos para hacerlo más preciso uso la palabra RING para encender y apagar las luces, este es el codigo un poco largo pero así salió je je:


void main(){

 CMCON = 0x07;
 set_tris_b(0x01);   <--------- AQUI ESTUVO LA FALLA :-)
 setup_vref(FALSE);
 setup_oscillator(OSC_4MHZ);
 output_a(0x00);
 output_b(0x00);

 ext_int_edge( H_TO_L );
 enable_interrupts(int_ext);
 enable_interrupts(int_rda);
 enable_interrupts(global);
 cel_start();
« Última modificación: 21 de Enero de 2011, 21:27:58 por 1Roland1 »

Desconectado 1Roland1

  • PIC10
  • *
  • Mensajes: 48
Re: Recibir un SMS desde un ceular con un pic para controlar dispositivos
« Respuesta #44 en: 21 de Enero de 2011, 21:26:18 »
Hola

Bueno, en la mañana volvi a revisar de pies a cabeza el código y caí en cuenta de un error que cometí al setear el registro trisb con 0x01, de esta forma solo el RB0 estaba como entrada y al pin RB1  que es de recepcion de datos estaba de esta forma como salida razon por la cual nunca se iba a disparar la int_rda ya que no se recibían datos, entonces setee bien este registro con 0x03 y funcionó al fin el programa como quería.
Funciona a la perfección con los celulares nokia 3220b y siemens A56 pero al probarlo con el siemens A71 no me recibe bien los datos, como que se truncan intente hacerlo de varias formas pero nada de nada, hice un programita en BASIC para probar si era falla del cel y oh sorpresa con ese lenguaje funciona perfecto la comunicación en fin el programa funciona OK.

Saludos.