Autor Tema: Ayuda para una persona mayor que vive sola  (Leído 15542 veces)

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

Desconectado Mako22

  • PIC12
  • **
  • Mensajes: 77
Re: Ayuda para una persona mayor que vive sola
« Respuesta #30 en: 19 de Septiembre de 2007, 03:11:10 »
Otra cosa Carlos:

Como dice Sanders, la grabación la he realizado poniendo no solo CP_ON  a CP_OFF sino que también he puesto DATA_CP_ON a DATA_CP_OFF, por si las moscas.

¿ Es correcto ?

Supongamos que en uno de estos PICS lo grabara con estas dos opciones a ON. ¿Se pueden volver luego a borrar o no?

Este montaje no solo me solucionará un problema importante, sino que me está enseñando mucho sobre esto bichejos negros y con tantas patillas.

Saludos

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: Ayuda para una persona mayor que vive sola
« Respuesta #31 en: 19 de Septiembre de 2007, 04:26:19 »
Hola Mako22, el circuito original está pensado como ya lo han comentado para funcionar en serie con un telefono ya instalado, si no quieres usar el teléfono puedes reemplazar este por una resistencia de 390 o 470 ohms y 5W que obtendrás el mismo resultado.

Sí, la linea telefónica normalmente debería tener unos 48 Vcc, al momento de descolgar el teléfono esta tensión baja unos cuantos volts, pero el circuito posee un regulador de tensión formado por la resistencia de 100 ohms, el led rojo y el diodo zener de 3.3V, este conjunto de componentes debería regular la tensión entre las patillas de alimentación del PIC a unos 5.1Vcc aproximadamente, con esto logrando que no se queme.

Con respecto a las opciones CP_XX y DATA_CP_XX no hay ningun tipo de problema que uses cualquiera de las variantes, pero solo con estas dos, el resto las debes conservar tal cual yo las e programado, ya que hacen al correcto funcionamiento del PIC (incluso al oscilador) y todo el conjunto, estas dos opciones anteriores solo hacen a la seguridad de copia del programa dentro del PIC y no al propio funcionamiento del mismo, o sea protejen el firmware, y como en este caso no es estricto, pues es lo mismo cualquiera de ambas

Espero que la prueba sea sactifactoria, si es así luego le hiremos anexando más cosas, como por ejemplo que simule el descolgado del teléfono.

Un saludo.

Atte. CARLOS.

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado Mako22

  • PIC12
  • **
  • Mensajes: 77
Re: Ayuda para una persona mayor que vive sola
« Respuesta #32 en: 19 de Septiembre de 2007, 08:26:02 »
Ok!


Saludos

Desconectado Mako22

  • PIC12
  • **
  • Mensajes: 77
Re: Ayuda para una persona mayor que vive sola
« Respuesta #33 en: 19 de Septiembre de 2007, 16:00:35 »
Bueno ya tenemos aquí los primeros resultados, paso a contaros.

1- Con el teléfono colgado, conecto el pic. Al levantar el auricular, si el pulsador del pic está abierto, como debería ser, instantáneamente , se produce el marcado (Yo diría que de algunos dígitos posiblemente, no todos).

2 - Si cierro el pulsador a continuación se produce el marcado de todos los dígitos.

3 - Si descolgamos con el pulsador cerrado, y a continuación lo abrimos se produce el marcado de todos los dígitos.

4 - Una vez que hemos realizado la llamada, si dejamos el pic conectado, aunque colguemos el auricular, si volvemos a descolgar, la línea marca ocupada, y no volvemos a tener línea operativa hasta que no colgamos el auricular y desconectamos el PIC al mismo tiempo.

Resumiendo, al descolgar el auricular con el pulsador abierto no se debería producir ningún marcado hasta que lo cerremos.

En el supuesto del caso 3 que hemos mencionado, después de producirse el marcado, la línea marca como si al número que llamamos estuviera comunicando, cosa que no es cierta, y en el teléfono no suena la llamada.

Saludos

Desconectado Mako22

  • PIC12
  • **
  • Mensajes: 77
Re: Ayuda para una persona mayor que vive sola
« Respuesta #34 en: 20 de Septiembre de 2007, 02:31:10 »
Hola a todos.

Carlos, por si te sirve de algo he encontrado las características técnicas de la línea de teléfonos que tenemos en casa. Por si es que algún parámetro se tuviera que cambiar, y por eso es que siempre da comunicando el numero.


http://www.telefonica.es/interfaces/doc_pdf/ITE-CA-001-V04.pdf

