Llave electrónica universal con PIC12F629

Foto de la llave electrónica

En este artículo presento una llave electrónica de bajo costo que puede ser usada en una infinidad de aplicaciones. Está pensada para su realización artesanal pues el código numérico se puede definir solo a nivel de programa. La clave numérica es de 2 bytes por lo tanto la llave nos permite más de 64.000 combinaciones posibles. La cosa más interesante es el hecho que no necesita ningún conector especial para su construcción, basta solamente cualquier tipo de dos contactos como por ejemplo los usados con las fuentes de alimentación o también los de audio (minijack o rca).

Diagrama de conexión de la llave electrónica a la base

El sistema está compuesto por dos partes, la llave propiamente dicha y el modulo de lectura. Ambos usan los microcontroladores 12F629 de la Microchip que son muy pequeños y económicos. El uso de un microcontrolador permite de hacer un circuito realmente simple. La llave, por ejemplo, está compuesta solamente por 4 componentes como se observa en la figura.

Circuito de la llave
Circuito de la llave

Para poder usar un conector con solamente dos contactos fue necesario proyectar un sistema bastante original que consiste en alimentar la llave con el mismo cable donde viajan los datos como pueden observar en el circuito. Funciona de este modo: el micro de la base lee continuamente el estado del pin de entrada de la llave. Cuando introducimos la llave en el conector, en un primer momento se carga el capacitor electrolito de la llave, a través de la resistencia de 4,7K de la base y del diodo.

Circuito completo de la base
Circuito completo de la base

Una vez cargado con 5V, el micro de la llave empieza a funcionar transmitiendo el código compuesto por dos bytes. En este momento, el micro de la base lee estos códigos y los compara con los memorizados internamente. Si coinciden, activa el relé.

Circuito impreso de la base
Circuito impreso de la base

El sistema permite dos modos de funcionamiento: en el primero, el relé se activa por todo el tiempo que introducimos la llave. En el segundo modo, llamado "flip-flop" o "toggle" cada vez que introducimos la llave, el relé cambia de estado (si estaba encendido se apaga o viceversa). Como pueden ver el sistema es realmente simple.

Vista pictórica de la base
Vista pictórica de la base

El circuito impreso tiene tres contactos de salida del relé (normalmente cerrado, normalmente abierto y común) con los clásicos conectores con bornes que uso en todos mis proyectos. El sistema se puede alimentar con una tensión continua de 12V DC y su consumo cuando el relé esta desactivado es muy bajo (10 mA de los cuales 5mA del led de encendido).

Vista pictórica de la llave y circuito impreso
Vista pictórica de la llave y circuito impreso

Lógicamente, el diseño de la llave puede ser personalizado. Por ejemplo se puede eliminar el zócalo para hacerla más pequeña y también encapsularla en plástico o en resina para obtener un objeto compacto y robusto (como una verdadera llave).

Base completa de la llave electrónica PicKey07.jpg

El código numérico se encuentra en las dos variables keycode1 y keycode2 al principio del programa. Pueden elegir cualquier valor para ellas. La cosa importante es que los dos programas tengan las variables con los mismos números.

Elenco de componentes de la llave

1 capacitor electrolítico 22μF 16V
1 capacitor poliester de 100nF
1 diodo 1N914 o 1N4148
1 microcontrolador PIC12F629
1 zócalo para circuito integrado 8 pin
1 conector para cable de alimentación (ver texto)
1 circuito impreso (ver texto)

Elenco de componentes de la base

2 resistencias 1 K 1/8 Watt
1 resistencias 1,8 K 1/8 Watt
2 resistencias 4,7 K 1/8 Watt
2 capacitores electrolíticos 22μF 16V
2 capacitores poliester de 100nF
1 diodo 1N4007
1 led verde 3mm
1 led amarillo o rojo 3mm
1 microcontrolador PIC12F629
1 regulador 78L05
1 transistor BC548
1 zócalo para circuito integrado 8 pin
1 puente de dos contactos
1 relé 12V DPCO D2n (corriente bobina max. 50mA)
1 conector de alimentación para panel (ver texto)
1 circuito impreso (ver texto)
2 conectores de 2 bornes
1 conector de 3 bornes

Bueno, aquí termina el artículo. Espero que el proyecto sea de vuestro agrado 🙂

logo_descarga

[Circuito impreso de la llave electrónica] (5641 descargas )

[Software en ASM y en HEX de la llave] (7258 descargas )

Actualización 18/07/2016: el amigo HJ ha publicado en el foro de Inventable una óptima guía para reemplazar los PIC12F629 por los 12F675. Este es el link

Los contenidos de este blog son originales y están bajo una licencia Creative Commons BY_NC_SA

Logo creative commons cc by nc sa

Llave electrónica universal con PIC12F629 ultima modifica: 2012-10-03T17:58:53+02:00 da inventable

