055 – Sensor IR de proximidad

Foto del Sensor IR de proximidad

Un lector del blog me preguntó si en el robot Calimaro se podían reemplazar los microinterruptores de choque con sensores IR. La respuesta es absolutamente si. El tema está en que tipo de sensor usar. He buscado en Internet un proyecto simple de hacer, económico y sin componentes "muy" especiales como por ejemplo los receptores IR de tres patas. La cosa que me llamó la atención fue no encontrar nada de interesante. Esto era una excelente motivo para construir algo nuevo desde cero: un Sensor IR de proximidad sin usar componentes especiales.

Circuito del sensor IR de proximidad

Para obtener un modelo simple pero al mismo tiempo eficaz y confiable he decidido de usar un microcontrolador PIC muy económico y pequeño: el 12F675 para que se encargara de todas las funciones del sensor. Es decir, generar los impulsos para los leds emisores y analizar la información que llega al fototransistor. Digo "analizar" porque disponer de un microprocesador me permite de implementar funciones mucho más sofisticadas que la simple lectura on/off de la salida del fototransistor permitiendo de obtener un sistema confiable, de elevada sensibilidad e inmune a la luz ambiente. Bueno, en este artículo describo el proyecto completo.

Foto del sensor montado

El circuito electrónico esta compuesto por muy pocos componentes: dos leds infrarrojos de esos usados en los telecomandos (LD271), un par de transistores comunes, un fototransistor IR, algunas resistencias, capacitores y el microcontrolador. Para simplificar el circuito, no he agregado un regulador de tensión por lo que es necesario alimentar el sensor con 5V. Pienso que se puedan usar otros leds IR y otros fototransistores sin particulares problemas.

Diagrama pictórico del sensor IR de proximidad

Veamos como trabaja. El microcontrolador genera impulsos que son amplificados por el transistor BC337 y sirven para excitar los leds. La corriente en los leds es bastante elevada pero como los impulsos generados por el micro son de breve duración, los leds no sufren y el consumo medio es muy bajo (10mA). Para no generar mucho ruido en la alimentación debido a estos impulsos de elevada corriente, he agregado dos capacitores: un electrolítico de 22uF en paralelo con uno cerámico de 100nF.

Circuito impreso del sensor IR de proximidad

El fototransistor, recibe la la luz de los leds IR reflejada. Está conectado en configuración emisor común y polarizado a positivo a través de una resistencia de 15K. El valor de 15K lo obtuve experimentalmente y es el que me dio mejores resultados en materia de sensibilidad y de inmunidad a interferencias provocada por la luz ambiente.

Cuando un objeto se encuentra delante del sensor, el señal IR de los leds reflejado aparece débilmente en el fototransitor y es leído por el micro que por lo tanto activa la salida del sensor a través de un transistor conectado en configuración "open colector". Esta configuración es muy usada en campo industrial porque permite la conexión a cualquier tipo de dispositivo aunque si alimentado con una tensión diferente respecto al sensor (5V).

El buen funcionamiento de este sensor depende del software que en realidad es muy simple. El mismo efectúa cíclicamente, gracias al ADC interno, dos lecturas analógicas de la salida del fototransistor: una de ellas cuando los leds IR están prendidos y otra cuando estos están apagados comparando las dos lecturas entre si. Si los valores obtenidos son bastante distintos significa que la diferencia de luz es debida a un objeto que está reflejando la luz proveniente de los leds IR y no solo del ambiente.

Forma de onda vista con un osciloscopio
Forma de onda de salida de los leds IR (en turquesa) y de entrada del fototransistor (en amarillo) cuando no hay objetos adelante del sensor.

Es una especie de medición "diferencial" porque haciendo así se logra filtrar la interferencia provocada por la luz ambiente. El programa considera una lectura válida para la activación cuando la diferencia entre los dos valores es mayor de un cierto umbral llamado "threshold". Este valor se encuentra declarado al inicio del programa y puede disminuirse si se desea hacer el sensor más sensible o aumentarlo si se desea el sensor menos sensible. Recuerdo que un valor muy bajo (menos de 10) puede hacer que el sensor sea demasiado sensible e inestable. El valore que yo he adoptado permite una sensibilidad de algunos centímetros que se adapta bien con los pequeños robots.

Forma de onda de frente a un obstáculo
Forma de onda de salida de los leds IR (en turquesa) y de entrada del fototransistor (en amarillo) cuando colocamos un objeto adelante del sensor.

El sensor hace un ciclo completo de lectura (una lectura con leds encendidos y una con leds apagados) cada 3,3 mSec, por lo tanto la frecuencia de actualización es aproximadamente de 300 lecturas por segundo. En cada ciclo los leds están apagados por un periodo de 3,15 mSec y encendidos 0,15 mSec, es decir, solamente un 5% del tiempo total. Gracias a esto, como dicho precedentemente, el sensor consume muy poca corriente.