Un Saludo

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: Ayuda para una persona mayor que vive sola
« Respuesta #35 en: 20 de Septiembre de 2007, 08:44:28 »
Hola Mako22, en estos momentos estoy un poco complicado (nacimiento de un nena de por medio), pero ni bien me "descomplique" un poco me pongo a estudiar este tema.

Un saludo y disculpa la demora.

Atte. CARLOS.

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado Mako22

  • PIC12
  • **
  • Mensajes: 77
Re: Ayuda para una persona mayor que vive sola
« Respuesta #36 en: 20 de Septiembre de 2007, 10:11:12 »
Mi más sincera enhorabuena.

Te deseo que valla todo !MUY BIEN¡

Por aquí seguiremos cuando tengas tiempo.

Un saludo  ¡PAPA!
« Última modificación: 20 de Septiembre de 2007, 10:13:16 por Mako22 »

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: Ayuda para una persona mayor que vive sola
« Respuesta #37 en: 20 de Septiembre de 2007, 12:37:29 »
Quiero aclarar un temita, no soy el padre del bebe, solo el padre "postizo", o la persona que acompaño a la madre durante el transcurso del embarazo, como más les guste tomarlo.

Gracias de todas maneras.

Saludos.
La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado Mako22

  • PIC12
  • **
  • Mensajes: 77
Re: Ayuda para una persona mayor que vive sola
« Respuesta #38 en: 21 de Septiembre de 2007, 02:17:18 »
Bueno rectifico, entonces el mensaje quedaría tal que así:

Te deseo que valla todo !MUY BIEN¡

Por aquí seguiremos cuando tengas tiempo.

Un saludo

Desconectado Mako22

  • PIC12
  • **
  • Mensajes: 77
Re: Ayuda para una persona mayor que vive sola
« Respuesta #39 en: 22 de Septiembre de 2007, 05:37:13 »
Bueno, hoy hemos adelantado un pasito más.

El PIC marca PERFECTAMENTE.

Hoy día festivo y con más tranquilidad, me he puesto a probar nuevamente y he aquí los resultados:

- Con el auricular colgado. el pic enchufado, y el pulsador del pic cerrado, procedemos a descolgar el auricular.
- Tono de línea correcto.
- Abrimos el pulsador del pic y se produce el marcaje de número.
- ¡Sorpresa! salta la llamada en mi móvil ( solo es cuestión de esperar un tiempo prudencial, no es inmediato ) (Curiosamente hoy la línea no me marcaba comunicando ¿?).
- Ahora aquí pasan dos cosas:

           * Si cuelgo el auricular, y no desconecto el pic,  mi móvil suena durante 35 segundos. Si vuelvo a desconectar  el    auricular después de dejar de sonar el móvil, la línea marca como línea ocupada.
           * Si cuelgo el auricular y desconecto el pic, mi móvil sonara igualmente durante 35 segundos y si vuelvo a descolgar el auricular una vez que deje de sonar, la línea marca OK, lista para un nuevo uso.

Resumiendo, una vez realizada la llamada y marcado el número hay que colgar el auricular y desconectar el pic de la línea.

Otra cosa que he notado, es que mientras está conectado el pic el volumen del auricular baja al menos en un 20%.

Saludos

Desconectado Mako22

  • PIC12
  • **
  • Mensajes: 77
Re: Ayuda para una persona mayor que vive sola
« Respuesta #40 en: 04 de Octubre de 2007, 00:39:58 »
Hola a todos.

¿ Podría alguien hecharme una mano para solucionar estos dos problemas que me quedan ? Sinceramente, me interesaría poder solucionarlo lo antes posible.

Saludos

Desconectado sander

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 624
Re: Ayuda para una persona mayor que vive sola
« Respuesta #41 en: 04 de Octubre de 2007, 10:29:50 »
Bueno, hoy hemos adelantado un pasito más.

El PIC marca PERFECTAMENTE.

Hoy día festivo y con más tranquilidad, me he puesto a probar nuevamente y he aquí los resultados:

- Con el auricular colgado. el pic enchufado, y el pulsador del pic cerrado, procedemos a descolgar el auricular.
- Tono de línea correcto.
- Abrimos el pulsador del pic y se produce el marcaje de número.
- ¡Sorpresa! salta la llamada en mi móvil ( solo es cuestión de esperar un tiempo prudencial, no es inmediato ) (Curiosamente hoy la línea no me marcaba comunicando ¿?).
- Ahora aquí pasan dos cosas:

           * Si cuelgo el auricular, y no desconecto el pic,  mi móvil suena durante 35 segundos. Si vuelvo a desconectar  el    auricular después de dejar de sonar el móvil, la línea marca como línea ocupada.
           * Si cuelgo el auricular y desconecto el pic, mi móvil sonara igualmente durante 35 segundos y si vuelvo a descolgar el auricular una vez que deje de sonar, la línea marca OK, lista para un nuevo uso.