275 comentarios sobre “Llave electrónica universal con PIC12F629”

  1. Hola, felicitaciones por su proyecto, muy funcional. ademas la presentación excelente.

    Gracias Carmelo 🙂

  2. muy bueno el circuito, ….uhmmm.. habrá que buscarle alguna aplicación.

    Si francis, hay que aprovechar 🙂

    1. Soy de Guayaquil Exuador no hay mucho desarrollo o difusión acerca de programación de PiC quisiera saber de dónde eres para ver si me podría facilitar los pics ya programados y por lo menos unas 10 pics de la llave y 5 pics de la tarjeta central mi correo es acruz@iedyt.com si podrías ayudarme con lao costos y con más información al respecto Saludos cordiales

  3. Me parece fantastico, voy a tratar de reproducir el experimento, por lo que talves te pida un poco de ayuda. Saludos

    Aquí estoy nomás

  4. Buenisimo y muy simple, la mejor combinacion jeje…
    Tengo una duda, luego que se carga el capacitor y se alimenta la llave, como funciona la transmision por esa misma conexion, porque entiendo que siempre estaria a 5V?

    Felicitaciones y un saludo!

    Hola Leonel, muchas gracias. En realidad no hay 5V directos, en la base pasan por una resistencia de 4,7K mientras que en la misma llave, cuando el pic transmite, los impulsos negativos quedan bloqueados por el diodo y no dejan que el capacitor que está alimentando el pic se descargue. Es un sistema un poco extraño pero funciona!! 🙂

  5. Execelente proyecto,Felicidades.

    Una pregunta que dispositivos o equipos electrónicos podemos controlar con esta llave universal.

    Espero su Pronta respuesta, Gracias!!

    No lo se Luis, estoy pensando. Yo por ejemplo, la he usado en el pasado para activar y desactivar una alarma que construí para mi casa. Pienso que se pueda usar también para un sistema de control de accesos conectando el relé a una cerradura eléctrica

    1. Primeramente muchisimas gracias por compartir este proyecto amigo, mi consulta es que si quiero adaptar a una cerradura electronica simplemente tendria que conectarlo al relé ???

      1. Hola Dennys.
        Si a lo que te refieres es a un pestillo eléctrico, la respuesta es si.
        Pero ten en cuenta que normalmente están diseñados para trabajar con alterna, con continúa suelen recalentarse. Si se los tiene activados por mucho tiempo,

        Saludoss
        HJ

        1. Dennys puedes agregar una etapa de potencia con aun UNL2003 para accionar un contactor y así poder manejar CA 127, 220, etc, dependiendo de la capacidad de tu contactor sin problemas.

    2. Increible proyecto, sencillo pero sofisticado. tengo una duda, has pensado en algún tipo de bloqueo para evitar ataques por fuerza bruta? una pregunta más, si contínuamente está leyendo, al introducir la llave y dejarla adentro, empezaría a prender y apagar el sistema? o hay algún delay? mil gracias!

      1. Hola Camilo, te contesto de metido, solo soy un colaborador.
        La explicación del funcionamiento está en el texto del artículo de Gabriel (Inventable).
        Esta cerradura, por su diseño, no está hecha para resguardar cosas de valor, es mas bien didáctica.
        Modificando el código, se podría hacerla mas segura, como por ejemplo que solo permita tres claves erróneas en un determinado lapso de tiempo y que después se bloquee por algún otro tiempo.
        Además se debería implementar alguna forma de variación automática en el tiempo de la clave, utilizar claves de mayor longitud, etc… pero como ya mencioné este es un montaje didactico.

        Saludos
        HJ

  6. Soy un primerizo, pero voy a tratar de hacerlo funcionar con un cerradura electrica en un locker de herramientas semipesadas. Seria mucho pedirte una lista de componentes. Saludos

    Ya la puse al final del artículo 🙂

  7. Excelente me parecio oye, me imagino en que tendras pensado aplicarlo. Pero mi pregunta es:¿Que tan segura es ese tipo de llave?.Gracias y excelente.

    Hola fermanlive. El software que he publicado es muy simple (y didáctico). He pensado que los ladrones no leen «inventable» y no se construyen llaves de este tipo cuando van a robar. Naturalmente, si piensas de usar esta llave para proteger grandes tesoros, sería mejor, manteniendo la electrónica así como es, proyectar un software más sofisticado . Dejo abierta la posibilidad para que los lectores prueben a hacer versiones más seguras y eficientes y las propongan aquí. Prometo de publicarlas 🙂

  8. Gracias por el aporte!! me gusto por su sencilles y el ingenio para implementar la alimentacion al pic!, lo que si creo que no lo pondria como llave de seguridad o de alarma, mas alla de las combinaciones, te conectan el plug a 220 chau seguridad, si me resultaria interezante aplicarlo como control del personal de una empresa, cada uno de los empleados tendria una llave como esta y lo primero que deberia hacer al llegar es «pasar la ficha» , lo mismo al retirarse del trabajo, obviamente la placa base debera tener otro prog cargado, pero en fin .. se las dejo picando jaja, me gustaria compartir ideas y proyectos relacionados al mundo del pic, si desean pueden contactarme en firmwarer@hotmail.com.ar

    Hola Marcelo. Te propongo de participar en el foro con tus ideas y proyectos. Si tienes material que te interese de publicar puedes mandarme una mail a: gabriel@mediacomm.it

  9. Excelente proyecto, como se alimenta de 12v, se puede utilizar fácilmente para cortar la corriente de un automóvil, ya sea a la marcha o a el encendido, así como los últimos vochos que salieron a la venta… Sencillamente me encanto. Tratare de reproducir el proyecto y te comento como funciono.

    Gracias Mark, espero tus noticias 🙂

  10. Empese a fabricar la llave, pero lo que necesito saber es como le introduzco al micro la clave y con que software. Disculpe la ignorancia, pero soy arquitecto y me facina aprender estas cosas

    Hola Chipias, bienvenido a inventable. La programación de los micros es toda una historia y es uno de los motivos por lo que he siempre evitado de publicar proyectos de este tipo. Por otro lado me doy cuenta que la tecnología sigue adelante y las ventajas de los micros respecto a la electrónica tradicional son notables por lo tanto cada tanto presento un proyecto de este tipo.

    Para programar un micro se necesita un programador y un par de software. Los software en general son gratis y se encuentran en la red. Respecto a los programadores, existen muchos proyectos en la red para construir .El problema está que la mayor parte de ellos necesitan un micro ya programado y la pregunta surge esponatnea ¿Como programo el micro del programador si no tengo un programador? 🙂 (el perro que se muerde la cola).

    Hay también algunos modelos que no usan micros pero que necesitan un puerto serial y los PC modernos ya no los traen. Se pueden comprar adaptadores USB a serial pero no son tan fáciles de conseguir. Yo uso un programador comercial, producido por la misma empresa que fabrica los micros. Se llama Picstart plus y lo tengo desde hace muchos años.
    He notado un gran interés aquí por parte de la gente respecto a los programadores y pienso que tendré que ocuparme del argumento seriamente (quizas con un nuevo proyecto estilo «inventable»). 🙂

  11. Te agradezco por la información, reconozco las limitaciones pero voy a seguir para adelante, ya que cada dia encuentro mas aplicaciones para este proyecto. Ya conseguí quien me venda un programador PICSTART-16B1 original de Microchip yo que no se si este modelo sirve, vos que opinas. En este momento estoy armando el componente base. Te voy a tener informado en el avance. Saludos y gracias por prestarme atención.

    Hola Chipias. El Picstart 16B1 es el primer programador que he tenido (antes del 2000) y se usaba con el viejo DOS. No creo que funcione con los micros y con los softwares actuales. Yo tuve que cambiarlo años atrás por un modelo más nuevo (el Picstart Plus). Dame algunos días que veré si puedo ocuparme del tema programadores. 🙂

  12. hola una pregunta que tengo que modificar en el circuito para que le pueda conectar un relé mas grande pero que siga siendo a 12v es decir que la corriente bobina max. sea mayor a 50mA? gracias y muy buen proyecto 🙂

    Hola Molina. Debes reemplazar el transistor BC548 por el BC337 y cambiar la resistencia de base de 4,7K por una de 1K. Así tendrás a disposición una corriente de salida de más o menos 300mA.

  13. Amigo, aprovecho para felicitarte por tu pagina, hace tiempo me la encontre por casualidad, de vez en cuando me doy una vuelta para ver que hay de nuevo, me interesa este proyecto, muy interesante, pero una pregunta que programa usas para este pic, yo actualmente e comenzado a usar el 16F628A con el software Mikrobasic y un Arduino Nano328, pero este que mencionas se me hace muy practico por el tamaño, que programador usas?
    O como es que se hace para que un pic transfiera datos o depende completamente de las funciones de este (PIC), ya que segun tengo entendido no todos los pics hacen lo mismo.
    Saludos

    Hola. Yo uso el ambiente MPLAB de la Microchip que es gratis. Al interno de este ambiente está el compilador que se llama MPASM y también el soporte para programar los Pics. Es necesario comprar o hacer un programador del pics. Lamentablemente el tema de hacerlo es medio largo para hablarlo aquí. Yo lo he comprado mucho años atrás y se llama Picstart plus. Actualmente existen muchos modelos e internet está lleno de proyectos de programadores.

  14. Hola, esta muy bueno el proyecto!!
    ¿Hay alguna posibilidad de adaptar el código de los PIC12F629 a los PIC12F509?.

    La pregunta es debido a que solo consigo los PIC12F509 en el lugar donde vivo. En caso de ser posible, ¿alguien me podría ayudar o darme documentación de referencia para realizarlo?.
    Desde ya muchas gracias y saludos a todos!!

    Para este proyecto, puedes usarlo sin problemas. Al inicio de los programas debes cambiar «LIST P = 12F629, r=DEC, n=66″ por LIST P = 12F509, r=DEC, n=66» 🙂

  15. Hola, muchas gracias por tu respuesta.
    Te cuento que el programa es 100% compatible con el PIC12F675, pero no he podido hacer que compile con el PIC12F509 que es el que tienen en la única casa de electrónica de la ciudad en donde vivo. Voy a seguir estudiando para ver si logro hacer que compile.
    Saludos

    ¿Podés poner aquí los errores que te da? 😯

  16. Hola, felicidades por tu proyecto es muy interesante al igual que todo el demás contenido de la página muy bueno, tengo una pregunta ésta llave electrónica puedo conectarla directamente a una batería de auto? 🙂 saludos!

    Si charles, se puede conectar directamente a una batería de auto.

  17. Hola, aquí van los errores que me da al tratar de compilar la Base:

    Debug build of project `C:\Users\Joselo\Desktop\Llave Electronica\CON PIC12F509\Base\Base.mcp’ started.
    Language tool versions: MPASMWIN.exe v5.47, mplink.exe v4.45, mplib.exe v4.45
    Preprocessor symbol `__DEBUG’ is defined.
    Sun Dec 16 13:09:43 2012
    ———————————————————————-
    Clean: Deleting intermediary and output files.
    Clean: Done.
    Executing: «C:\Program Files (x86)\Microchip\MPASM Suite\MPASMWIN.exe» /q /p12F509 «Base.asm» /l»Base.lst» /e»Base.err» /d__DEBUG=1
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\BASE\BASE.ASM 13 : Symbol not previously defined (_CPD_OFF)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\BASE\BASE.ASM 13 : Symbol not previously defined (_BODEN_ON)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\BASE\BASE.ASM 13 : Symbol not previously defined (_PWRTE_ON)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\BASE\BASE.ASM 13 : Symbol not previously defined (_INTRC_OSC_NOCLKOUT)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\BASE\BASE.ASM 65 : Symbol not previously defined (RP0)
    Message[306] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\BASE\BASE.ASM 76 : Crossing page boundary — ensure page bits are set.
    Error[120] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\BASE\BASE.ASM 76 : Call or jump not allowed at this address (must be in low half of page)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\BASE\BASE.ASM 61 : Symbol not previously defined (RP0)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\BASE\BASE.ASM 65 : Symbol not previously defined (RP0)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\BASE\BASE.ASM 176 : Symbol not previously defined (TRISIO)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\BASE\BASE.ASM 179 : Symbol not previously defined (WPU)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\BASE\BASE.ASM 182 : Symbol not previously defined (OPTION_REG)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\BASE\BASE.ASM 61 : Symbol not previously defined (RP0)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\BASE\BASE.ASM 187 : Symbol not previously defined (CMCON)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\BASE\BASE.ASM 189 : Symbol not previously defined (INTCON)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\BASE\BASE.ASM 189 : Symbol not previously defined (GIE)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\BASE\BASE.ASM 190 : Symbol not previously defined (INTCON)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\BASE\BASE.ASM 190 : Symbol not previously defined (PEIE)
    Warning[207] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\BASE\BASE.ASM 255 : Found label after column 1. (retfie)
    Halting build on first failure as requested.
    ———————————————————————-
    Debug build of project `C:\Users\Joselo\Desktop\Llave Electronica\CON PIC12F509\Base\Base.mcp’ failed.
    Language tool versions: MPASMWIN.exe v5.47, mplink.exe v4.45, mplib.exe v4.45
    Preprocessor symbol `__DEBUG’ is defined.
    Sun Dec 16 13:09:44 2012
    ———————————————————————-
    BUILD FAILED

    #######################################################################################################################################

    Y aquí al tratar de compilar la llave:

    Debug build of project `C:\Users\Joselo\Desktop\Llave Electronica\CON PIC12F509\Llave\Llave.mcp’ started.
    Language tool versions: MPASMWIN.exe v5.47, mplink.exe v4.45, mplib.exe v4.45
    Preprocessor symbol `__DEBUG’ is defined.
    Sun Dec 16 13:14:20 2012
    ———————————————————————-
    Clean: Deleting intermediary and output files.
    Clean: Deleted file «C:\Users\Joselo\Desktop\Llave Electronica\CON PIC12F509\Llave\Llave.mcs».
    Clean: Done.
    Executing: «C:\Program Files (x86)\Microchip\MPASM Suite\MPASMWIN.exe» /q /p12F509 «PicKey.asm» /l»PicKey.lst» /e»PicKey.err» /d__DEBUG=1
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\LLAVE\PICKEY.ASM 13 : Symbol not previously defined (_CPD_OFF)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\LLAVE\PICKEY.ASM 13 : Symbol not previously defined (_BODEN_ON)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\LLAVE\PICKEY.ASM 13 : Symbol not previously defined (_PWRTE_ON)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\LLAVE\PICKEY.ASM 13 : Symbol not previously defined (_INTRC_OSC_NOCLKOUT)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\LLAVE\PICKEY.ASM 61 : Symbol not previously defined (RP0)
    Message[306] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\LLAVE\PICKEY.ASM 72 : Crossing page boundary — ensure page bits are set.
    Error[120] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\LLAVE\PICKEY.ASM 72 : Call or jump not allowed at this address (must be in low half of page)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\LLAVE\PICKEY.ASM 57 : Symbol not previously defined (RP0)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\LLAVE\PICKEY.ASM 61 : Symbol not previously defined (RP0)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\LLAVE\PICKEY.ASM 153 : Symbol not previously defined (TRISIO)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\LLAVE\PICKEY.ASM 156 : Symbol not previously defined (OPTION_REG)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\LLAVE\PICKEY.ASM 57 : Symbol not previously defined (RP0)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\LLAVE\PICKEY.ASM 161 : Symbol not previously defined (CMCON)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\LLAVE\PICKEY.ASM 163 : Symbol not previously defined (INTCON)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\LLAVE\PICKEY.ASM 163 : Symbol not previously defined (GIE)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\LLAVE\PICKEY.ASM 164 : Symbol not previously defined (INTCON)
    Error[113] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\LLAVE\PICKEY.ASM 164 : Symbol not previously defined (PEIE)
    Warning[207] C:\USERS\JOSELO\DESKTOP\LLAVE ELECTRONICA\CON PIC12F509\LLAVE\PICKEY.ASM 184 : Found label after column 1. (retfie)
    Halting build on first failure as requested.
    ———————————————————————-
    Debug build of project `C:\Users\Joselo\Desktop\Llave Electronica\CON PIC12F509\Llave\Llave.mcp’ failed.
    Language tool versions: MPASMWIN.exe v5.47, mplink.exe v4.45, mplib.exe v4.45
    Preprocessor symbol `__DEBUG’ is defined.
    Sun Dec 16 13:14:22 2012
    ———————————————————————-
    BUILD FAILED

    Saludos y gracias!!!!!

    Si José, tienes razón, hay bastante cambios para adaptarlo al 12F509. Yo he usado el 509 antes del 12F629 y me parecía que eran bastante similares mientras que ahora, comparando los dos modelos me doy cuanta que no es así. 🙁

  18. Ante todo Enhorabuena por tu proyecto, en cuanto lo ví comencé a fabricarme uno para probarlo, pero al terminarlo me he dado cuenta que debo tener algunos errores básicamente en la programación.
    Mi programador es un t20 casero y cuando programo el pic mediante el software ic-prg, solo me deja programarlo si deshabilito la casilla de protección código (CP)
    No tengo mucha experiencia en programar pero por lo que puedo entender la configuración de ambos programas es simplemente:

    oscilador=intOSC CLKOUT
    WDT=on
    PWRT=on
    MCLR=off
    BODEN=on
    *CP=on
    CPD=off

    ¿necesito cambiar algo mas?
    También he puesto un transistor bc337 y R1k porque mi relé es algo mas grande y de 150Ohm
    Saludos y Feliz año! 😛

    Si, CP podés ponerlo en on o en off. No tiene importancia para este proyecto. Sirve solo para proteger el código del programa a las copias
    Respecto a las modificaciones perfecto Huguiko 🙂

  19. Buena tarde. Mi pregunta es que programa uso para hacerle los cambios de código a las llaves. Ya que en un proyecto de mi escuela hicimos diez y no queremos que la misma llave le haga a todos. Que programa uso para editarlo y volverlo .hex para meterlo en el micro. Gracias. ❓

    Necesitas un compilador como por ejemplo MPASM de la Microchip que es gratis. Quizás te convenga descargarte toda la suit (MPLAB) u otra plataforma de desarrollo para PICs.

  20. Hola, gracias por tu respuesta pero aún sigo dandole vueltas y no consigo que me funcione.
    He reprogramado los PIC varias veces y creo que el error debe estar en la programacion.
    *Cuando abro el archivo con el ic-prog, me sale toda la configuración que lleva salvo el oscilador que en vez del INTRC_OSC_NOCLKOUT me señala IntOSC GP4 ¿cual uso?
    *Cuando lo voy a programar, me aparece un warning con valor de calibracion del oscilador ausente, si quiero utilizar el valor del fichero 3FFFh ¿es normal?
    *Al programar sin el CP (no deja con el activado) me cambia la direccion del Checksum de E63A a E6BA ¿da igual?
    * Por ultimo, al leer el programa en vista ensamblador veo esta linea: LIST P=16F84, F=INHX8M, al utilizar el 12F629, ¿habria que modificar eso?

    Muchas gracias por la atención y tiempo. 😉

    Hola Huguiko. IntOSC GP4 es lo mismo que INTRC_OSC_NOCLKOUT, según la plataforma cambian denominación pero es lo mismo. El valor de calibración se encuentra a 3FFh y no a 3FFFh. El cambio de checksum es normal porque es la suma de los valores de todos los byte y por lo tanto cambia si se modifica cualquier byte. No es correcto que te aparezca P=16F84, F=INHX8M, evidentemente tu compilador no está leyendo bien la primera parte del listado. ¿Como se llama el sistema de desarrollo que usas? 😯

  21. Utilizo como programador un modelo sencillo pero a la vez eficaz para este modelo de pic según muchas fuentes de internet. Se identifica como «cutreprogramador» por su relativa sencillez de montaje.
    Como software he usado el ic-prog y el WinPic800 y ambos me han dado la misma escritura en el pic.
    Y por último como sistema operativo WindowsXP.

    Hola Huguiko. En estos días me estoy ocupando en un programador que espero publicar en el futuro aunque si es un poco más complicado de lo que dices.
    ¿Puedes poner un link al sitio del cutreprogramador?

  22. Si, en esta pagina se ve un esquemita un poco chapucero pero se ve bien donde debe ir cada patilla.
    http://www.elotrolado.net/wiki/Programaci%C3%B3n_de_PICs
    Es el «programador sencillo JDM»
    Yo lo he constuido sin transistor y con una fuente de alimentacion externa a 5V.
    😉

    Hola huguiko, hace ya algunos meses que estoy investigando sobre el tema de los programadores de pics y había visto el JDM. Mi preocupación es que los ordenares modernos no tienen más los puertos seriales (es realmente una lástima) y por lo tanto este tipo de programador está destinado a desaparecer. Quizás pueda servir como programador de transición para poder programar el PIC18F8250 que se usa en los programadores mas complejos como el PicKit2 o el GTP. Probablemente publicaré algo sobre este tema en la próximas semanas. Muchas gracias por tu colaboración 🙂

  23. hola soy jesus estoy estudiando electrotecnia tu invento es impresionante. te admiro
    y una pregunta con que programa usas para hacer esos diseños en vaque lita mi correo es jd1990@hotmail.es

    Hola Jesus, ya me han preguntado otras veces por los diseños. No uso ningún programa especial, solamente un programa de diseño vectorial (un viejo CorelDraw! 9) pero se puede usar cualquier programa de este tipo. Los componentes que ves los hice yo, la transparencia del circuito impreso la obtengo importando el diseño del circuito impreso hecho con KiCad (open source) en baja resolución y poniéndole encima un rectángulo de color verde al que le aplico un efecto de transparencia. Es más facil de lo que parece. 🙂

  24. Hola buenas tardes, gracias por la dedicación que me has dado para solucionar los problemas, creo haber encontrado ya el error con la programación y es que no anote el valor de calibración del pic de la ultima posición de memoria…
    Estoy intentando poder conseguir ese numero pero creo que lo veo un poco difícil,¿sabes si es posible recuperarlo?
    Un saludo y espero volver a comentar cuando ya este todo funcionando!! jejeje 😛

    Generalmente los programas para la programación de los pic permiten de leer el contenido de memoria de un pic y por lo tanto también el valor para el registro de calibración. Yo ahora no me recuerdo pero no es difícil, lo he hecho en el pasado 🙂

  25. Buenas tardes, me gustaria saber si el .hex se puede compilar y grabar con el PIcSimulatorIDE.
    gracias

    No lo conozco. Yo no tengo experiencia con los simuladores. Siempre he preferido construir las cosas realmente. Con la llave el problema, pienso yo, es que en este sistema son dos los pics que es necesario simular contemporáneamente (la llave y la base).

  26. Hola buenos dias! Simplemente era para decir que ya conseguí que me funcionara el inventillo y todo se debía a configuraciones en la programación!!
    Mis felicitaciones por todo el trabajo, creo que es un circuito bastante útil.
    La ultima pregunta que querría realizar es, ¿que debo de cambiar en el fichero para que cuando conecte la placa a los 12v, no se active el relé por unos segundos como hace ahora?
    Un saludo y gracias!!
    😛

    Felicitaciones Huguiko!!! 🙂
    Para hacer lo que me pides debes eliminar las dos lineas de código:

    bsf p_rele
    call DlyRelease

    que se encuentran al final de la routine «MAIN» dejando solamente la última linea (bcf p_rele)

  27. Hola quisiera saber como puedo colocar en la programacion una contraseña ya que tengo entendido que se puede jugar con varias combinaciones de antemano muchas gracias..

    Hola Paul, los números que componen la combinación son keycode1 y keycode2. En lugar de 23 y 78 puedes poner otros números. Recuerda que la variación de los números debes hacerla en ambos programas (PicKey.asm y PicKeyBase.asm)

  28. Hola,

    Muy interesante el circuito, quería preguntarte si un programador como este: Enhanced PICKIT2 Programmer/Debugger with ZIF,ICSP & USB cable,5v & 3.3v Support ( http://tinyurl.com/bdyvlf3 ) puede servirme para programar los PICs necesarios (entiendo que si porque figuran los PICs tipo 12F como soportados).

    Muchas gracias !

    Hola Fernado, si parece una versión del PicKit2 como la que publiqué aquí. Pienso que te serviría. 🙂

  29. hola ante todo agradecerte por el proyecto.
    no se si estaria en tus posibilidades pasar el programa al pic 12f509 ya que en el lugar donde vivo solo he podido encontrar ese te agradesco de antemano tu atencion prestada

    Hola Alexis. No es una modificación inmediata, es necesario un poco de tiempo. Si puedo la hago. Inscribite al blog con tus datos así te pongo en la lista de notificaciones.

  30. hola no entiendo muy bien como es la programación soy aficionado a la electrónica y estoy comenzando la carrera quisiera saber como lo programo como son los comandos y con que programas por favor te agradezco tu ayuda
    PD: excelente pagina

    Hola Angel, los microcontroladores y su respectiva programación es un tema bastante complejo para uno que no tiene experiencia en eso. Yo no lograría explicártelo bien en una simple respuesta como esta. Necesitas un ambiente de programación, por ejemplo la suite mplab de la microchip que es gratis. Después te sirve un programador de pics que es mejor comprarlo. Por último, aprender a manejar estos instrumentos y a conocer los micros que estás usando. Cursos y guías sobre el tema hay mucho en internet. Yo hasta ahora no he encarado el argumento debido a su complejidad y al hecho que las plataformas de desarrollo se actualizan continuamente y mi trabajo sería inútil después de poco tiempo. 🙁

  31. Muy interesante el proyecto, en cuanto pueda lo fabrico, muchas gracias por compartirlo, tengo una pregunta, es posible adjuntarles módulos RF para transmitir la información de la llave a la base inalambricamente?

    1. Hola ROGAUL, tal cual es el diseño no, ya que la «llave» se alimenta a través del conector.

      Sin embargo, puedes guiarte con esta llave y agregar alimentación al transmisor y los correspondientes módulos de RF, sería algo distinto, pero posible. En este caso, para evitar un desgaste de la pila del transmisor puedes alimentarlo mediante un pulsador, de esa manera el circuito solo consumirá mientas estás pulsado y enviando el código.

      Saludos
      HJ

  32. hola como estas me gusta mucho tu proyecto pero lamentablemente no puedo bajar sus diagrama para contruirlo favor si me lo puedieras reenviar a mi correo gracias

  33. Hola… que tal? soy nuevo en la pagina y en el tema!! la verdad muy buena.. Me pordrias decir por favor de que manera puedo imprimir el circuito impreso con las dimenciones exactas? algun programa en especial??? muchas gracias de antemano… Slds

    Hola Nicolas, el programa KiCad ya te imprime el circuito impreso con las dimensiones precisas (escala 1:1) 🙂

  34. Muy buen proyecto, yo anteriormente le puse a mi auto un sistema de bloqueo por codigo que disimula lo que es mostrando la temperatura interna del coche despues de haber ingresado el codigo, me gustaria juntar tu idea y la mia mas adelante, puesto que es lo que me falta para eliminar el molesto teclado matricial que le puse, trabajare en eso y si logra quedar me gustaria compartirlo contigo para ver que arreglos mas le puedes hacer jeje, saludos 😛

    Hola Luis, muchas gracias. Espero que logres construirlo!! 🙂

  35. Hola sabes el PIC12F629 no lo encuentro, existe algun reemplazo?

    Hola Ale, sería necesario modificar algunas partes del listado. 🙁

    1. Hola, el código está en los dos PIC, al principio de cada ASM puedes verlo. Aparecen como dos variables keycode1 y keycode2.

      saludos
      HJ

  36. Hola, felicitaciones por un proyecto ingenioso, simple y genial !!…Se que ya te lo han solicitado; pero me gustaria solicitarte si puedes cambiar el programa para cargarlo en un 12F509. De antemano muchas gracias.

    Hola Victor. Gracias por tus felicitaciones. El problema es que no tengo experiencia con el 12F509 y ni siquiera puedo probar las modificaciones en el laboratorio porque no lo tengo. 🙁

  37. hola saludos!
    al fin encontré el PIC 12F629
    soy nuevo en el área de la programación de PIC’s, así que mi duda es:
    Como puedo hacer un programador de PIC’s para USB?
    Me recomiendan comprar un software?
    Como se le ingresan los datos al PIC?
    Hay software para SO Mac?
    Muchas gracias por su apoyo!

  38. Hola Guillermo, aquí mismo, en Inventable.eu, está el diseño que publicó Gabriel de un grabador USB para PIC, basado en el PICkit2.
    te dejo el enlace:
    https://www.inventable.eu/2013/03/27/062-programador-de-pics/

    Con respecto al software para MAC, tienes el MPLAB X que puedes descargar desde aquí:
    http://www.microchip.com/pagehandler/en-us/family/mplabx/

    Aclaro que desconozco por completo si el clon del PICkit2 anda o no en una MAC, aunque supongo que debería…

    Saludos
    HJ

    1. Hola Guillermo nuevamente.
      Estaría bueno que nos comentes si pudiste hacer andar el PICkit2 sobre una MAC, como para que quede de referencia para otros usuarios.

      Saludos
      HJ

  39. Hola saludos!!!!
    Tengo una pequeña duda respecto a si puedo usar un relevador DPDT en lugar del DPCO ya que en donde resido me es dificil encontrarlo no se si eso pueda aafectar el funcionamiento de la placa…
    De antemano saludos y gracias por el post..

    Respecto a tu pregunta ya te respondió Hector. Quería solo decirte que cualquier relé que interrumpa un contacto está bien. Respecto a los distintos tipos de contactos te aconsejo de ver este artículo que publiqué sobre los relés

    1. Hola Lemus, si te fijas en el diseño del circuito impreso que acompaña este excelente artículo de Gabriel, verás que en realidad está utilizando un relé DPDT, donde ha unido sus pines equivalentes, menos los del bobinado obviamente.

      Saludos
      HJ

  40. Hola, te felicito por esta pagina es muy buena!!!! mi pregunta es: como puedo usar el pic12f675 en ves de 12f629, es que solo consigo pic12f675

    Hola Jose, las respuesta de Hector es correcta. El 675 es igual al 629 excepto porque tiene también un ADC y ANSEL es el registro que selecciona si las entradas van al ADC o no.

    1. Hola Jose Antonio.
      Si bien quien te puede asesorar correctamente es Gabriel, el autor del proyecto, te comento que estuve viendo ambos ASM y a simple vista, solamente abría que agregar una linea para configurar el registro ANSEL, ojo que se encuentra en el banco «1».
      Deberías agregar donde configura el TRIS y el OPTION_REG la siguiente línea:

      clrf ANSEL ;Todos I/O digitales

      Saludos
      HJ

      1. Hola denuevo, tengo aun el problema con lo del ANSEL… pongo la linea en donde tu dices pero al hacer el programa tira un error. Lo dejo aqui
        «———————————————————————-
        Release build of project `C:\Users\matias\Desktop\base.mcp’ started.
        Language tool versions: MPASMWIN.exe v5.37, mplink.exe v4.37, mplib.exe v4.37
        Thu Aug 18 09:27:32 2016
        ———————————————————————-
        Make: The target «C:\Users\matias\Desktop\PicKeyBase.o» is out of date.
        Executing: «C:\Program Files (x86)\Microchip\MPASM Suite\MPASMWIN.exe» /q /p12F675 «PicKeyBase.asm» /l»PicKeyBase.lst» /e»PicKeyBase.err»
        Message[301] C:\PROGRAM FILES (X86)\MICROCHIP\MPASM SUITE\P12F629.INC 36 : MESSAGE: (Processor-header file mismatch. Verify selected processor.)
        Error[113] C:\USERS\MATIAS\DESKTOP\PICKEYBASE.ASM 184 : Symbol not previously defined (ANSEL)
        Halting build on first failure as requested.
        ———————————————————————-
        Release build of project `C:\Users\matias\Desktop\base.mcp’ failed.
        Language tool versions: MPASMWIN.exe v5.37, mplink.exe v4.37, mplib.exe v4.37
        Thu Aug 18 09:27:33 2016
        ———————————————————————-
        BUILD FAILED»
        aun no puedo solucinar el problema del programa de la pic 12F675 :(.

        BUILD FAILED

        1. Hola Matías… perdón, pero dí por sentado que habías utilizado el «INCLUDE» correcto al cambiar de micro… pero por lo visto no es así…
          En la linea del INCLUDE donde dice: «P12F629.INC», debes reemplazarlo por «P12F675.INC».
          Esto debes hacerlo en los dos fimware si vas ha utilizar el 12F675 tanto en la llave como en la base.

          Espero que ahora puedas…

          Saludos
          HJ

          1. a mi me pasa lo mismo que a Matías pero la diferencia es que no puedo agregar la linea de programacion que mencionas arriba «clrf ANSEL ;Todos I/O digitales» en el banco 1

            Donde se supone que deberia poner la linea?
            Gracias.

          2. Hola esteban, segun lo que entendi se deberia poner entre
            ;———————————————————————————————–
            ; MAIN
            ;———————————————————————————————–

            main
            PAG_RAM1

            movlw B’00010010′ ; GP1 (mode) and GP4 (key) = input
            movwf TRISIO ;

            movlw B’00010010′ ; individual Pull-up on
            movwf WPU

            movlw B’01101111′ ; Pull-up on. Prscaler %128 in WDT
            movwf OPTION_REG ;
            pero no se si es lo correcto por que aun sigue con el mismo error al compilarlo asi que parece que estamos en le mismo problema jajaja, suerte…

          3. Release build of project `C:\Users\matias\Desktop\baseprueba.mcp’ started.
            Language tool versions: MPASMWIN.exe v5.37, mplink.exe v4.37, mplib.exe v4.37
            Thu Aug 18 12:42:13 2016
            ———————————————————————-
            Build aborted. The project contains no source files.
            ———————————————————————-
            Release build of project `C:\Users\matias\Desktop\baseprueba.mcp’ failed.
            Language tool versions: MPASMWIN.exe v5.37, mplink.exe v4.37, mplib.exe v4.37
            Thu Aug 18 12:42:13 2016
            ———————————————————————-
            BUILD FAILED
            Este es el error que me aparece, necesitamos ayuda con esto por favor, ya que nuestros conocimientos son minimos y el de nuestro profesor tambien. Esperamos puedas ayudarnos ya que queremos llevar a cabo nuestro proyecto y nos quedan tan solo 24 horas, gracias de ante mano y perdon por las molestias.

          4. Esteban y Matías
            Esto no da para responder en el Blog. aquí están limitadas las respuestas anidadas.
            Por lo que entiendo, saben poco y nada de programación de micros, así que supongo que esto va para lejos…

            Voy ha abrir un hilo en el Foro, por favor deberían registrarse y lo continuamos allá

            Saludos
            HJ

  41. 😎

    Que tal buenos días un proyecto realmente fascinante espero poder llevarlo acabo y realizar infinidad de aplicaciones para este dispositivo por cierto no puedo descargar el archivo hex ,permita me felicitarlo ya que usted comparte su conocimiento con los demás
    excelente pagina.

    Gracias Christian 🙂

    1. Hola Chistian, puedes bajar ambos ASM y ambos HEX al final del artículo, donde dice: «materiales y documentos adicionales disponibles para bajar» en el segundo enlace, te permite bajar un archivo comprimido llamado «PicKeySoftware.zip», en su interior están los cuatro archivos, acabo de bajarlos sin problema alguno.

      Saludos
      HJ

  42. Buenas tardes, el diseño del interruptor electrónico es muy buena puntuación de 10! Felicidades INVENTABLLE.
    Descupe los errores que hablo portugués, soy brasileño. ¡Gracias! smile:

    Ivanízio, muchas gracias por tus palabras!! 🙂

  43. me gustaria saber como haces tus plaquetas
    se ven muy profesionales , gracias

    ¿A que te refieres, a los diseños o directamente a los circuitos impresos?

    1. De curioso que soy…¿Por que quieres el código en «C»? ❓
      Gabriel, el autor del proyecto, ha tenido al amabilidad de no solo subir el HEX, sino el ASM en que escribió ambos programas, con eso es mas que suficiente para hacerlo andar…

  44. Muy buen trabajo, se agradece que sea tan explicativo para las personas como yo que no sabemos mucho y queremos aprender, pero ma da un error al abrir el archivo con el eagle.

    Yo tengo el EAGLE 6.3.0.

    el error es el siguiente

    Loading C:/Users/CNC/Downloads/PicKey_PCB/PicKey.brd …

    Error:

    line 1, column 1: Start tag expected

  45. Un post muy interesante, soy fanático de la electrónica y quiero realizar este proyecto pero para ser sincero mi experiencia con micro controladores en asma no es buena, no entiendo los códigos te agradecería si pudieses migrar lo al c de ccs ya que quiero entender el modo de transmisión de los datos aunque aún soy novato en esto de los pic. Gracias por tu a atención.

    Hola Leonardo, lamentablemente la migración en C no es sencilla y me obligaría a desarrollar nuevamente el proyecto. ¿Por qué no puedes hacerlo con el código que he puesto?

  46. Te felicito por el post, he estado buscando algo como ésto por mucho tiempo, lamentablemente aunque sé lo que es un PIC no se nada de programación. Ahora le implementaré ésta llave a mi moto como sistema de seguridad.
    Muchas gracias y continúa.

    Gracias Fernando 🙂

  47. Hola, antes que nada te felicito por el blog.
    Ahora la pregunta.
    Este sistema en que se puede usar. Osea, que es lo que podemos activar?
    Hace mucho que no me decido a la electronica, desde que termine la tecnica, hace exactamente unos 12 años jaja.
    Mi idea es hacer una alarma domiciliaria con sensores de movimiento y eectromagneticos, pero todavia estoy viendo como hacer para activarla y desactivarla, no se si armarle algo parecido a este sistema con algo con control remoto es decir inalambrico o infrarojo. Desde ya muchas gracias!

    Si Claudio. El proyecto original de esta llave los hice muchos años atrás precisamente para un sistema de alarma que proyecté para mi casa. Esta versión que publiqué ahora esta hecha mejor.

  48. Realemnte muy util e ingenioso amigo!!!
    la estoy armando para probarla, mi pregunta es si se puede hacer que la llave lleve un cuenteo cada vez que se se activa correctamente, estoy asiendo esas prueba y no puedo encontrarle la vuelta
    Gracias

    Hola Maximiliano, es posible hacerlo usando la memoria EEPROM del micro pero para ello debes modificar el programa agregando una parte para la gestión de ella. Como pista te digo que debes usar los registros EEDATA, EEADR y EECON1. En internet encontrarás mucho ejemplos de como grabar y leer byte de esta memoria.

  49. hola muy bueno el proyecto es increíble,a demás de esta pagina. mi pregunta es que parámetro tengo que cambiar del código asm para que cada proyecto abra con una llave única por ejemplo si hago dos circuito a y b que la llave del circuito a no abra el circuito b y que la llave de circuito b no abra el circuito a es pero me ayudes.

    Hola Johnnatan, confirmo la respuesta de Héctor.

    1. Hola johnnatan, debes cambiar el valor de la clave en los dos ASM, el de la llave y el de la base, en los dos va la misma clave para que se reconozcan.
      La clave aparece como dos variables keycode1 y keycode2 al comienzo de cada ASM.

      Espero te sirva mi indicación., sino espera que Gabriel (Inventable) te lo explique con mas detalle.

      Saludos
      HJ

  50. Muchas felicidades excelente proyecto de 10 con múltiples aplicaciones solo tengo una duda conque programa se abren los archivos «pro» «brd» para ver los esquemas de la pcb gracias y nuevamente muchas felicidades

    1. Hola, se abren con el KiCad, es gratuito, mas detalles en las FAQ.

      Saludos
      HJ

  51. hola, donde puedo adquirir un programa para abrir los archivos adjuntos

    [Circuito impreso de la llave electrónica] (485)
    [Software en ASM y en HEX de la llave] (593)

    muchas gracias… 😀

    1. Hola Federico, para abrir los archivos de los circuitos impresos necesitas el KiCad, que es totalmente gratuito, el enlace de descarga búscalo en las FAQ del Blog.

      Para los ASM o HEX, debes buscarlo en http://www.microchip.com, se llama MPLAB IDE 8.92 (creo que es la última)

      El tema es que debes grabar en los micros ese archivo HEX y para ello necesitas un «Programador» o «Grabador» de PIC’s y además debes aprender a utilizarlos.

      Saludos
      HJ

  52. Hola, necesito solo la rutina de comunicacion en C o Basic. Es decir, como enviar un byte por 1 hilo y como recibirlo en el otro PIC en tiempo real… Tenes algun ejemplo simple de como hacerlo?

    Hola Alejandro, es un tema medio largo para explicar como respuesta a un comentario. Hacé la pregunta en el foro.

  53. Cordial saludo y agradecimiento por hacer de la electrónica un medio mas fácil y funcional para los que estamos estudiando esta maravillosa profesión,Tengo un problema a la hora de grabar el pic, me marca en el pickit 2 «proteccion» de entrada sin colocarla y no me graba el pic, que puede estar pasando? gracias de antemano por tu respuesta. Estoy usando Pickit 2 version 2.52,

    HJ te puede aconsejar sobre el tema. Espero que vea la pregunta.

    1. Hola Levadps.
      Para tratar de contestarte mejor, sería bueno saber exactamente que PICkit2 posees ¿original o algún clon? y si es clon ¿cual?
      Además ¿que entorno utilizas para grabarlo? ¿el MPLAB, el software PICkit2 o algún otro?
      Por lo que mencionas de versión 2.52, creo que es el software PICkit2, deberías bajar la última que ofreció microchip, que es la v2.61 del siguiente enlace:
      http://ww1.microchip.com/downloads/en/DeviceDoc/PICkit%202%20v2.61.00%20Setup%20A.zip
      y bajar la útima definición de micros de:
      http://ww1.microchip.com/downloads/en/DeviceDoc/PK2DFUpdate-1-62-14.zip
      este último archivo lo debes poner en donde tengas instalado el programa, normalmente en:
      C:\Archivos de programa\Microchip\PICkit 2 v2

      Supongo que el micro con el que tienes problemas es el utilizado ene este montaje, el 12F629.
      ¿has probado con mas de un micro o con varios?

      Si no has tomado las precauciones del caso, puede hayas perdido el valor de calibración del oscilador del micro… se puede recuperar, peor no es fácil…

      Saludos
      HJ

  54. Gracias por su respuesta, estoy utilizando la version de clon de pickit 2.52.
    he probado con otros pic como el 12f675 y me programa bien en el proyecto de las luces, pero en este de la llave, no he podido programarlo, como le dije antes, apenas lo conecto me marca en «proteccion» y no me programa el pic.

    1. Holas nuevamente, sería bueno ver una captura de pantalla de lo que indicas, ya que esos micro, se pueden grabar por mas que estén protegidos.
      Es muy raro lo que indicas.

      Creo que deberías abrir un hilo en el foro.

      Saludos
      HJ

  55. Gabriel. Me compre un programador estándar acá en argentina y con el software grabe los micro. El sistema anda de maravilla lo estoy probando con un pestillo eléctrico. Me queda por aprender a cambiar el código de ingreso. Pregunta el código con que hiciste el proyecto es Nº2378? Yo baje el programa MPLAB IDE 8.92 abrí el archivo .asm y keycode1 23, keycode2 78 es así. Gracias y disculpas

    Si chipias, es correcto, puedes cambiar los números de keycode1 y keycode2. Lo importante es que sean iguales en los dos programas (el de la llave y el de la base).

  56. Hola Gabriel, muchas gracias por tus excelentes proyectos.

    Espero puedas resolverme una duda, estoy comprando los componentes, pero no encuentro el capacitor electrolitico de 22 uf a 16v; solo lo he encontrado de 22 uf a 50v y 63v…

    Mi pregunta es, los volt’s del capacitor afecta??? Disculpa mi ignorancia, te pregunto esto porque para serte franco aun no comprendo muy bien el voltaje en los capacitores.

    Te agradezco de antemano 😀

    Ya te respondió HJ. Agrego solo que siempre ha sido una fuente de confusión el tema de la tensión máxima de trabajo de los componentes electrónicos, quizás un día me ponga a escribir una artículo. 🙂

    1. Hola Jesus, te contesto de metido ya que la consulta es para Gabriel…

      Mientras que la tensión que tine el capacitor (o condensador) que vas ha utilizar sea mayor a la indicada no vas ha tener problemas, el único problema es que el tamaño puede ser mayor, nada mas.

      en el caso de los electrolíticos, algo a tener en cuenta, es la temperatura de trabajo, pero para este montaje eso es algo sin importancia.

      Saludos
      HJ

  57. un cordial saludos a todos. me parecio exelente aunque siempre andamos buscando nuevos proyectos. vamos a probar con una cerradura. gracias por el aporte. Llave electrónica universal con PIC12F629

  58. ayuda !!! hice un dispositivo igual solo que al momento de ponerle carga solo funciona una vez, pero si saco la llave y la vuelvo a introducir ya no se vuelve a activar el relay, porque pasa esto ? creo que tiene que ver con la programacion.

    Hola Max, no se cual pueda ser el problema de tu montaje. 🙁

  59. Hola. Alguien sabe si puedo comprarla ya armada? Espero sus comentarios por si alguien la tiene a la venta. Gracias

    1. Hola Miguel, tengo entendido que que Gabriel(Inventable) no vende estos montajes, pero aguarda su respuesta al respecto.

      Saludos
      HJ

  60. Hola que tal, aprecio mucho el proyecto propuesto y felicitaciones 🙂 .
    Entre otro asunto de que otra forma se le conoce al dispositivo MODO?

    1. Hola Alberto, «MODO» es un simple «puente» de alambre que se pone, o no se pone, según del «modo» de funcionamiento deseado. (Ver esquema circuital)
      Te aconsejo leer el texto del artículo de Gabriel(Inventable) que está explicado.

      Saludos
      HJ

        1. Te entiendo perfectamente, hay muchas que ni siquiera respondo porque el solo leerlas me «saca de mis casillas…» 😉

  61. Alguien que me pueda porfavor decir que es lo del MODO?

    El puente MODE permite de seleccionar (conectado o desconectado) dos modos de funcionamiento: en el primero, el relé se activa por todo el tiempo que introducimos la llave. En el segundo modo, llamado “flip-flop” o “toggle” cada vez que introducimos la llave, el relé cambia de estado (si estaba encendido se apaga o viceversa).

    1. Hola Manuel, por favor lee la respuesta al mensaje anterior, allí esta lo que consultas…

      Saludos
      HJ

    1. Hola Jaime, no existe un archivo «.bas» ya que el programa fué escrito por Gabriel en ASM y no en BASIC.

      Saludos

  62. Buenas primero para felicitarte por tan buenos aportes, y para comentarte un problema que tengo con el este proyecto lo hice pero tengo una duda lo tengo conectado a 6.4 voltios pero al momento de introducir la llave no me funcióna casualmente toque la llave con la entrada directa de los 6.4 voltios de alimentación luego lo intruduje a el receptor de la llave y hay si funciono pero al pasar al noche al otro día fuy a introducirla y ya no funciono y me toca volverla a cargar con el voltaje directo primero?? Cual seria el problema????

    Hola, el circuito necesita de por lo menos 8V (mejor 9V) para funcionar correctamente.

  63. Quisiera saber cual es el voltaje máximo que soporta el circuito, y si lo quiero conectar a 6.4 volt que tendría que cambiarle??

    Gracias.

    1. Hola, tal cual está el circuito, el voltaje máximo seria de unos 15V, con algunas modificación y un buen disipador unos 30V, dependiendo de la marca del regulador…

      Con 6,4V el circuito no funciona, necesitas unos 7V mínimos para que el 7805 regule…. tendrías que reemplazar el 7805 por algún LDO.

      Saludos
      HJ

  64. Cual ldo me aconsejas tu por que se lo monte a mi moto pero no me funciona bien entonces quisiera saber como hacer con. El ldo y en si cuales serian también. Los cambios para que soporte 15voltios me interesa mucho este proyecto

    Hola, yo encontré el LM2937-5. Puedes buscar otros modelos en internet escribiendo «5V low drop regulator». Il circuito consume muy poca corriente y por lo tanto se puede usar cualquier modelo con corriente de salida de por lo menos 100mA o mayor.

  65. Buenas lo que pasa es que estoy teniendo problemas con el proyecto muchas veces me queda activando y desactivando pero de un momento a otro pasa como si no reconociera la llave, también me a pasado que cuando esta funcionando bien le saco el micro y vuelvo y se lo inserto a la llave no vuelve a funcionar podrías ayudarme a darle una solución.

    Gracias…

    1. Hola dairo

      El sistema anda correctamente, incluso en ambientes «ruidosos» (ruido eléctrico por supuesto) pero de allí a hacerlo andar en una moto, la cosa cambia…

      También puede haber algún error en el montaje, como soldaduras frías, por ejemplo, o falsos contactos en el zócalo, incluso que el conector que utilizas no sea exactamente del mismo paso en la hembra como en el macho, etc… cosas que con algunas fotos podríamos tratar de ver…

      Esto puede ser para largo, porque no te registras en el Foro y abres allí una consulta al respecto, es mas fácil en el Foro ya que puedes agregar fotos, imágenes etc…

  66. Hola un cordial saludo, tu proyecto de la llave es muy bueno lo e simulado y anda perfecto, pero tengo una cuestión el pic que utilizas no lo encuentro solo pude encontrar el pic 16f683, al compilarlo me dan 3 errores trate de solucionarlo pero no pude, haber si me das una mano o puede ser que el pic no sea compatible con el que tu utilizas. los errores que me salen son los siguientes:
    .ASM 13 : Symbol not previously defined (_BODEN_ON)
    .ASM 77 : Symbol not previously defined (OSCCAL)
    .ASM 187 : Symbol not previously defined (CMCON)
    Espero tu respuesta SALUDOS.

  67. Hola Oscar, a la espera de una respuesta de Gabriel (Inventable) te comento que no son totalmente compatible, ya que el 12F683 posee conversores AD, mientras que el 12F629 no. Es decir, partimos de la base de que debes por lo menos verificar de que esté desactivado dicho módulo…

    En el caso del 12F683 posee dos registros CMCON0 y CMCON1, cuando el 12F629 posee solo uno el CMCON.

    Además el 12F629 posee un registro de calibración llamado OSCCAL que se carga con un valor de fábrica para asegurar la frecuencia de oscilación del oscilador interno de 4 MHz, valga la redundancia, en cambio, el 12F683 posee varias frecuencias de oscilación internas y un monitor de fase del mismo para la estabilidad, y utiliza un par de registro para las configuraciones OSCCON y OSCTUNE si mal no recuerdo.

    Es decir, no puedes utilizar el 12F683 para este proyecto a menos que modifiques el programa teniendo en cuenta esos detalles y alguno mas que se me puede haber pasado por alto…

    Saludos
    HJ

    1. Me faltó asclarar que la palabra de configuración es diferente, por lo que te dá error con «_BODEN_ON» que no existe en el 12F683, además te estarían faltando configurar otros «BIT’s» de la misma.

      Saludos
      HJ

  68. Hola gracias por la respuesta y tu comentario tomaré encuebta todos essos parámetros ya que no lo sabia, no es facil encontrar esos dados en internet, si me resulta midificando el programa les daré a conocer.

    1. Hola Oscar nuevamente, deberías bajar las hojas de datos de ambos PIC y compararlos, así descubrirás las diferencias, lo que te mencioné fue de memoria, ya que estoy contestando del movil, y puede que se me haya pasado algo a tener en cuenta.

      Saludos
      HJ

      1. Un detalle mas Oscar que creo importante mencionar, y que lo comento ya que has dicho que simulaste el circuito:
        Ten en cuenta que muchas veces los programas simulados andan y cuando lo armas en la vida real no funcionan, eso suele deberse a que los simuladores «no utilizan» los parámetros de la palabra de configuración, ni los osciladores, ni el MCLR, etc.

        Saludos
        HJ

  69. Hola, tu información del circuito de la llave digital es muy importante como practica en la educación. El archivo HEX de descarga tiene problemas de ejecución. Podrías hacerme el favor de mandarme el código completo y el archivo HEX, si me haces el favor…

    Saludos.

    1. Hola Hugo Roman, el hex no tiene ningún problema de ejecución, anda perfectamente y prueba de ello es que a muchos lectores le ha funcionado como puede leerse en estos comentarios. Puede que tu no lo hayas logrado, pero eso no quiere decir que el montaje no ande.

      Por otra parte, cuando bajaste el HEX, también bajaste el ASM (que es el código completo), ya que están juntos en en mismo archivo comprimido llamado «PicKeySoftware.zip» que se encuentra en el enlace de descarga al final del artículo, allí están los dos HEX y los dos ASM, porque como habrás leído se necesitan dos circuitos con sendos micros, y cada uno con su propio programa, y dichos programas NO son intercambiables.

      Saludos
      HJ

  70. Quiero que alguien me explique, que usos puede tener el circuito soy muy nuevo en esto de la electronica y me gusta el proyecto pero que aplicaciones puedo darle, y quien pueda tener informacion sobre el pic que me de todo lo que pueda, Gracias ❓ 😛

    Hola Eduardo, generalmente para activar o desactivar una alarma. Respecto a los pics, es un tema largo de explicar

  71. Hola, gracias por este proyecto,me encanta la sencillez,pero tambien las multiples aplicaciones en las que se podrian usar. He intentado «bajar» el codigo que usaste en este proyecto pero no he podido bajarlo. Me puedes ayudar y enviarmelo al email?
    Gracias, seguire tu pagina.

    Aurelio

    Hola Aurelio, los archivos se bajan sin problemas, prueba con otro PC

    1. Así es Cali Cali, uno para el dongle (llave) y el otro para la base (cerradura), cada uno con el código que le corresponde.

      Saludos
      HJ

  72. excelente invento, lo estoy reinventando, le estoy poniendo android para controlarlo por un celular o tablet, es un poco diferente pero cuando lo termine publicare un post para mostrar como fue, gracias por este aporte ya que sin este post no se me habria ocurrido esta esta llave.
    Saludos desde Argentina…

    Felicitaciones Isaac, muy buena idea. Espero que lo logres y que nos cuentes lo que has hecho. 🙂

  73. buenas tarde amigo me podras mandar el software de ASM Y HEX HE INTENTADO Y NO LO puedo bajar no se porque no me acepta mi clave ,me podras mandarlo por mi correo electronico,saludos.

    1. Hola martín, misma respuesta que otro comentario tuyo, no tengo tu correo y debes inscribirte con datos reales, nombre, apellido, ciudad, país, etc.

      Saludos
      HJ

      1. Eso som mis datos reales , mis clave de siempre , mi nombre , apellido y lo demas no se que cuando me inscribo no me acepta,saludos

        1. Entonces vas ha tener que esperar que Gabriel (Inventable) lo solucione.

          Saludos
          HJ

          1. En este cuento de la llave electrónica como ejemplo en los bornes de salida tiene un positivo y un negativo
            O por ejemplo una lámpara tiene dos cables uno positivo y uno negativo
            Corto uno de los cables y los conecto en los bornes y al poner la llave se prenderá la lámpara o no o si quiero ponerla en el auto y corto el cable que da paso a la bomba de bencina y los colocó en los bornes me dará el paso de la bomba o no

        2. Puede que el Username que quieres utilizar ya esté usado, o quieras poner un enlace en alguno de los campos como has echo en tu nombre cuando escrives uno de estos mensajes, eso no está permitido.

          Saludos
          HJ

  74. me podras mandar el codigo asm y hex por mi correo electronico :heinten.1957@hotmail.com

    ¿Por qué Martín, no puedes bajar los archivos?

  75. Hola Gabriel, cree el circuito para probar la llave, por todo el circuito pasa el voltaje de 5 volts, tanto en el circuito base como en el circuito de la llave. Y al conectar la llave al circuito base no ocurre el cambio de los leds… las conexiones estan perfectas. manualmente el rele si hace su función, pero al conectar la llave no hace nada. Los pines de salida en el código habria que cambiarce?….
    saludos.

    Hola Rorh, ¿has programado los dos microcontroladores con los respectivos programas?

  76. Muy buen proyecto «inventable» gracias…… no entendía el lenguaje asm así que lo pase a picbasic pro , quedo bien y en la simulación con proteus funciona perfecto ahora tendré que armarlo físicamente para usarlo .
    saludos.

    Hola Javier, felicitaciones, espero que te funcione bien 🙂

  77. hola buenos días primero muy buen proyecto, lo acabo de armar pero tengo un problema, ya programe ambos pics pero no hace nada al conectar la llave, pero junto todas las patitas de la llave con un pedazo de papel aluminio y la vuelvo a conectar y funciona y mientras la meta y la saque sin mucha pausa funciona pero al dejarla sin conectar uno o dos minutos otra vez la vuelvo a conectar y de nuevo no hace nada me podrían ayudar?

    No entiendo donde puede estar el problema. Prueba a medir con un tester la tensión entre los pin 1 y 8 del PIC en la llave cuando funciona y cuando no funciona. Puedes abrir un hilo en el foro

  78. Buenas tardes estoy intentando programar el chip y no hay manera me borra a cero todas las posiciones de memoria espero que me podais ayudar ya que grabo otro proyecto del pic y si me lo carga bien saludos .

    1. Hola David, eso sucede normalmente cuando está protegido el código contra escritura y por lo que se ve en la «Palabra de Configuración» que está en los ASM ese es el caso.
      Te das cuenta porque incluye la directiva «_CP_ON».
      El echo que esté protegido y lo leas como todo en «0» no importa, el micro deberían funcionar correctamente.

      Si no deseas que eso te suceda compílalo cambiando «_CP_ON» por «_CP_OFF».
      Si solo estas grabando el HEX que puso Gabriel no podas leerlo una vez grabado, a menos que el software de tu programador te permita cambiar la «Palabra de Configuración» modificando esa opción, algo que seguramente está disponible para que hagas.

      Saludos
      HJ

  79. Hola, la verdad te felicito, la web esta excelente!!! la encontre buscando info sobre un trabajito que tengo que hacer y estoy en la fase de investigar. Si bien conozco de electronica pero es muy basico, me inicie con Lupin (no se si la conoces) hice unas cuantas cosas y despues por cuestiones de tiempo abandone todo con lo que me quede en el tiempo.
    Lo que necesito hacer ahora es controlar aperturas y cierres de diferentes puertas. Cada puerta debe tener un sensor de apertura y utilizando la llave esta necesito que si alguien la uso, me diga quien y anule la alarma, si se abrio la puerta sin utilizar la llave se dispare una alarma sonora. toda esta info la deberia enviar a un soft/equipo cerebro y de ahi visualmente me diga que alarmas se dispararon y que puertas se abrieron.
    Para mi es algo complejo pero como siempre me gustan los desafios, la consulta es, con que lo puedo hacer, arduino? PIC comun de la vieja escuela? o con que? alguna cosita como para orientarme?

    MIL GRACIAS!!!

    1. Hola Martín, Creo que quienes tenemos cierta edad hemos comenzado con la Lupín….

      Con respecto a tu consulta, y contestando de metido, te comento que si tuvieses conocimientos de programación en ASM, podrías modificar el firmware del receptor que propone Gabriel en este artículo, e incluso utilizar el mismo hardware, con el agregado de la las parte de conexión al PC, que lo mas fácil seria hacerlo por RS232, ya que el PIC posee pines I/O libres, tal vez tengas que hacer las rutinas de comunicación por software, pero de eso hay bastantes ejemplos por la web.

      En cuanto a la «llave», solo deberías cambiar el código identificatorio de cada una.

      Pero la modificación de la «cerradura» sería mas complicado, habría que hacer que reconozca todas las posibles y agregar lo ya mencionado de la comunicación a la PC. Con la Salida que ya dispone el sistema se activaría la cerradura eléctrica, del tipo utilizado en cualquier portero eléctrico, y tendrías que agregar una salida similar de «alarma» para el caso en que sea forzada.

      Deberías crear un hilo en el foro he ir plasmando ahí las diferentes ideas, consultas y sugerencias.

      Saludos
      HJ

    1. Hola Jorge, en este proyecto en particular puedes utilizar tanto el 12F508 como el 12F509, pero deberás hacer varias modificaciones en el ASM.
      La mayoría de los cambios se deberán a diferentes nombres de los registros equivalentes, algo que con la hoja de datos de ambos micros en la mano no debería ser mayor problema.
      Si lees los comentarios anteriores verás que Gabriel (Inventable) responde algo similar a lo que te digo.

      Saludos
      HJ

  80. cordial saludo, gracias por tu respuesta, cuentame por favor en que programa fue hecho este codigo pues yo manejo el assembbler de microchip y estoy un poco confundido con los nombres de los registros, gracias de antemano….

    1. Hola Jorge nuevamente.
      Está hecho en ASM, es decir código ensamblador obviamente de microchip ya que el proyecto utiliza micros PIC.
      Los códigos están disponibles al final del artículo de Gabriel.

      Deberías bajar de microchip la hoja de datos de los dos micros, además deberías comparar los dos archivos «.Inc» respectivos para modificar el código.

      Vuelve a leer el artículo y los comentarios y encontrarás varias pistas por donde comenzar.

      Saludos
      HJ

    1. Hola Ale. Si puedes utilizar el 7805 en lugar del 78L05. Pero ten en cuenta que los pines están invertidos.
      Si los miras de frente, con los pines hacia abajo, el 78L05 tiene Salida – GND – Entrada, mientras que el 7805 tiene Entrada – GND – Salida.

      Saludos
      HJ

  81. Hola que tal.
    Me gustaría saber si este proyecto requiere algún tipo de programación??? ya que no tengo los conocimientos para programar los PIC´s
    Muchas Gracias.Saludos desde Paraguay.;)

    1. Hola Leonardo, efectivamente se requieren programar dos PIC, uno para la llave y otro para la cerradura.
      Una alternativa es que consigas algún conocido o amigo que tenga un programador de PICs y te los grabe, ya que los programas ya están escritos y los puedes bajar y funcionan sin tener que hacer modificaciones.
      Otra alternativa sería consultar en alguna tienda de electrónica, laboratorio o taller de electrónica que brinde el servicio de programación a terceros.

      Saludos
      HJ

  82. Hola amigos…
    gracias por este proyecto …
    Reunió el circuito pero no funciona …
    Me di cuenta de que la clave de entrada sólo tiene 0,8 voltos’re ¿verdad?
    Yo no tengo que ser 5V …
    lo siento pero me estoy comunicando con el traductor google …

    1. Hola, creo que deberías colocar el mensaje en tu idioma original y vemos nosotros si lo entendemos mejor que el traductor de google.

      Saludos
      HJ

  83. Olá. Mais uma vez…
    Então é assim. Montei o circuito programei os pic… mas não funciona….
    Na saida da base onde leva a chave lá sai 0.8 voltos, não chega nem a um 1 volto…
    Isso é normal?

    Obrigado…

  84. si me permiten la ingerencia traducire el msj de ricardo. » hola una vez mas.. entonces es asi. arme el circuito y programe los pic… pero no funciona…. En la salida de la base donde esta la llave , tengo 0,8 volt, no llega siquiera 1 volt… es normal eso????
    Gracias…

    Gracias Emilio por la traducción. No se donde pueda estar el problema.
    Gabriel

  85. Obrigado Emilio.
    Obrigado já consegui… está a funcionar na perfeição… o problema era que os pic tinham perdido o valor osccal… obrigado…a todos
    E parabéns ao autor do projecto…
    Cumprimentos. ..

  86. Olá amigos…
    Agora me surgiu outro problema… a chave ao fim de conectar varias veses deiche de funcionar… ja fez outra chave e voltou a funcionar mas injecto varias vezes e volta a nao trabalhar… sabem me dizer se o circuito é 100% estável? É que isto é para meter na minha mota e eu nao quero ficar na estrada… por a chave deixar de funcionar… será erro do pic? Podem me indicar outro pic sem ser o 12f629 que seja 100% compatível?
    Obrigado….

  87. mais uma me desculpem o forum devia dar para editar as mensagens….
    Na foto do circuito em cima vejo um capacitor eletrolitico ao contrário é assim? Nao pois
    nao…
    E no video qual é o capacitor que tem na chave parece cerâmico…
    Desculpem nao sou nenhum tecnico he estudei eletronica á 15 anos ja nao me lembro quase nada…
    Obrigado…

    1. Hola Ricardo, en el Foro puedes editar perfectamente, pero estás escribiendo en el Blog y el mismo no posee edición de las respuestas.
      Foro de Inventable .eu:
      https://www.inventable.eu/forum/
      Puedes registrarte y crear un nuevo con tus dudas sobre este montaje.
      Si lo haces sería buena idea que pongas el enlace a alguna foto de tu montaje.

      La llave lleva un capacitor electrolítico de 22uF/16V y un capacitor cerámico o de poliester de 100nF.

      Saludos
      HJ

  88. Hola…
    como faco par poner o rele a desligar uns segundos depois de tirara la key?
    Saludos

    Hola Ricardo, debes modificar el programa en assembly.

      1. Hola Ricardo, no es que debas modificar una línea en particular, debes hacer un firmware que ejecute lo que necesitas hacer.

        Saludos
        HJ

        1. Não entendo nada de programação. a firmwer da chave está bem assim, só quero que desligue 5 segundos depois de tirar a chave…mas pronto já não dá para mim…obrigado…

  89. Amigos de inventable saludos y felicitaciones por esta página hacen que la electrónica para los principiantes como yo sea muy sencilla…! Todo esta muy detallado y muy bien explicado me encantaron sus proyectos y voy a empezar a fabricar esta llave electrónica mi única dificultad esta en la parte de la programación del pic pero ya indagare en ese mundo después que lo tenga ensamblado cualquier duda pues les preguntare

  90. Y bueno aparte tengo un proyecto que me gustaría hacer pero no veo que tengan nada parecido y bueno me gustaría elaborar un medidor de nivel de agua para un tanque que al mismo tiempo pueda accionar un relé que se active cuando el nivel de agua este bajo y que se desactive cuando llegue a su nivel maximo de agua me imaginó que eso es posible y quisiera saber si ustedes pueden elaborar algo como eso o pueden asesorarme me gusta la electrónica y lo hago por hobby en mi ratos libres y ensamblar proyectos se me hace muy fácil pero no cuento con el conocimiento como para diseñar algo como lo que les pido…!!! Saludos y me encanto su página y sus proyecto elaboraré muchos de sus proyectos gracias

  91. he comprado los elementos con la única diferencia que el Pic es el 12F675, pero leyendo los data dice que no existe problema, pero al momento de implementar no funciona nada.. habilita el Relay de entrada y la llave no realiza ninguna acción ..
    ¿Esos programas son los correctos?

    1. Hola Felipe, los programas publicados por Gabriel (Inventable) son los correctos y funcionan a la perfección en el PIC12F629, los acabo de bajar y probar, y funcionan.

      ¿Incluiste la línea de código que menciono en otro comentario anterior, para hacer que todas las entradas sean digitales y recompilaste el programa? ¿Lo hiciste en los dos programas?
      ¿Estas colocando cada micro donde corresponda?, cada firmware es diferente para la «llave» y para la «cerradura», por eso hay dos.
      ¿Has grabado correctamente los micros?
      ¿No tiró ningún error el proceso de grabación?
      ¿Has verificado los montajes?

      Saludos
      HJ

  92. Muy interesante la aplicación!! Yo tengo los dos grabadores por si los necesitan…el JDM para grabar el 18F2550 para despues hacer el grabador por USB pickit 2 clone. Saludos.

  93. hola, la verdad interesante el proyecto, lo encontré navegando en Internet y me cautivo, mi gran problema es que no me deja abrir los programas ni el software ni el hartware no se como los levantaste, a parte yo estoy con un poco de conocimiento con el mikrobasic PRO a lo mejor si me das alguna ayuda podría ver que hago, seria una lastima no poder hacerlo, desde ya gracias.

    1. Hola Claudio, aunque tus dudas están resueltas en las FAQ…
      El programa está escrito en en código ensamblador, es decir tiene la extensión .ASM y debes abrirlo con el MPLAB, que es el entorno de desarrollo para trabajar con ensamblador.
      También bajas un archivo .HEX que es el código ya ensamblado (y compilado) que debes cargar en el microcontrolador.
      El mikrobasic PRO sirve solamente para programar en BASIC, no en ASM. Pero, desde el entorno de desarrollo del mikrobasic PRO puedes importar el .HEX y grabar (quemar) el microcontrolador.
      En cuanto a las placas están diseñadas en KiCad, que es libre y gratuito y solo puedes abrirlas con ese programa, debes abrir el KiCad y desde el abrir el archivo de proyecto y desde el proyecto abrir el archivo de la placa para poder imprimirla, todo esto está explicado en detalle en la ayuda del propio KiCad.

      Saludos
      HJ

      1. gracias querido Héctor lo que se refiere al tema de placas no me importa ya que las puedo hacer con el proteus, lo que me interesaba es el soft ya que no lo puedo ver, si me podías dar algún dato para escribirlo en programa basic. Sera mucho pedir si podes hacer una captura de pantalla del programa y pasarmelo por correo para ver si lo puedo escribir en basic…..desde ya mil gracias HJ

        1. Hola Claudio nuevamente, el archivo con extensión ASM puedes abrirlo para verlo con cualquier editor de texto, como el WordPad, EditPad, NotePad, Bloc de Notas, etc

          Saludos
          HJ

  94. Saludos desde Venezuela Héctor Javier, he realizado tu proyecto y el mismo funciona bien pero tengo un detalle y quisiera comentarte para ver si tienes alguna solucion , en la parte del circuito base yo lo hice sin la etapa del rele solo deje la salida del pic a una resistencia de 1K a que va a la base de un transistor y este realiza el trabajo que quiero por otra parte el pin 6 que es para el modo yo lo deje siempre a tierra para que quede en modo pulsador es decir que solo active cuando la llave esta presente , hasta alli todo bien , pero ocurre que pasado un tiempo o después de varios usos ya el mismo deja de responder y ya no activa la salida del pin 5 , he revisado los componentes he medido los voltajes todo aparenta estar bien pero nada simplemente deja de funcionar , he colocado el voltimetro en la parte donde ambos pic se comunican y veo que hay una fluctuación que me imagino es el código que se esta transmitiendo pero no tengo osciloscopio para ver la señal , entonces lo que hago es re-grabar los pic nuevamente y comienza a funcionar pero después de un tiempo ya no funciona , espero me puedas ayudar a ver que esta pasando ya que tu diseñaste la comunicación entre ambos pudieras ver que ocurre dentro del programa , siempre deje los archivos originales HEX sin modificar los que pusiste en el link , y el programador que uso para el pic es un batronix BX48 . muchas gracias por su ayuda , saludos cordiales .

    1. Hola Jhonathan Rodriguez, te aclaro que este diseño no es mío, ni ninguno de esta página, el autor de todos los artículos publicados y dueño de Inventable.eu es Gabriel, yo simplemente soy un amigo de el, que le gusta aportar lo que puede y conoce.
      Aclarado eso, te comento que por lo que mencionas puede que haya algún bug en alguno de los programas… o no, pero vas ha tener que Gabriel revise el código y vea si hay algún error.
      Personalmente no dispongo de tiempo en estos momentos como para ponerme a estudiar los códigos.

      Pregunta: Cuando dices que si regrabar los micros vuelve a andar, ¿cual de ellos tienes que regrabar, la base o la llave?
      En caso de que regrabes los dos, si te vuelve a suceder, solo regraba la llave y prueba si funciona.

      Saludos
      HJ

      1. hice la prueba y solo re-grabando la llave funcionaba pero era algo intermitente es decir a veces ocurría y a veces no incluso grabe el pickey sin los bit de protección para analizar después que dejara de funcionar con la herramienta de comparación del programador y resulta que no se alteraban los datos a pesar de que seguía con los problemas , conseguí la solución separando la alimentación de la señal ( pase una resistencia de 1K de los 5V para alimentar el pickey y deje la resistencia de 1K que va a el pin 3 del pic base para recibir la señal ) y no dio mas problemas como estoy usando un plug stereo para la llave tengo los 3 pines disponibles y así pude separar las señales , no se si seria algún conflicto en que la alimentación y la señal estaban en la misma linea pues causaba algún error o interferencia que le impedía trabajar correctamente , espero mi comentario sea de ayuda y si consigue alguna mejor forma de que trabaje mas estable su diseño original en la llave hágalo saber para notros los usuarios de ante todo muchas gracias por su diseño que para mi fue de gran ayuda , sobre todo por lo simple y económico. saludos cordiales.

        1. Hola Jhonathan Rodriguez, por lo que dices, puede ser un tema de tiempos, tal vez se deba a los valores reales del diodo o los capacitores del la llave, me inclino mas por el capacitor (condensador) electrolítico.

          Gracias por mencionar tu problema y sobretodo por proporcionar una solución al mismo.

          Saludos
          HJ

  95. Estimado Gabriel. Reciba primeramente un saludo cordial y una felicitación de parte de todos los amantes a la electrónica, los artículos que aquí se publican son muy educativos y prácticos. La razón de mi comentario es el siguiente, e re escrito línea por línea los programas que e bajado de inventable, los e simulado, compilado y los he grabado en los micros, pero en la realidad no me funcionan, también e grabado los archivos en hexa que e bajado junto con los asm, pero nada que arrancan, revisé la parte de hardware y todo está bien la verdad no se qué hacer
    La parte que no entiendo en los programas en asm, es los tiempos que es para sincronizar los datos a trasmitir y recibir entre los micros, por lo demás está claro.
    Esperando por su ayuda le quedo agradecido de ante mano.
    Saludos cordiales
    Guillermo V

  96. Buenas, me ha encantado tu proyecto pero tengo dudas acerca de como programarlo.

    En cuestion de montaje no le veo complicacion. Soldar aqui soldar alla… pero a la hora de programarlo, he visto que cuelgas un par de archivos que seran los que tendras que usar pero:
    – Que hardware necesito para hacerlo?
    – Que software necesito para hacerlo?

    Gracias

    1. Hola amigo, el software que necesitas es el Icprog que es gratis y te lo puedes bajar de internet, el programador lo puedes comprar en las tiendas de electrónica, o si deseas construir tu propio programador me puedes escribir a mi correo te puedo enviar la info necesaria para que puedas construir tu propio programador y programar tus micros, mi correo es ae.ayuda@yahoo.es
      Saludos cordiales
      Guillermo V

  97. AYUDAAAA… cuando abro el PickKey.asm o el PickKeyBase.asm con el MPLAB y cuando pongo Projet/Quickbuild para ver si funciona me dice que hay algun error… quiero saber porque… si es por el MPLAB o lo que sea… para no armar todo el proyecto y que no funcione

    1. Hola Alejo.
      El proyecto funciona correctamente. Además Gabriel (Inventable ) te brinda tanto el ASM como el HEX que puedes grabar directamente en el PIC.

      Deberías transcribir exactamente el error que te aparece, como para poder ayudarte.
      También hace falta que menciones que MPLAB utilizas, si es el IDE o el X, y que versión es el que utilizas..

      Saludos
      HJ

      P.D: No entiendo el porque cuestionar si los proyectos publicados aquí por Gabriel andan o no, cuando en realidad carecen de conocimientos para justificar esa duda…..

      Este es un proyecto de dificultad media, así que novatos por favor abstenerse….

  98. Hola buen dia, te felicito por el proyecto, es muy interesante, queria preguntarte, cual es el programa que utiliza para hacer los circtuitos en pcb? ya que baje los archivos pero no los puedo visualizar al no tener el programa correcto. Muchas gracias

    1. Hola Julian, la respuesta completa está en las FAQ del Blog, peor como adelanto te adelanto que es el KiCad.

      Saludos
      HJ

  99. Disculpa con que software grabas el programa en el 12f629, no me lo detecta y no puedo grabarlo

    1. Hola Erik.
      No indicas que programador y software estas utilizando para programar.
      El PICkit2 lo reconoce sin problema, ya sea que lo grabes desde el entorno MPLAB o desde el propio programa del PICkit2.
      El PICkit3, el PM3 y el ICD3 también lo graban.
      El ICD2 también debería grabarlo, pero no lo tengo así que no puedo asegurarlo.

      Saludos
      HJ

      1. Disculpa hector, estoy usando un reley de 5 terminales(SUN HOLD RAS 1210), debería tener algún problema?? o necesito el que mencionas en la parte de arriba??.. estamos trabajando actualmente con el

        1. Hola Erik.
          Te aclaro que tanto el Blog y los artículos publicados en el, pertenecen y fueron escritos y publicados por Gabriel (Inventable), yo soy solamente un amigo suyo que aporta lo que puede en le Blog y en el Foro.
          Con respecto a tu duda, efectivamente puedes utilizar cualquier relé de 12V,
          Pero ten en cuenta que tendras que diseñar tu propia placa de circuito impreso o soldar dicho relé (SUN HOLD RAS 1210) mediante cables a la placa diseñada por Gabriel.

          Saludos
          HJ

  100. Estoy usando el PiCkit2 y una quemadora PIC MASTER 2, y no me lo detecta, tengo windos 10.

    que me recomiendas que intente con el PICkit3? o podria ser la quemadora??

    1. Según tengo entendido, el PIC MARTER 2 es un clon del PICkit2 por tanto debería reconocerlo sin mayores problemas.
      Si estas utilizando los zócalos del PIC MASTER 2, controla estar colocando correctamente el 12F629 en el zócalo, ten en cuenta que cada tipo de P_IC se coloca de una forma diferente y el 12F629 va en medio de uno de ellos en una posición determinada. de sto último no estoy seguro del todo ya que solo lo conozco por imágenes de Internet.

      Saludos
      HJ

      1. hector, cuando le meto corriente al programa con la llave adentro prenden los 2 led y nose apagan al quitar la llave se apaga el led rojo, pero al volver a meter la llave no enciende el led Rojo… solo detecta la llave para que no se apage pero ya no lo vuelve a encender

  101. muchas gracias javier, por tu aportación al parecer ya me reconoció el código pero prendieron los 2 led y solo prendía uno y ya nose apaga, verificare el circuito.

  102. Muy buen proyecto, modifiqué el montaje y quiero además programarlo en otro entorno, es aplicable a una infinidad de proyectos, estoy intentando identificar la lógica de la programación, no conozco muy bien el entorno asm.

    Gracias

  103. una consulta, es dificil de conseguir el PIC12F629? se debe encargar o algo? o se puede comprar en tiendas de electronica?

    1. Hola Matías, eso va ha depender completamente de donde te encuentres, pero es relativamente fácil de conseguir, por lo menos así lo tengo entendido.

      Saludos
      HJ

  104. Felicitaciones buen proyecto
    Pero tengo una duda
    En este cuento de la llave electrónica como ejemplo en los bornes de salida tiene un positivo y un negativo
    O por ejemplo una lámpara tiene dos cables uno positivo y uno negativo
    Corto uno de los cables y los conecto en los bornes y al poner la llave se prenderá la lámpara o no o si quiero ponerla en el auto y corto el cable que da paso a la bomba de bencina y los colocó en los bornes me dará el paso de la bomba o no como un interruptor

    1. La llave electrónica desarrollada por Gabriel (Inventable) NO es ningún cuento.

  105. La otra consulta sería sólo encuentro relé de 12 v de 10 amperios equivalente a 10.000 mA como lo hago si me pide de 50mA como máximo .

    1. Esata consulta te indica que eres demasiado novato para este montaje que requiere conocimientos medio avanzados para su realización.
      Te sugiero que comiences por otros montajes mas simples.

  106. Disculpa hj si te e ofendido no quise decir que es un cuento es una forma de hablar . Pero me podrías responder la consulta por favor
    Que sólo encuentro este tipo de relé me puedes decir que debo cambiar.y sobre lo novato si es cierto peroe encuentro capaz de hacer cosas que me dispongo a hacer gracias.
    Si lo logro te aviso es un proyecto magnífico

    1. Hola rodrigo.
      La corriente de bobina (50mA) a la que hace referencia el artículo no tiene nada que ver con la corriente de contactos (10A) a la que mencionas.
      La corriente de bobina hace referencia a la corriente que se necesita que circule por la bobina del relé para que el relé actúe y cierre sus contactos. Esta corriente ahce referencia al circuito de activación del mismo.
      La corriente de contacto que es la que mencionas, hace referencia a la máxima corriente que puede circular entre sus contactos, sin que los mismos se deterioren, ya que si les haces circular una corriente mayor pueden soldarse entre sí, deformarse mecánicamente, cortarse, etc. Esta corriente hace referencia al circuito de carga del relé.

      La limitación impuesta por Gabriel (Inventable) autor del artículo, de 50mA es para que no vayan a colorar un relé de muy baja impedancia (en la bobina) que pueda quemar el transistor que lo maneja… es decir, si mides con un óhmetro el bobinado del relé deberías tener una resistencia de 240 ohm o mas.
      Pero si vemos la hoja de datos del BC548 notaremos que la Ic máxima que soporta el transistor es de 100mA, por lo tanto tenemos un margen de tolerancia de diseño de un 50%, es decir que el transistor no se quemaría incluso con una bobina de 120 ohm, aunque estaría en el límite de destrucción del mismo.

      Espero se haya entendido el concepto de lo explicado.

      En definitiva, busca cualquier relé que cumpla con los requisitos mencionados.

      Saludos
      HJ

  107. me parece un gran proyecto, muy útil y funcional felicidades…

    solo quiero saber si me podrian ayudar con la programación de los PIC soy un poco inexperto en esa situación

    1. Hola Luis, el programa ya está hecho solo tienes que agarrar el HEX y cargarlo (programarlo, grabarlo, etc) en los micros.
      En realidad son dos programas diferentes, uno para la llave propiamente dicha y otro para la base o cerradura.
      Ambos archivos hex los puedes descargar junto a los dos ASM del enlace al fin del artículo de Gabriel (Inventable).

      Así mismo te recomiendo que leas todos los comentarios, ya que muchas dudas ya fueron solucionadas allí.

      Saludos
      HJ

  108. rele 12v hjr 3ff s z de 10 v es el único que pude encontrar me sirve para este proyecto y que puedo modificar para su funcionamiento

  109. Muy buen proyecto muy interesante como todos los publicados.

    Una pregunta que programa utilizas para editar los circuitos que muestras en el proyecto. Se ven muy bien. También sirve este programa para simular o solo es editor?

    1. Hola Juan, la respuesta a tu pregunta está en la FAQ del Blog.
      Te adelanto que se trata de un programa de gráficos vectoriales.

      Saludos
      HJ

    1. Hola Luis José, para contactarte con Gabriel (Inventable) dueño y autor de todos los artículos del blog, puede hacerlo al siguiente correo:
      contactos[arroba]inventable.eu

      Saludos
      HJ

  110. Buenas, sabes que estoy realizando este proyecto para la escuela pero no me funciona, no se que onda:c
    Programé las pics con el PicKit 2 y dice que estan programadas, pero al montar el circuito entero no pasa nada al meter la llave, solo esta el led verde prendido pero el rojo y el rele no funcionan, he medido pasivamente para ver si he hecho algun corto y no lo hay (estoy usando la pick 12f675 la cual es un equivalente a las 12f629).
    Sera algun problema del programa?
    Me queda poco tiempo para la evaluacion de mi proyecto y de este depende mi semestre hahaha. de antemano gracias :D.
    PD: tambien corrobore que todos mis componentes estuvieran en buen estado.

    1. Hola Matías.
      En realidad los micros son similares, pero no equivalentes.
      Para utilizar el 12F675 deberías modificar el código.
      Si lees los comentarios, ya respondí esta pregunta y expliqué que modificación hacer y donde.

      Saludos
      HJ

  111. Hola, buen día, primero que nada te felicito por tan buen proyecto, lo estoy tratando de construir, pero tengo una duda, quiero colocarla para que abra o cierre un pestillo eléctrico de 8 a 12 volt, como debería conectar el pestillo a la salida de la llave? tengo que armar otro circuito? o como debería hacerlo?

  112. hola uenos dias , ya arme todo programe los pic , pero tengo un problema , funciona normal , pero hay momentos que me deja de reconocer la llave usted sabe a que se puede deber eso desde ya muchas gracias y muy bueno el proyecto ..

      1. QUE TAL MUY BUENAS, SOY DEL NORTE DE ARGENTINA, TENGO EL MISMO PROBLEMA QUE POR UN PAR DE HORAS EL PIC NO FUNCIONABA, LO QUE LOGRE HACER ES CONECTANDO 5V DESPUES DEL DIODO EN LA LLAVE Y EL PIC EMPIEZA A FUNCIONAR LO MAS BIEN, CREO QUE LAS CAIDA DE TENSION DE LA HACE QUE LLEGUE ALREDEDOR DE 3V TRABAJANDO AL LIMITE EL PIC DE LA LLAVE Y POR MOMENTOS LARGOS LA BASE NO LO RECONOCE, VOY A VER EN REGRABAR Y VER QUE RESULTADO TENGO …UN ABRAZO .

  113. Me gusta el proyecto pq siempre e buscado algo similar para seguridad y encender un vehiculo y prefunto que tan seguro es para instslarselo a un vehiculo pq yo se muy poco de electronica

  114. Ingenioso montaje y perfectamente documentado.

    Una solución muy simple y a la vez completamente funcional para evitar que equipo caro u otros proyectos como por ejemplo, proyectos de alta tensión como una bobina de Tesla sean accionados por amigos «curiosos» o que incluso algunos de nuestros hijos puedan encenderlos y tener un accidente.

    Acabo de encontrar este blog gracias a este proyecto y ya estoy registrado.

    Saludos al grupo.

    1. Hola John, sólo soy un colaborador.
      Pregunta sin maldad: ¿John Doe es tu nombre real? Te imaginarás por qué lo pregunto 🙂

      Bienvenido a Inventable,
      Juan

    2. Yo de nuevo.
      Releyendo tu comentario me di cuenta de una aplicación en la que ni había pensado. Este proyecto no es apto para, por ejemplo, proteger la bóveda de un banco, debido a la simplificación que es necesario aplicar para los que recién empiezan.
      Pero para el punto que indicas es ideal (yo tengo dos nietos) y ni se me había ocurrido. ¡Gracias!

      Saludos,
      Juan

      1. En cuanto al nombre…supongo que me tomé al pie de la letra lo que pedía el formulario de registro; ya sabes, lo de «al menos poner la ciudad y el país verdadero» 🙂

        Me alegra sinceramente que te haya sido útil mi comentario anterior. Yo cambiaré el conector de la llave por un tira pines (de dos pines, como el utilizado para el jumper de cambio de modo de operación). Además de hacerlo muchísimo más discreto a la vista, incluso «invisible» si no se ponen en el frontal y no se sabe lo que buscar… ya sabes como son los niños, si encuentran un conector hembra, no tardarán en buscar uno macho para introducirlo, y si se utilizase el de un conector de alimentación, se corre el riesgo de quemar la base con un cargador que se encuentren y sea de mayor voltaje del que soporte la misma, como ya indicaron en un comentario anterior.

        Las gracias no se merecen, y muchísimas gracias por tu bienvenida!

  115. La idea de disimular el conector está buena, pero con sólo dos pines tendrás el problema de la polarización. Quizás te convenga poner tres, con el positivo al medio, por ejemplo y masa en ambos extremos. De esta forma, lo pongas como lo pongas siempre estará bien.

    Saludos,
    Juan

    1. ¿Lo ves? un poquito de uno, un poquito de otro…esa es la actitud que me gusta. Siempre constructiva!

      Un Saludo

      1. Esa es la idea de este sitio, amigo, compartir lo que uno tiene. Por ejemplo, si tienes un millón de dólares, puedes compartirlos conmigo, jeje 🙂

        Saludos,
        Juan

  116. hola gracias por el proyecto pero no puedo abrir el circuito impreso ni el sofware que ria saber como le puedo hacer por que los convertidos me mandan como error de archivo me super urge

    1. Hola Victoria, la respuesta a tu consulta está en las FAQ del foro.
      Te adelanto que se trata del programa KiCad.

      Saludos
      HJ

  117. Buenos días!
    Muchas gracias por el artículo, me parece estupendo el invento!

    Una pregunta: cómo haces para «redibujar» el circuito de forma que quede de manera quadrada en la placa? Yo sé de hace años que existía un programa llamado Tango, pero no recuerdo si lo hacía, y si fuera el caso, era muy antiguo (existe uno más actual?).

    Muchísimas gracias! Un saludo

    Xavier

    1. Hola Xavier, sólo soy un colaborador.
      Utilicé el Tango durante unos 20 años, y para aquella época era fantástico. Pero era un programa de DOS, de aquellos que incorporaban sus propios drivers de video. Cada vez que tenía que cambiar la máquina tenía que ponerme a «hackear» el driver, ya que las placas de entonces ya no lo reconocían.
      Finalmente, tuve que optar por uno de los nuevos. El problema fue que casi ninguno de los actuales reconoce el formato del Tango. Olvídate de él.
      Los circuitos que publica Gabriel aquí están hechos con el KiCad, que es gratis y lo puedes descargar desde la FAQ del sitio.
      Dudo que haya algún programa que pueda hacer lo que pides (el Tango desde ya no lo hacía). Deberás instalar el KiCad, abrir el archivo de la placa y reacomodar las cosas por tí mismo.
      Y si encuentras la forma de hacer lo que necesitas, por favor avísanos 🙂

      Saludos.
      Juan

  118. Hola lo felicitó excelente proyecto muy bueno de verdad, voy a armarlo mi pregunta es en mi casa tengo dos cerraduras eléctrica una en la puerta orincipal la otra en mi oficina y quiero hacer dos llaves pero con distintos codigos, que la llave que use para la puerta principal no abra la puerta de mi oficina, como puedo modificar esos código

    1. Hola Edgar. Te contesto de metido que soy…
      Para hacer dos llaves con distinto código, deberías modificar dos variables antes de compilar el programa, tal cual lo aclara Gabriel (Inventable) al final del artículo, y cito:
      «El código numérico se encuentra en las dos variables keycode1 y keycode2 al principio del programa. Pueden elegir cualquier valor para ellas. La cosa importante es que los dos programas tengan las variables con los mismos números.»

      También te recomiendo que leas todos los comentarios, ya que muchas dudas ya fueron solucionadas allí.

      Saludos
      HJ

  119. hola mi estimado hermoso proyecto tiene algunos puntos debiles pero vi la maner de que si lo queman no pueda cambiar de estado y tengo una pregunta cual PIC es totalmente compatible ccon la 629 aca en su datashet me dice q es similar el 675 pero al leer el foro m metieron la duda…..

    espero una pronta respuesta y otra pregunta

    el archivo .ASM puedo ver su programacion con el MPLAB???

  120. Hola Erick, te respondo de metido…

    El único PIC totalmente compatible con el PIC12F629 es el PIC12F629, es decir con si mismo… El único mas parecido es su «hermano mayor» que es el PIC12F675, que tiene lo mismo que tiene el PIC12F629 con el agregado de 4 conversores AD de 10 bits.
    Tal cual está el programa diseñado para el PIC12F629, no va ha andar correctamente en el PIC12F675 a menos que hagas las modificaciones ya expuesta en estos comentarios, te dejo los enlaces:
    https://www.inventable.eu/2012/10/03/llave-electronica-universal/#comment-5227
    https://www.inventable.eu/2012/10/03/llave-electronica-universal/#comment-18801
    Es decir, hacer todos los puertos digitales borrando el registro ANSEL y poniendo el «#include» correcto, es decir el del PIC12F675.
    Lo del ANSEL se debe a que en este micro, al igual que en otros, los pines I/O arrancan como analógicos. Cosa que no sucede en PIC12F629 ya que no tiene conversores AD.

    Con respecto a tu otra pregunta, no solo debes abrir el «.ASM» con el MPLB, sino que este mismo necesitaras para hacer las modificaciones y generar el nuevo ejecutable «.HEX» compatible con le PIC12F675.

    Saludos
    HJ

  121. No se como programar el microcontrolador, me podrias decir que programa uso y eso, por favor. Ademas, te pregunto si sabes como poner una cerradura electrica para que mientras esta prendido el led, tambien se abre la cerradura, y cuando pongo la llave de vuelta, se cierra. Si podes resolver mi problema me suscribo a tu canal.

  122. Hola, excelente proyecto. Lo estoy haciendo para mostrarlo en una materia de la universidad. Me gustaria saber si me pueden ayudar mandandome los links para la descarga de alguno de los dos programas para programar los pic’s ya sea ASM o HEX. ES URGENTE. Espero respuestas gracias.

    1. Hola Alejandro…
      Si es para una materia de la universidad te recomiendo que escribas tu propio código, y lo digo como concejo, la única forma de aprender es hacer….
      Otro concejo es nunca pedir las cosas como urgentes, en los foros, blogs, etc, eso está mal visto y normalmente se relaciona con alguien que deja todo para último momento y busca soluciones ya hechas….

      El último consejo es que al menos leas todo el artículo, al final están los enlaces de descarga, tanto de las placas como los ASM y HEX….
      Solo que para poder bajarlos tendrás que registrarte, tal cual se menciona en el artículo.

      Saludos
      HJ

  123. Hola Gabriel , buscando en la red, me encontré con tu circuito, mi pregunta es si se podría utilizar para encender una lámpara de 220v, y que dure encendida unos 3 minutos, yo no sabría como diseñarlo , pero si armarlo, por eso te pediría, si podrías subir el circuito, sería una aplicación extraordinaria, pues no hay nada similar en ningún lado. Yo tengo el problema de vivir en un PH, justo al fondo de un pasillo de 20mts de largo, coloqué unas luces con llaves de combinación, pero resulta que los vecinos me encendían las luces al entrar y si yo no me daba cuenta quedaban encendidas, por lo que tuve que anularlas y ahora no las puedo utilizar.
    Desde ya muchas gracias y saludos.

    1. Solo ten en cuenta que dicho montaje trabaja con 12 yno con 220V o 110V directamente.
      Deberías agregar una fuente de alimentación .

      Saludos
      HJ

    2. Hola, muchas gracias , lo voy a leer a ver si puedo con él, y si me sirve; mis disculpas por tardar en responder pero he estado enfermo, a mi edad la salud suele molestar bastante. Gracias de nuevo. Saludos.

      1. Bueno Fernando, cualquier cosa registrate y abrí un hilo en el Foro y lo seguimos por allí.

        Saludos
        HJ

  124. hola yo tengo la placa arduino uno para programar 12F629..pero los archivos.HEX y .ASM..No lo habre…tengo que usar otra placa programadora?…

  125. Hasta donde sé, no puedes programar el 12F629 con una placa Arduino.
    Para ello tienes programadores como el PICkit3, PICkit3, ICD2, ICD3, etc y sus clones, incluso el NOPPP, el JDM, etc

  126. Hola quise ver los archivos del circuito para imprimirlo pero no me aparecen en los programas PCB y Eagle me puedes decir com o puedo abrirlo para imprimir….

    1. Hola Raydi, ya lo hemos respondido muchas veces a esa pregunta, te recomiendo que leas los detalles en los comentarios mas arriba o en las FAQ del Blog.
      Pero te adelanto que el archivo se abre con KiCad, no con eagle. (KiCad es gratuito y sin limitaciones )

      Saludos
      HJ

  127. Hola a todos, a pesar de ser un asiduo y continuo seguidor de inventable, nunca me he decidido a realizar ningún montaje de los publicados hasta que decidir montar éste.
    Mi sorpresa es que no funciona, curiosamente el rele se acciona por dos segundos y después se desactiva, y al introducir la llave no hace absolutamente nada.
    Al introducir esta la tensión cae a 2,6 voltios, por lo que pic dificilmente funcionara.
    Alguien podría ayudarme ya que no consigo encontrar el fallo a nivel componentes, salvo que este se encuentre en los archivos a grabar.
    Muchas gracias de antemano y un saludo

    1. Hola Domino, la activación del relé por dos segundos es correcta. Esto demuestra también que el programa del pic de la base está funcionando. La tensión en la llave baja porque transmite por la misma linea de alimentación. En el prototipo funcionante la tensión es de 3V. Quizás 2,6V es un poco baja. Con un osciloscopio se puede ver la trasmisión de los datos. En tu caso yo probaría a reemplazar la resistencia de 4,7K que alimenta la llave por una de 3,9K o conectarle provisoriamente una en paralelo de 15K y fijarte si la tensión en la llave aumenta.

      Gabriel

  128. Hola, solo soy un colaborador de Inventable.
    He montado este proyecto y funciona correctamente, por tanto me inclino a una falla en tu montaje o en la grabación del microcontrolador de la llave.
    Preguntas:
    ¿Has grabado el firmware correcto en la llave? Los programas son diferentes para la llave y para la base.
    ¿Has seteado correctamente los fuses al programar?
    ¿El micro se grabó correctamente?
    ¿Probaste con otro micro?
    También deberías controlar todas las conexiones, que no haya pistas cortadas, cortocircuitos, soldaduras frías, etc.

    Te sugiero que abras un hilo en el foro, allí es más fácil responder, no están limitadas las respuestas etc.

    Saludos
    HJ

    1. Me faltó comentar, que este micro, el PIC12F629 trabaja correctamente desde los 2V, si la frecuencia del oscilador no es mayor a los 4MHz. Y en este caso se está utilizando el oscilador interno del micro, por lo tanto la tensión que mencionas sería suficiente para que la llave funcione.

      Saludos
      HJ

      1. Yo pensé que quizás no está oscilando a la frecuencia justa y por lo tanto los datos seriales no son interpretados correctamente. Se podría como prueba modificar el código activando el relé si llega un dato serial saltando la comparación ¿que pensás?

        Gabriel

        1. Para que no oscile a la frecuencia justa tendría que haber variado el valor de calibración de alguno de los PIC. Porque si lo hubiese borrado el programador debería indicarlo.
          Si está borrado (0xff)el micro no oscila.

          Saludos
          HJ

          1. Viendo este y otros comentarios me doy cuenta que la gente que no cuenta con conocimientos y equipos adecuados le cuesta mucho encarar proyectos de este tipo.
            Recuerdo en mis épocas de estudiante secundario, cuando comenzamos con montajes digitales, lo primero que hicimos fue una sonda lógica.
            Creo que ese montaje sería muy útil para los usuarios o lectores ocasionales de Inventable que deseen encarar proyectos lógicos o microprocesados.
            Pero tendría que ser una con CMOS /TTL, detección de trenes de pulsos y de high-Z.
            Por ahora es solo una idea.

            Saludos
            HJ

  129. Porsupuesto que debería ser fácil de montar, sin microcontrolador, solo utilizando componentes relativamente fáciles de conseguir.

    Saludos
    HJ

  130. Buenos días, soy nuevo en microcontroladores, me gustaría aprender a programar los pic, pero este invento me ha llamado más las atención y ganas de aprender más, que tipo de lenguaje de programación se usó para este proyecto, saludos a todos.

    1. Hola merving, este proyecto, como mucho de los proyectos de Inventable, fue programado en lenguaje ensamblador o Asembler o ASM de la familia de microcontroladores de microchip. Es un lenguaje de muy bajo nivel, es decir muy cercano a lo que interpreta el microcontolador en si.

      Saludos
      HJ

  131. Hola, Buen día
    yo realice su proyecto con los mismos dispositivos que usted utiliza, lo que me sucede es que no funciona aún cuando cargo el .hex que se encuentra en el link de descarga, intente probar realizando el código en CSS pero tampoco funciona. Esta idea la necesito para implementarla en un proyecto.

    Muchísimas gracias, que tenga un buen día.

    1. Note que cuando conecto la alimentación por primera instancia el relevador y el led se activan por 2 seg. posteriormente estos se desactivan pero al introducir la llave a la base no realiza nada. Medí voltajes y el voltaje que hay en la llave es de 3.6 V lo cual en la hoja de datos indica que es suficiente para activarlo, ya revisé las conexiones de mi circuito y no hay ningún problema. Saludos y muchas gracias.

  132. hola una consulta como hago para configurar los fuses del 12F629..porque yo uso PICKIT 3 y no trae..gracias

    1. Hola, ¿desde que entorno de programación estás intentando utilizar el PICkit3?
      Desde el MPLAB IDE v8.92 podes hacerlo desde Menú /Configure / Configurations bits… y se abre una ventana donde puedes modificar todos los bits de la palabra de configuración.

      Saludos
      HJ

      1. a ok gracias…tambien queria preguntarte porque ayer andaba bien respondia el relay y todo pero hoy lo probe de vuelta y dejo de andar..programe los pic una y otra ves con el pickit 3..y nada cuando inserto la llave no responde..no modifique nada lo deje como estaba..ya que andaba bien..pero ahora ya no..que prodra ser?..gracias

        1. perdon uso el 12F629..tengo que modificar los fuse o algo..gracias..lo arme y quedo bien lastima que tengo ese problema..:(

          1. Lamentablemente creo saber de que se trata….
            Varios micros de microchip tienen el tema del OSCCAL, es un valor de calibración del oscilador interno y si lo borras sin querer o queriendo esto hace que el micro no funcione, la mayoría de las veces impide que puedas volver a utilizarlo…
            Verifica que en la última posición del micro tengas un valor distinto a 0xFF (o 0x00), cuando borras el micro todas las posiciones de memoria toman el valor 0xFF.
            Si este es el caso, el valor se puede recuperar utilizando un PICkit2 con su software, o una combinación de programadores, o utilizar algún dispositivo diseñado a tal fin.
            Con el PICkit3 no creo que se pueda recuperar el valor.
            Pero una solución sencilla, para verificar si el problema es ese, consiste en grabar un valor cualquiera, por ejemplo 0x4E, en la última posición del micro. Ojo, que esto solo verifica que ese es el problema, pero seguramente no sea el valor correcto para ese micro y pueda que el oscilador interno funcione a una frecuencia corrida de la que debería ser.

            Saludos
            HJ

        2. Me llama la atención eso que mencionas que deje de andar una vez que tenías todo funcionando, he leído un comentario similar anteriormente y no le encuentro explicación.
          Puede que Gabriel (Inventable) pueda encontrar una explicación a ello, si la hay.

          Saludos
          HJ

          1. El PICkit3, no debería tener el problema del OSCCAL, pero no lo he utilizado nunca con estos micros.
            En cuanto pueda hacerme tiempo pruebo programar y re-programar un 12F629 con el PICkit3, solo tengo 12F629 en SMD, así que tengo que hacerme una placa para poder programarlo…

            Si algún lector ya ha echo estas pruebas por favor compartirlo…

            Saludos
            HJ

  133. hola..creo que encontre el problema..me parece que dejaba de funcionar cuando levantaba el micro del zocalo en la llave y lo volvia a poner..dejaba de andar..despues puenteaba con un destornillador abajo el capacitor 22ufx16..en la llave..y volvia andar…hasta ahora anda ..(saco la llave se apaga..inserto la llave se prende)..me parece que no hay que levantar el micro del zocalo..je.
    y queria preguntarte que modifico en el archivo el codico de keybase.asm.para que cuando saque la llave se apague enseguida..porque tarda un poco..2,27 segundos maso menos..se puede hacer mas rapido..
    GRACIAS..:)

  134. hola puede ser que se descargue el capacitor de la llave y deje de andar?..porque volvio hacer lo mismo deja de funcionar y no se activa..:(

  135. hola quería saber que programa usaste para abrir la hoja de circuito impreso (? gracias y esta genial lo que has echo

  136. EL foro está cerrado, queria ver la version actualizada del otro PIC del proyecto, al final indicas que un usuario lo actualizo con otro PIC, pero el foro está cerrado 🙁

    Y el comentario no me deja poner Correo electrónico…

    enigmahernandez @ gmail

  137. hola buenas noches saludos desde chiapas mexico, antes que nada felicitarlo por su pagina para los que nos gusta la electrónica es una gran herramienta cada día aprendemos mas. pasando a mi duda sobre su proyecto hojala pudiera ayudarme a entender la transmisión y recepción de datos utiliza algun protocolo o implementa un puerto por software. gracias por su atencion.

  138. Hola buenas tardes a todos. Utilizando el mismo principio de funcionamiento se podría hacer con Arduino o Attiny85 con sus salidas digitales agregándole a la salida del GPIO0 un diodo como protección. ¿Se podría obtener un diagrama de flujo del programa? Gracias.

    1. Hola Jorge: soy sólo un colaborador del sitio. Hablando sólo por mí, tu pregunta no se entiende bien. Hasta donde sé, GPIO0 es una nomenclatura propia de los PIC; no recuerdo haberla visto en ningún AVR (que son los que usa Arduino).
      Desde ya que puedes hacer esto con un Tiny85, o incluso un Tiny13 (very low-end). El assembler de los AVR es sencillísimo, y los requerimientos de este sistema son bastante bajos.
      Eléctricamente hablando, salvo los pines del micro utilizados, puedes utilizar los mismos circuitos mostrados tanto con los PIC como con los AVR.
      Diagrama de flujo no hay ninguno ya hecho, pero no debería ser muy difícil crearlo.

      Saludos,
      Juan

Los comentarios están cerrados.