Frecuencia de los impulsos
Forma de onda de salida de los leds IR (en turquesa) y de entrada del fototransistor (en amarillo) que muestra la relación apagado / prendido de los impulsos generados por el micro.

El montaje de sensor es muy simple de hacer. La única consideración especial es la de meter el fototransistor dentro de un pequeño tubo de pocos milímetros como se observa en la fotografía (yo he usado un trozo de vaina termorestringente) para lograr que la luz que llega al fototransistor sea solamente la reflejada.

El siguiente video muestra el sensor en acción.

Espero que el proyecto les haya gustado. Buen trabajo y hasta la próxima.
 

logo_descarga

[ Programa HEX y ASM del sensor ] (984)

[Circuito impreso del sensor IR de proximidad] (744)

 

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

91 pensamientos en “055 – Sensor IR de proximidad”

  1. Hola. Hace tiempo estaba esperando este proyecto, sin embargo no me esperaba que lo realizaras con un PIC. Me parece genial y como dices, en la red no hay nada similar. Muy buen trabajo, ahora tan sólo necesito comprar el Pic para implementarlo. Gracias 🙂

    Hola Gustavo, lo hice pensando a vos 🙂 🙂 🙂

  2. …Ciao di solito non uso compilatori per .asm, nello specifico che software dovrei utilizzare, dato che questo progettino mi piace in modo particolare.

    De toda manera felicitaciones por este proyecto, muy bien pensado. Gracias y muchos saludos.

    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.

  3. Este sensor se podria utilizar para detectar el nivel del agua?

    si me explico? poner el sensor en lo alto de un recipiente, y que detecte cuando el agua este suficientemente cerca.

    He probado hoy el sensor con un vaso lleno de agua. Parece que funciona. No pensaba que el agua reflejase los rayos infrarojos. El sensor se activa mas o menos a 6 cm de distancia de la superficie del agua. Muy interesante tu idea Daniel 🙂

  4. Muchas Gracias, por la informaciòn del compilador; de hecho yà lo instalè y funciona perfectamente, por el programador ya tenìa uno que funciòna muy bièn es un programador universal comprado en ebay.

    Colgo l’occasione per inviare i miei ringraziamenti e Distinti Saluti.

    De nada Carmelo 🙂

  5. hola amigos de inventable, me pregunto si el codigo de programacion para el pic no pueden cargar con extencion .HEX lo agradeceria imensamente. saludos

    Ok Carlos, lo he agregado al file zip para descargar. Bajalo nuevamente. 🙂

  6. hola de nuevo yo 😛 .. tengo una duda, en la ciudad donde vivo no venden el bc337, lo puedo remplazar por el 2n3904 ? en la tienda donde lo pregunte me dicen que si pero no se que tan cierto sea. el sfh309 tampoco lo pude conseguir y lo reemplace por un fotodiodo receptor, habra alguna diferencia significativa ? ….. a modo de prueba. Sin tener grabado el pic 12f675 y conectandolo a vcc 5v el led verder debe encender ? gracias por todos los aportes. pronto estare montando los modulos para el breadboard. 😛 😆 😀

    Hola Carlos. El 2N3904 permite pasar una corriente mucho más baja respecto al BC337 (200mA en vez de 800mA) y tengo miedo que no alcance para los impulsos de los leds. Dicen que probar no cuesta nada :). Respecto al SFH309, este es un fototransistor y no un fotodiodo. No creo que funcione con el tuyo. 🙁

  7. te cuento que tengo un problema, en la ciudad donde vivo no hay forma de conseguir el bc337 ni el sfh309 de resto todo lo que necesita el sensor lo tengo. tienes alguna idea de como hacer el sensor con otro transistor y otro fototransistor o fotodiodo mas comerciales ?

    ¿De que ciudad eres?

  8. vivo en colombia – valle del cauca – buga ! ciudad pequeña con un comercio electronico bastante pobre. habra forma de modificar el sensor para usar un transistor 2n3904 o uno similar y tambien de usar un foto diodo, por que venden foto transistores pero son de tres pines y no saben que referencia son !

    hola amigos de inventable tengo un fototransistor con referencia st1kl3b y otro st1kl3 y transistores bc548 – bc547 aun tengo la esperanza de poder hacer el sensor !

    Ok Carlos, usa el 2N3904 para los leds y el BC547 para la salida del sensor (cerca del conector). Atención con el 2N3904, la patita del emisor está en lugar de la del colector. Hay que montarlo al contrario. Te quedarán los dos transistores con la parte curva mirando hacia los leds. Respecto al fototransistor, usa el st1kl3, la pata central (la base) no hay que conectarla. La patita más cercana a la aleta pequeña (es el emisor) se conecta a masa (negativo). Quizás tendrás que agregarle un filtro infra-rojo. Puedes hacer uno cortando un pedacito de la parte inicial (o final) de un negativo fotográfico ya revelado (es opaco). Esperemos que vaya todo bien.
    Nota: que linda que es la zona donde vives 🙂

  9. Vale cuando tenga algo de tiempo lo volvere hacer haber que resultados tengo… por cierto debo hacer un proyecto final para dos de las materias de este semestre .. ( Circuitos integrados y fuentes & amplificadores ) tienes alguna idea de algun proyecto que use AMP-Op con transistores y alguna fuente, que a su vez sea complejo en la utilizacion de elementos y que no requiera elementos que puedan ser muy dificiles de conseguir ! seria genial no hacer amplificadores de audio en google hay demaciados ! gracias ! 😉

    Demasiados requisitos Carlos. No sabría que proponerte 😯

  10. muy buen proyecto y mucho mejor con lo del agua
    y avisame si hay otros tambien de este estilo

    una pregunta.. que es el capacitor electrolitico osea es 22uf por cuanto volts??
    osea como por ejemplo: 1000uf x 16 v

  11. Hola fede el capacitor electrolítico o condensador posee polaridad (+ -), el de este proyecto (22uF) es de 16V, lo puedes ver en el esquemático.

    Saludos

  12. Hola.
    Soy Juan de Dios.
    Mí comentario es que es interesante tu Blog y quiero si te es posible me puedas orientar como poder prender un LED de poder que consume 0.700 Amp. con 14.00 Vcc 10 Watts mi requerimiento es que se pueda conectar directo a una alimentación de 110 Vca sin transformador o fuente manufacturada, mi pregunta es: Si conoces algún circuito de un Driver para este fin, y que pasaría si se acoplara a la entrada del Driver una fuente de 1/2 onda y se le conectara un banco de capacitancia para que no puse con la corriente pulsante.
    De antemano te agradezco la ayuda que me puedas brindar.
    Atentamente.
    Juan de Dios.

    Hola Juan, yo no conozco circuitos simples que puedan entregar corrientes tan altas conectados directamente a 110V sin transformador. Para eso existen la fuentes conmutadas pero son dispositivos complejos de hacer. Lo lamento. 🙁

  13. Hola de nuevo.
    No se si recibiste mi anterior mail, si fueses tan amable de confirmar si lo recibiste te lo agradecere.
    Atentamente.
    Juan de Dios

    Si Juan, ya te respondí 🙂

  14. Hola q tal esta excelente tu post aunque lo quise compilar y no me deja me marca error podrías checar y de nuevo subirlo

    No hay errores en el código Irving. Probablemente estás usando alguna plataforma que no interpreta de la misma manera el código respecto a la que yo he usado ¿Que tipo de error te da? 😯

  15. Pues estoy usando pic600 para quemar mira era un proyecto de la escuela por fortuna si pasé la materia pero si me gustaría chequear eso o con q compilador lo hiciste

    Con Mpasm de la microchip (ambiente Mplab 7.30)

  16. hola amigo una pregunta adonde conectaste tu out??

    Depende de la aplicación. Por ejemplo se puede conectar a una tarjeta con microcontrolador o también a un relé de 12V.

  17. muy interesante todos los proyecto publicados en inventable led… soy un seguidor de tu pagina quisiera saber cuales son programas o software que utilizas para realizar los esquemas electrónicos y poderlos visualizar en tres D y también para poder realizar el circuito impreso gracias por su atención prestada soy colombiano de manizales..

    Hola JHUCAVA. Para proyectar los circuitos impresos uso KiCad que es gratis y open source. No eres la primer persona que tiene curiosidad respecto a los diseños de las vistas. Lamentablemente para ellas, no uso un programa específico para poder aconsejarte. Uso un programa de diseño vectorial común (Corel Draw o Inkscape) y mucha paciencia para diseñar todos los componentes 🙂

  18. hola, desearia saber cual es el alcance de dicho sensor
    muchas gracias
    saludos, y sigan adelante

    Hola lionel, más o menos entre 4 y 8 centímetros en base a la capacidad reflexiva del objeto que pones adelante.

  19. Hola,

    Muy bueno el diseño. Me gustaría saber qué cambios tendría que hacer para conseguir que el led se encendiera al detectar la proximidad, pero que ya no se apagase hasta cortar la alimentación. Al volver a conectar la batería, el led debería estar apagado hasta la siguiente detección.

    ¡Gracias y saludos!

    Hola Carlos, sería necesario modificar el programa del micro 😯

    1. Ah y se me olvidaba. ¿Podría funcionar el circuito con una pila cuadrada de 9v? ¿Cuánto podría durar si el circuito está conectado las 24h?.

      ¡Gracias!

      Así como está hecho no. Deberías agregarle un regulador de 5V. Respecto a la duración, no más de un día. Se podría modificar el software en el micro para que mande impulsos una vez por segundo por ejemplo. Haciendo así la duración aumentaría bastante (semanas). 🙂

      1. Gracias por las respuestas. Ahora a ver como me lo hago para modificar el programa, porque no tengo ni idea de asm. En cuanto a la batería, he encontrado una de móvil usb externa para móviles de 10.000 mAh y 5v por solo 15 euros. Creo que así me durará bastante.

        Lo de mandar impulsos una vez por segundo, creo que no podré hacerlo porque necesito detectar objetos que pasen bastante rápido por delante del sensor, y se me podría escapar alguno.

        ¡Mil gracias! 😉

        Si, entiendo. Buen trabajo!!

  20. buenas noches

    amigo quisiera pedirle un favor sera que este proyecto se puede pasar a un pic12f508 es el unico que e podido conseguir

    le agradezco

    me gustaria probarlo para ver como funciona

    gracias 😛

    Hola Julio, me han ya pedido esto. El problema es que no tengo en el laboratorio el pic12f508 y por lo tanto no logro probar las modificaciones en el código 🙁

  21. Hola, quisiera saber si se puede implementar con una entrada más y que la salida, solo quede en alto 100ms, por cada detección. Soy Docente de escuela técnica y nos gustaría adosarlo a un contador. Desde ya muchas gracias.

    1. Hola Washington Rojas, te contesto de metido, Gabriel seguramente será mas preciso que yo en la respuesta.

      Poder, se puede, pero implicaría modificar bastante el código ASM. Por suerte Gabriel lo ha liberado y ya tienes una base para trabajar.

      Saludos
      HJ

  22. Gracias por el aporte muy bueno.
    me gustaría saber como hago para que cuando alguien este muy cerca suene una alarma o sirena y conectar este circuito a 220 o es necesario 12v ??
    gracias por su respuesta. 🙂

    Hola Yoel, en realidad este circuito trabaja solo con 5V y no está pensado como sistema de alarma, más bien como sensor de choque para pequeños robots. Para lo que necesitas puedes usar simplemente un sensor IR pasivo (PIR) u otros sensores con más alcance.

  23. Hola. Desde ya me gusto mucho el circuito que obtuviste. Ahora bien yo estoy tratando de programar algo similar pero que que retenga el estado de sensado, es decir que si paso la mano este deje activo un relay y si vuelvo a pasar este se apague.(Osea usar una bandera). Yo en mi vida hice un programa en asm quisiera que me des una idea de que debería colocar en el programa fuente como para lograr dicho trabajo!. Desde ya mil gracias por la información!. Saludos!

    Hola Gonzalo, es medio complicado de hacer, tienes que gestionar el rebote para que no cambie continuamente. Lamentablemente no dispongo de tiempo en este periodo para darte una mano. 🙁

  24. Esta excelente el circuito, quisiera saber como podemos poner 3 leds, verde ámbar y rojo, por ejemplo si pusiéramos el sensor de proximidad en una cochera y conforme te acercas con el vehículo se fuera encendiendo verde y luego ambar hasta llegar al rojo, es decir , tal ves a 15,10 y 5 cm. ….muchas gracias de antemano.

    Hola Ivan, este sensor sirve para distancias de pocos centímetros y no es para nada preciso con la distancia. Para lo que dices se necesita otro tipo de sensores 🙁

  25. Hola que tal, me parece excelente tu sensor, tengo una pregunta, quisiera conectar tu sensor a un pic, en este caso seria un 16f873a, el cual lo conectaria con el convertidos analogico digital, mi pregunta seria, donde podria conectar la entrada del CAD de tu sensor para mi pic?

    1. Hola Ivan, te contesto de metido, luego esperas las sugerencias de Gabriel.

      Este circuito posee un PIC el 12F675, aunque en el esquema menciona el 12F675 se debe a un error tipográfico.

      El PIC12F675 tiene utilizado un solo pin como entrada, en este caso GP1, esta es la entrada que debes hacer coincidir con la entrada del CAD de tu PIC16F873A, podría ser AN0 que es el pin 2 de ese micro.
      además el micro vas ha utilizar dos salidas mas, que pueden se cualquier pin I/O que creas conveniente.
      Luego vas ha tener que adaptar tu programa para que funcione con tu micro.

      Saludos
      HJ

  26. muy bueno.. Pero me gustaría q este sensor se adaptara a las cualidades principales del calimaro.. Ósea sin pic.. Se podra hacer?

    Hola Franco, lamentablemente la simplicidad y la eficiencia de este circuito se debe a la presencia del PIC. Hacerlo con componentes discretos es posible pero requiere un sistema más complejo. Espero de poder publicar algo próximamente. 🙂

    1. Hola Franco, dependiendo de tus conocimientos te va ha resultar mas o menos difícil realizarlo con lógica discreta, sin micro, pero poder hacerlo se puede.
      Suerte y cuéntanos de tus logros.

      Saludos
      HJ

  27. Hola, queria preguntarte si puedo realizar esto con un pic 12F629, es el unico que puedo conseguir y veo que son casi iguales. exepto por algo de a/d 10 bit que tiene el 675, no entiendo mucho por eso pregunto 😕

    Hola Micael, lamentablemente he usado el 675 en lugar del 629 precisamente porque este detector usa fundamentalmente el con adc para medir la luz que llega al led. No se puede reemplazar por el otro. 🙁

  28. Hola, que PIC con la menor cantidad de patas posibles me recomendas para hacer este mismo proyecto pero controlar 4 fototransistores y 2 diodos para cada uno (habia pensado conectar todos en paralelo ,no se si se podra), con 4 salidas para conectar a un arduino. o con este mismo se podrá hacer?. Gracias

    Hola Guillermo, te sirve un PIC de por lo menos 18 patas, 4 entradas analógicas para los fototransistores y 4 patas para las salidas lógicas. Los leds se pueden conectar en serie/paralelo con una sola salida del PIC. Podrías usar el PIC16F716.

  29. Te hago una consulta cuando quiero descargar los adjuntos me tira error en la descarga. Tendrías el circuito del programador… Saludos

    1. Hola Francisco, acabo de probar y se bajan sin problema.

      Vacía tu caché de descarga y borra las cookies, y prueba nuevamente.

      Si aún no m¡puedes bajarlos, puede que tengas algún problema con tu navegador (yo utilizo Chrome) o con tu antivirus, puede que alguno esté mal configurado o no esté actualizado…

      Saludos
      HJ

  30. Hola tengo un par de dudas:
    -la alimentación es de 5volt, cual es la salida ya que quiero pones un rele.
    -como logro que el rango de detección sea de aproximadamente 2cm, para no tener accionamiento con otros elementos muy cercanos?
    -la programación como la transferis al controlador?
    gracias

    Hola Raul, Héctor ya te ha contestado en modo exhaustivo 🙂

    1. Hola Raul, te contesto de metido….
      – La alimentación del circuito es efectivamente de 5V
      – La salida es la marcada como “OUT”, es una salida a colector abierto que cierra a masa (a GND), es decir debes conectar un extremo d ela bobina del relé a la alimentación que vayas a utilizar y el otro extremo al terminal “OUT”.
      – Si mal no eh comprendido, para ajustar la distancia de detección habría que modificar el firmware, pero de esto no estoy seguro del todo… No he tenido tiempo de analizar el programa en cuestión.
      – El microcontrolador debe grabarse con el código HEX entregado en el artículo o el que generas después de modificar el programa en ASM. Estas modificaciones se realizan en el entorno de desarrollo MPLAB y para grabarlo debes tener un programador (o quemador), si buscas por el blog hay uno que hizo también Gabriel (Inventable), peor si quieres algo mas simple puedes recurrir a un “JDM” en Internet hay mucha información al respecto.

      Saludos
      HJ

  31. El SP213 vale como sustituto del fototransistor SFH309. Gracias

    Un Saludo

    No lo conozco Cristobal. Puedes descargarte la hoja de fabricante y compararla con la del SFH309. 😯

    1. Hola Cristobal, el único SP213 que conozco es un transeiver RS232 de alta velocidad, si puedes coloca un enlace a la hoja de datos de ese componente que mencionas.

      Saludos
      HJ

  32. Hola muy buen tutorial, pero tengo unas dudas, ya que este sensor lo quiero implementar en un minisumo, y uso el msp430 de TI, y queria saber si la salida OUT es la salida del rango de distancia asi como la de los sensores normales pequeños, o para que sirve la our, muchas grcias

    Hola Ismael, la salida no indica la distancia, simplemente se activa si la distancia respecto al objeto es menor de un cierto valor.

  33. hola espero te encuentres bien, pronto realizare este proyecto para una evaluacion en mi carrera… veremos si me resulta..saludos que estes bien… muy buen tutorial

  34. ayuda de que manera conecto un relé a este circuito quiero conectarle varios leds de potencia si eres tan gentil de indicarme de que manera gracias

    Te conviene usar un relé de 12V. Debes conectar uno de los contactos de la bobina del relé a positivo (12V) y el otro a la salida OUT del sensor. En paralelo con la bobina debes poner un diodo 1N4007 polarizado al contrario (la rayita blanca a positivo) Ojo: el sensor se alimenta con 5V. Te aconsejo de leer mi página Como controlar un relé con un transistor en la cual explico bien el tema.

  35. Excelente trabajo, lamentablemente no quedo, lo grabe a mi pic lo conecte y no funciona, no tengo voltaje en la salida de los leds infrarrojos 🙁

    1. Hola Paco.
      ¿Que programador utilizaste?
      ¿tuviste la precaución de resguardar el valor de calibración del oscilador antes de grabar el micro? Si no lo hiciste, ese puede ser el problema.

      Saludos
      HJ

  36. Hola querido Gabriel, como estas? viendo tus articulos desde siempre ya que soy un seguir tuyo hace años sigo pensando como hacer y muy interesado en lo que seria el sensor de proximidad para prender la luz de una biblioteca iluminada con tira de leds.
    Quiero disenar algo como hiciste vos en esta foto: http://www.inventable.eu/media/34_Iluminando_laboratorio_12V/LuzLedLab18.jpg

    Hola Marco, el sensor del cual me hablas hace parte de los dispositivos electrónicos que he proyectado para mi trabajo profesional y por lo tanto no puedo publicar el proyecto como open-source. De cualquier manera, podrías usar un simple sensor volumétrico (o PIR) con una máscara para reducir la sensibilidad.

  37. Hola Amigo me interese micho por este sensor… soy estudiante y soy nuevo en la electronica… queria preguntarte que version de Eagle utilizaste y las librerias porque en el Eagle que dispongo no encuentro algunos elementos como el SFH309.

    Saludos
    Miguel Calle

    1. Hola Miguel, te comento que Gabriel(Inventable) no utiliza Eagle para el diseño de sus placas, si consultas en las FAQ del blog verás que utiliza KiCad.

      Saludos
      HJ

  38. buen dia, he visto como hiciste el robot y este sensor y mi gran dilema es que tengo que hacer uno igual con pin pic18f4620 y un receptor GP1UX31QS este con un le IR tiene que ser detector de obtaculos, alguna idea que me puedas dar en como implementarlo?

    Hola Rafael, el GP1UX31QS es un detector integrado infrarrojo para 40KHz mientras que el pic18f4620 es un micro gigantesco de 40 patas. Te faltaría el led IR que trasmite y el oscilador (por ejemplo uno con el 555 o generando directamente los impulsos con el mismo micro). Yo personalmente te aconsejo de hacer el de inventable, es simple, económico, eficiente y está todo ya calculado. 🙂

  39. hola de antemano agradezco que gente como tu nos de un poco de su sapiencia y tu tiempo para ayudar y guiar a gente como yo que somos entusiastas de este mundo maravilloso que es la electrónica te he estado siguiendo y me encontré con este sensor que creaste yo tratae de emularte pero no me salio utilice un grabador k150 con el software para quemarlo que es el microbrn lei anteriormente algo de la calibración de oscilador esto como se recalibra y el hex que tienes me lo marca como error ojala puedas y quieras ayudarme gracias

    No se donde puede estar el problema Apolo, puedes hacer la pregunta en el foro, HJ (el moderador) tiene más experiencia que yo en el tema de la programación de los pics.

  40. amigo ya se sabe que el circuito se alimenta de 5v y eso no podria usarce para mas distancia sino a corta distancia,otra cosa para que uso serviria la salida “out”

  41. Disculpa que te moleste me podrias mandar el programa asm y hex no se porque no me baja me podrias mandarlo por mi correo electronico,intento hacerlo pero no me acepta la clave saludos.

    1. Hola Martín, acabo de checar y se descarga perfectamente el código y noi solicita ninguna clave.
      no se de donde intentaste bajarlo, pero debes hacerlo del enlace que se encuentra al final del artículo de Gabriel (Inventable), te lo copio aquí por las dudas
      http://www.inventable.eu/wp-content/plugins/download-monitor/download.php?id=6

      si continúas sin poder descargar el archivo, intenta borrar las cookies y el historial de tu navegador.

      saludos
      HJ

  42. saludos amigo. Muy chevere tu proyecto, pero quisiera saber si con circuito sencillo podemos alcanzar mas de 50cm. De antemano muchas gracias.

    Hola, el alcance máximo sin que el sensor sea demasiado inestable pienso que no supere los 15 cm.

  43. hola amigos de inventable recree su circuito pero no me funciona
    mi distribuidor de componentes no tenia el transistor BC337 me dijeron que podía usar el 2N3904, al intentar encender el circuito no paso nada, luego le di vuelta a PIC y solo encendió la luz amarilla.
    soy algo nuevo con esto de la electrónica, necesito ayuda.

    tienen alguna red social para comunicarme con ustedes?? y enviarles fotos
    se les agradece su tiempo.

    Hola Josue, es necesario programar el PIC y es un tema medio complicado. Fijate en la FAQ.

  44. Hola. No puedo abrir el circuito. Me sale: Loading C:/Users/George /Desktop/SENSOR /IrPic.brd …

    Error:

    line 1, column 1: Start tag expected.

    ¿Con que programa lo estás abriendo?

  45. Buenas, voy a realizar el proyecto, ya que me interesaria utilizarlo como detector en el caso de que un vehiculo me ocupe la entrada de mi garaje, la pregunta es, ya que no quiero dejar en la calle el circuito, se podra, alargar mediante cables ambos sensores leds y el fototransistor ?
    y los mismos colocarlos en el mismo orden, pero mas juntos, teniendo asi por ejemplo, el circuito en el interior de mi casa y los leds y sensor, afuera, posicionado para detectar a los vehiculos que tapen la entrada.

    espero haberme hecho entender, desde ya, gracias y saludos, muy buena pagina.

    1. Hola Horacio, a la espera de una respuesta de alguien mas cualificado, te dejo mi opinión.
      Estimo que el circuito tal cual está presentado en este artículo de Gabriel (Inventable) no serviría para lo que sugieres.
      Primero, posee un alcance relativamente corto, de entre 15 y 20 cm sin que se vuelva muy inestable el sistema.
      Segundo, cualquier persona que pasase caminando por la acera activaría el sensor.

      Con respecto a separar los diodos y el fototransistor de la plaqueta, poder se puede, pero debes tener en cuenta que a mayor distancia estarás agregando un componente resistivo (el cable =ro * L /S) a mayor longitud (L) o a menos sección (S) mayor será la resistencia de cable.
      Pero sobretodo estarás agregando una gran entrada de ruido al sistema, por lo que deberías utilizar un cable mallado de buena calidad y no muy largo.

      Saludos
      HJ

  46. HJ, gracias por molestarte en contestar, si, respecto a al alcance de aprox 10 cm lo tuve en cuenta, por ese motivo pensaba modificar el codigo para que realice lecturas mas separadas, para evitar que cualquiera que pase, dispare el sensor, de alguna forma tambien queria saber si se podia programar, para que dispare luego de que se interpone algo por mas de, nose, por ejemplo, 10 segundos. y sino, que no se dispare
    pero es cuestion de prueba y error, me gusta el proyecto, asique para algo servirá.
    y con respecto a lo de separar los leds, tambien lo pensé, de que existe la resistencia, queria confirmarlo, por ende, probaré, y sino, me las ingeniaré para dejar el dispositivo en el exterior, o mas cerca de los leds posible.
    por ahora espero primero, que me funcione asi tal cual, luego prodré probar.

    aprovecho, entonces, este segundo comentario, para preguntar:

    Si es posible y o, en que parte, se podria modificar el codigo, para que el sensor, dispare, solamente luego de un tiempo determinado.
    por ejemplo, detecta algo, lo cual se mueve y no lo detecte
    y cuando detecte algo que esta por mas de un tiempo determinado, si lo detecte.
    asi se detectaria solamente objetos fijos delante del sensor, y no cualquier interrupcion casual de algo que pase por delante.

    desde ya, otra vez, muchas gracias

    1. Hola nuevamente.
      El tema de modificar el código como propones vas ha tener que esperar una respuesta de Gabriel ya que el es quien lo escribió, y sabrá más o menos donde modificar.
      Yo tendría que ponerme a estudiar el código y eso lleva bastante tiempo y es algo de lo que lamentablemente no dispongo.

      Saludos
      HJ

  47. Que interesante e impecable proyecto, felicidades a Inventable.
    Me quedo genial y no soy electrónico, a pesar de mi trabajo siempre busco o saco tiempo para darme mi gusto con la electrónica junto a la pasión que siento como aficionado; y todo esto gracias a Inventable.
    ¡Muchas gracias felicidades……INVENTABLE!

    1. Hola Maycol.
      En realidad puedes hacer este proyecto con cualquier tipo de microcontrolador; pero si no lo haces con el PIC16F675 deberás escribir tu propio firmware para el microcontolador que elijas utilizar, deberás diseñar una nueva placa de circuito impreso , obviamente adaptando previamente el circuito esquemático al microcontrolador que hayas elegido.

      Saludos
      HJ

  48. Junto con saludarte quisieta saber si puedes diseñar un detector de distancia la idea es que tenga un transmisor y un.reseptor.
    El transmisor emite una señal y el reseptor la recive y cuando se aleja el transmisor del receptor este empiesa a sonar

  49. Buenas tardes, he montado este diseño y ha funcionado perfectamente, muy estable en interiores y exteriores.
    Me puse a experimentar con el pues necesito colocar en la entrada de mi casa un detector para que cuando llegue alguien avise, le he colocado unas míni lentes a los led y con disco reflectante me alcanza mas de 10 mt
    he tenido que modificar en el fichero asm el valor threshold .
    he probado al sol, le he dado con luz de puntero laser y funciona perfecto, ya solo falta hacer el pcb para adaptarlo a una caja estanca.
    Y necesitaría un favor del creador que me indique donde puedo modificar el código para que el pin 2 (GP5) se inicie en estado alto.
    Gracias y muy buen trabajo.

    1. Hola Antonio, felicitaciones por los resultados que has obtenido, mejorando la distancia a través de lentes. El control de la salida del pin 2 (GP5) se hace con dos instrucciones: con “bsf p_out” haces que la salida pase a positivo mientras que con “bcf p_out” haces que sea negativa. Si quieres que el circuito inicie con el pin 2 a positivo puedes simplemente agregar un bsf p_out después de “bcf INTCON,PEIE”, es decir, antes del ciclo principal. Si quieres también que trabaje al contrario, es decir que cuando detecta un obstáculo la salida sea negativa debes intercambiar los dos bsf y bcf.

      Original:
      —————
      btfsc STATUS,C
      bsf p_out
      btfss STATUS,C
      bcf p_out

      Modificado
      —————
      btfsc STATUS,C
      bcf p_out
      btfss STATUS,C
      bsf p_out

      Espero que mi explicación te sea de ayuda.
      Buen trabajo.

      Gabriel

      1. Hola Gabriel
        Gracias por contestar tan rápido, he hecho los cambios y perfecto ya está colocado y funcionando en el camino de entrada a unos 6 mt. de distancia del espejo.
        La he conectado a una sirena y esta avisa cuando alguien llega o se va.
        He intentado añadir un tiempo de estado a la salida (GP5) para que cuando la barrera quede interrumpida más de unos segundos deje de sonar hasta que se reponga de nuevo, es para evitar que cuando algo interrumpa el haz demasiado tiempo deje de sonar.
        También podrían ser dos o tres de impulsos de 1/2 segundo, Yo lo he intentado pero mis conocimientos son muy limitados en programación.
        Te agradecería orientación de como hacerlo para para evitar el inconveniente, Decirte que he probado a modificar el threshold por debajo de 10 y el alcance con espejo y es impresionante unos 60 mt. pero deja de ser estable. lo he dejado en 17 para 6 mt.
        Estas son las lentes que he usado con un led emisor y un receptor.
        http://es.aliexpress.com/item/LED-lens-for-1W-3W-LED-light-15degree-White-or-black-Holder-diameter14-5mm-convex-optical/32258327414.html?spm=2114.13010608.0.116.QkoIpW
        Agradesco tu atención y espero Tu ayuda.

        1. Hola Antonio, la modificación que necesitas es medio compleja de hacer por como està hecho el programa. Lamentablemente ahora no dispongo de tiempo para ayudarte. Lo siento 🙁 Quizás alguien del foro.

          Gabriel

  50. Hola, ya he montado y lo tengo en pruebas, este es el injerto, podéis ver el diagrama en la dirección siguiente.
    http://subefotos.com/ver/?e014247d68cef456febf1b8f8a7e375co.jpg.
    puede que tenga algún error pues acabo de dibujarlo de memoria.
    se trata de que cuando la sensor detecte avise intermitentemente mediante vía radio y si alguien interrumpe el haz mas de unos segundos el timbre deja de sonar hasta que se reponga de nuevo.

    1. Antonio, mis felicitaciones, es un proyecto muy elaborado y el montaje che has hecho es impecable. ¿Puedes describir en modo detallado como trabaja la parte del 4069 y del segundo PIC 12F675. Gracias 🙂

      Gabriel

      1. He preparado esto donde voy a intentar describir todo el sistema lo mejor que pueda y sepa para que todos los interesados puedan armarlo, eso si puede que tenga algunos errores que iré corrigiendo a medida que los detecte, os pido paciencia.
        Lo he subido a un espacio que tenia por aquí sin usar y que no hay propaganda de ningún tipo, espero que funcione bien.
        http://perso.wanadoo.es/insecon/barrera.html
        saludos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


*