Resumiendo, una vez realizada la llamada y marcado el número hay que colgar el auricular y desconectar el pic de la línea.

Otra cosa que he notado, es que mientras está conectado el pic el volumen del auricular baja al menos en un 20%.

Saludos



Si el Pic ya te marca y la llamada llega a tu celular me imagino que tienes la mitad hecha , ahora sobre lo que la señal de audio baja y sobre lo que tienes que desconectar el PIC, y demas posiblemente se solucione si es que haces que el PIC realize el descuelgue para realizar el marcado, es decir que maneje la linea.  Ya puse un link hacia un circuito similar al que armaste que hace esto y no seria muy complicado de implementar ya que ya probaste con el basico.

Saludos
La electrónica es el arte de manipular señales eléctricas que transportan información
Jan Davidse

Visita mi blog
Visita mi canal de youtube

Desconectado Mako22

  • PIC12
  • **
  • Mensajes: 77
Re: Ayuda para una persona mayor que vive sola
« Respuesta #42 en: 06 de Octubre de 2007, 02:30:38 »
Bueno, intentaré a ver lo que consigo, con mi escasos conocimiento.

Gacias y un
Saludo

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: Ayuda para una persona mayor que vive sola
« Respuesta #43 en: 06 de Octubre de 2007, 13:46:26 »
Hola Mako22, perdona la demora, no a sido que te alla dejado de lado, solo que trabajando en promedio 14 horas diarias (sabados y domingos incluidos) te aseguro que no quedan ganas de ponerse frente a la PC, solo se te curza una cama y una almuada :)

Aquí el programa con el pulsador invertido:

Código: ASM
  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;
  3. ;       TAXI PHONE con microcontrolador 16F628A
  4. ;
  5. ;       Nota: El numero marcado por este programa no está aprobado
  6. ;       Coloque el numero telefónico a ser marcado en la tabla 1
  7. ;
  8. ;       Frecuencia de funcionamiento 4MHz
  9. ;
  10. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  11.  
  12.         LIST            P = 16F628A
  13.         INCLUDE         <P16F628A.INC>
  14.         ERRORLEVEL      -302
  15.  
  16.         __CONFIG        _BODEN_OFF&_BOREN_ON&_CP_ON&_DATA_CP_ON&_PWRTE_ON&_WDT_ON&_LVP_OFF&_MCLRE_ON&_INTOSC_OSC_NOCLKOUT
  17.  
  18. ;................................................
  19. ;Definición de pines
  20. #DEFINE         PULSADOR        PORTB,3         ;Pin de entrada del pulsador
  21.  
  22. ;Definición de la RAM
  23. NUM_DISCA       EQU     .32             ;20h Numero que se está discando
  24. TEMP            EQU     .33             ;21h Reguistro temporal
  25. CARRIER         EQU     .34             ;22h Carrier DTMF
  26. TONO_LOW        EQU     .35             ;23h Tono bajo
  27. DEC_TONO_L      EQU     .36             ;24h Decrementar tono bajo
  28. TONO_HIGH       EQU     .37             ;25h Tono alto
  29. DEC_TONO_H      EQU     .38             ;26h Decrementar tono alto
  30. CONT_1          EQU     .39             ;27h Rutina de retardo
  31. CONT_2          EQU     .40             ;28h Rutina de retardo
  32. CONT_3          EQU     .41             ;29h Rutina de retardo
  33.  
  34. ;................................................
  35.         ORG     .0
  36.         bcf     STATUS,RP0      ;Selecciono el banco de memoria 0
  37.         bcf     STATUS,RP1
  38.         goto    INICIO
  39.  
  40.         ORG     .4
  41.         bcf     INTCON,GIE      ;Desactivo todas las intrerrupciones
  42.         return
  43.  
  44. ;................................................
  45. ;Table 1 Tabla que almacena el numero a discar
  46. ;0A = 0
  47. ;01 = 1
  48. ;02 = 2
  49. ;03 = 3
  50. ;04 = 4
  51. ;05 = 5
  52. ;06 = 6
  53. ;07 = 7
  54. ;08 = 8
  55. ;09 = 9
  56.  
  57. ;Colocar tantos RETLW como dígitos tenga el numero que se desea discar
  58. ;Para finalizar colocar el valor RETLW 0Eh para indicar que ya no hay numeros a discar
  59. ;En el ejemplo el numero discado es: 0112329255
  60.  
  61. Table1
  62.         addwf   PCL,F
  63.         retlw   0Ah             ;0
  64.         retlw   01h             ;1
  65.         retlw   01h             ;1
  66.         retlw   02h             ;2
  67.         retlw   03h             ;3
  68.         retlw   02h             ;2
  69.         retlw   09h             ;9
  70.         retlw   02h             ;2
  71.         retlw   05h             ;5
  72.         retlw   05h             ;5
  73.         retlw   0Eh             ;E = fin del numero
  74.  
  75. ;................................................
  76. ;Table2 tonos bajos del DTMF
  77. Table2
  78.         addwf   PCL,F
  79.         nop
  80.         retlw   75h             ;1
  81.         retlw   75h             ;2
  82.         retlw   75h             ;3
  83.         retlw   6Bh             ;4
  84.         retlw   6Bh             ;5
  85.         retlw   6Bh             ;6
  86.         retlw   60h             ;7
  87.         retlw   60h             ;8
  88.         retlw   60h             ;9
  89.         retlw   57h             ;0
  90.  
  91. ;................................................
  92. ;Table3 tonos altos del DTMF
  93. Table3
  94.         addwf   PCL,F
  95.         nop
  96.         retlw   44h             ;1
  97.         retlw   3Dh             ;2
  98.         retlw   37h             ;3
  99.         retlw   44h             ;4
  100.         retlw   3Dh             ;5
  101.         retlw   37h             ;6
  102.         retlw   44h             ;7
  103.         retlw   3Dh             ;8
  104.         retlw   38h             ;9
  105.         retlw   3Dh             ;0
  106.  
  107. ;................................................
  108. ;Short delay between tone approx 50mS
  109. Del1
  110.         clrwdt                  ;Reseteo el WDT
  111.         movlw   .80
  112.         movwf   CONT_2
  113. Del1A
  114.         decfsz  CONT_1,F
  115.         goto    Del1A
  116.         decfsz  CONT_2,F
  117.         goto    Del1A
  118.         retlw   .0
  119.  
  120. ;................................................
  121. ;Retardo de 0.7sec
  122. Del2
  123.         clrwdt                  ;Reseteo el WDT
  124.         nop
  125.         nop
  126.         nop
  127.         nop
  128.         nop
  129.         nop
  130.         nop
  131.         decfsz  CONT_1,F
  132.         goto    Del2
  133.         decfsz  CONT_2,F
  134.         goto    Del2
  135.         retlw   .0
  136.  
  137. ;................................................
  138. ;Retardo de 0.1sec
  139. Del3
  140.         movlw   .110
  141.         movwf   CONT_1
  142. PLoop1
  143.         movlw   .181
  144.         movwf   CONT_2
  145. PLoop2
  146.         clrwdt                  ;Reseteo el WDT
  147.         clrwdt                  ;Reseteo el WDT
  148.         decfsz  CONT_2,F
  149.         goto    PLoop2
  150.         decfsz  CONT_1,F
  151.         goto    PLoop1
  152.         retlw   .0
  153.  
  154. ;................................................
  155. ;Discado del numero por medio de DTMF
  156. Dial1
  157.         movf    NUM_DISCA,W     ;Cargo el dígito a discar en W
  158.         call    Table1
  159.         movwf   CARRIER         ;Cargo en CARRIER el numero a discar
  160.         movlw   0Eh             ;Verifico que el valor anterior no sea 0Eh
  161.         xorwf   CARRIER,W
  162.         btfsc   STATUS,Z
  163.         goto    Main5           ;Si es 0Eh salgo de la rutina de discado
  164.         movf    CARRIER,W
  165.         call    Table2
  166.         movwf   TONO_LOW        ;Cargo el reguistro con el valor para el tono bajo
  167.         movwf   DEC_TONO_L      ;Cargo el reguistro con el valor para el tono bajo
  168.         movf    CARRIER,W
  169.         call    Table3
  170.         movwf   TONO_HIGH       ;Cargo el reguistro con el valor para el tono alto
  171.         movwf   DEC_TONO_H      ;Cargo el reguistro con el valor para el tono alto
  172.         goto    DTMF1
  173. Dial2
  174.         call    Del1            ;Llamada a retardo antes de discarl el proximo dígito
  175.         call    Del1            ;Llamada a retardo antes de discarl el proximo dígito
  176.         incf    NUM_DISCA,F     ;Incremento el dígito a discar
  177.         goto    Dial1
  178.  
  179. ;................................................
  180. ;Rutina que genera el DTMF
  181. DTMF1
  182.         movlw   .160            ;Cantidad de ciclos del tono de discado
  183.         movwf   TEMP
  184. DTMF2
  185.         decfsz  DEC_TONO_H,F    ;Decremento el reguistro del tono alto
  186.         goto    DTMF3
  187.         movlw   .16
  188.         xorwf   PORTB,F         ;Seteo la salida adecuada
  189.         movf    TONO_HIGH,W     ;Cargo W con el valor para el tono alto
  190.         movwf   DEC_TONO_H      ;Re-Cargo el reguistro de decremento de tono alto con el valor inicial
  191. DTMF3
  192.         decfsz  DEC_TONO_L,F    ;Decremento el reguistro del tono bajo
  193.         goto    DTMF2
  194.         movlw   .32
  195.         xorwf   PORTB,F         ;Seteo la salida adecuada
  196.         movf    TONO_LOW,W      ;To re-load low-tone file
  197.         movwf   DEC_TONO_L      ;Re-load low-tone file
  198.         decfsz  TEMP,F          ;Decrement loops file
  199.         goto    DTMF2
  200.         goto    Dial2
  201.  
  202. ;................................................
  203. INICIO
  204.         clrwdt                  ;Reseteo el WDT
  205.         movlw   .7              ;Desactivo los comparadores
  206.         movwf   CMCON
  207.         clrf    PORTA           ;Borro el puerto A
  208.         clrf    PORTB           ;Borro el puerto B
  209.         bsf     STATUS,RP0      ;Cambio al banco de memoria 1
  210.         movlw   B'01111111'     ;Todo el puerto A como entrada
  211.         movwf   TRISA
  212.         movlw   B'11001111'     ;RB4 y RB5 como salidas y el resto entradas
  213.         movwf   TRISB
  214.         movlw   B'10001111'     ;Prescaler en 128 asignado al WDT
  215.         movwf   OPTION_REG      ;Cargo el reguistro OPTION
  216.         bcf     STATUS,RP0      ;Cambio al banco de memoria 0
  217.  
  218. Main1
  219.         call    Del2            ;Llamada a retardo
  220.         call    Del2            ;Llamada a retardo
  221.  
  222.         clrf    NUM_DISCA       ;Borro todos los reguistros a usar
  223.         clrf    TEMP
  224.         clrf    CARRIER
  225.         clrf    TONO_LOW
  226.         clrf    DEC_TONO_L
  227.         clrf    TONO_HIGH
  228.         clrf    DEC_TONO_H
  229.         clrf    CONT_1
  230.         clrf    CONT_2
  231.         clrf    CONT_3
  232.  
  233. Main2
  234.         movf    NUM_DISCA,W
  235.         call    Table1
  236.         xorlw   .0
  237.         btfss   STATUS,Z
  238.         goto    Main3
  239.         incf    NUM_DISCA,F
  240.         goto    Main2
  241. Main3
  242.         btfsc   PULSADOR        ;Verifico el pulsador, si esta en alto salto
  243.         goto    Main4           ;si está en bajo salto a la rutina Main4
  244. Sw
  245.         clrwdt                  ;Reseteo el WDT
  246.         btfss   PULSADOR        ;Verifico el pulsador, si esta en bajo salto
  247.         goto    Sw              ;Si es alto salto a Sw
  248.         call    Del3            ;Llamada a retardo
  249.         btfss   PULSADOR        ;Verifico el pulsador, si esta en bajo salto
  250.         goto    Sw              ;Si es alto salto a Sw
  251. Main4
  252.         clrwdt                  ;Reseteo el WDT
  253.         goto    Dial1           ;Salto a la rutina de discado
  254. Main5
  255.         movlw   .166            ;Rutina de retardo de 2min para luego de discar
  256.         movwf   CONT_3
  257. RET
  258.         call    Del2            ;Llamada a retardo
  259.         decfsz  CONT_3,F
  260.         goto    RET
  261.         goto    Main1           ;Reinicio todo el proceso desde la posición Main1
  262.  
  263. ;................................................
  264.         end

Prueba esto luego veremos lo otro.

Un saludo.

Atte. CARLOS.

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Re: Ayuda para una persona mayor que vive sola
« Respuesta #44 en: 24 de Octubre de 2007, 04:15:15 »
Hola Mako, voy a acercarme esta mañana a comprar los componentes para montar tu mismo circuito pero tengo una duda. ¿Al final montaste el puente rectificador como está indicado en el circuito original o como te dijo Chaly? ¿No estás utilizando la resistencia 390-470ohm/5W sino un teléfono, verdad?