Cuando era pequeño (cosa de unos cuantos ayeres), recuerdo que ví la pelicula de:
El depredador, para tod@s aquell@s personas que no son de los 90's, el depredador era un marciano caza humanos con armamento pesado, entre su armamento tenia un lasser que seguía a su presa, obviamente cuando eres niñ@ te quedas impresionado y te imaginas con uno de esos, la mala noticia es que no los venden en la tienda de la esquina, pero bueno, ya no hay porque seguir soñando, en este proyecto te voy a enseñar a armar el tuyo, eso si, el lasser y el traje de invisibilidad no están incluidos.
Para este proyecto es necesario la utilización de un microcontrolador, yo voy a utilizar el PIC16F1827, pero tu puedes utilizar cualquier otro, solo ten en cuenta que los resultados pueden variar, y tu debes de crear tus propias rutinas.

IMPORTANTE:

Este proyecto utiliza un microcontrolador, por lo tanto es necesario contar con el hardware necesario para programarlo.

Teoría:

Lo primero que hay que establecer es el método por el cual vamos a saber que el objeto/humano/mascota/alíen se esta moviendo, una manera podría ser mediante cámaras, pero eso complicaría un poco las cosas por lo tanto quedan descartadas, otra manera sería mediante sensores pirolicos, si, los que utilicé en el detector de movimiento, la desventaja es que su pulso dura solamente unos cuantos segundos, aparte solo detecta humanos y animales con respecto a los marcianos no estoy seguro por lo tanto quedan descartados también, ¿y si lo intentamos mediante distancia?.

Si se están preguntando ¿como sería posible lograr esto mediante la distancia?, la respuesta es:
Sabemos que la distancia es igual a la velocidad por el tiempo, por lo tanto despejando la velocidad nos quedaría distancia entre tiempo, ahora bien, si integramos la velocidad con respecto al tiempo obtendríamos la posición, ¡Bingo!....la verdad es que es más fácil que eso, solo era para repasar conceptos básico de física.

Una forma de lograrlo, o al menos esa fue la única forma que se me ocurre por el momento, es utilizando cualquier sensor que sea capaz de detectar bordes, lo que hacemos es SCANNEAR/BARRER el objeto/humano/mascota/alíen.

Podemos utilizar cualquier sensor reflectivo, esto es, cualquier sensor que mande una onda a una frecuencia lo suficientemente alta para que rebote, no me hagan mucho caso pero si mal no recuerdo de mis clases la frecuencia es a partir de los 25khz, en fin, podemos utilizar sensores de ultrasonido, lasser, o infrarrojo.
En el caso de ultrasonido la desventaja que le encuentro es el reflejo de la onda en las superficies con esquinas, aparte va a ser necesario dos módulos para detectar los bordes izquierdo/derecho, por parte del lasser tenemos que considerar dos cosas, longitud de onda y potencia, así que para utilizarlos requerimos tener de mínimo gafas especiales de lo contrario podría resultar muy peligroso, por lo tanto los ganadores son los infrarojos, obviamente la velocidad de respuesta no se compara con los ultrasonidos ni mucho menos las distancias con el lasser, pero vamos, tampoco estamos haciendo un francotirador.

Voy a utilizar el sensor de sharp 2D120X, el cual es un sensor de distancia basado en infrarojo, aquí les pongo sus características:

•Salida analógica.
•Rango efectivo de 4 a 30 cm.
•Tiempo de respuesta 39ms.
•Tiempo de inicialización 44ms.
•Consumo de corriente 33mA.
•Voltaje de operación 4.5 a 5 Volts.

Salida distancia vs voltaje:

Diagrama de tiempos:

Analizando el sensor, el porcentaje cuando el objeto/humano/mascota/alíen viste de blanco es del 90% mientras que si viste de gris es de solo 18% no me quiero imaginar como le va al negro, yo supongo que el porcentaje esta en -99%, como ya lo había mencionado el tiempo de respuesta no es de lo mejor, para obtener una señal estable durante 5ms deben transcurrir 38.3ms ± 9.6ms, esto es un problema porque limita la frecuencia a la cual podemos movernos.

Ahora veamos como lo vamos a utilizar, en la primer gráfica tenemos los niveles de voltaje respecto a la distancia, entonces solo es necesario establecer un nivel de voltaje, y a partir de este detectar el cambio, voy a tratar de ilustrar esto en la siguiente imagen:

scanner_scan

La distancia establecida es de 12cm (algo así como 2 Volts) entonces empezamos a movernos atravez de la superficie (perimetro color rojo) , una vez que el sensor llega al borde la distancia varia de 12cm a 20cm(1.3 Volts aprox.), cuando detectamos este cambio nos movemos en la dirección contraria hasta encontrar el borde y repetimos la secuencia una y otra vez.
Esto sería la magia detrás del seguidor de movimiento, ahora solo falta movernos, para ello podemos utilizar motores sin escobillas con encoder, servomotores, motores a pasos, etc...., aquí depende del gusto de cada persona, yo voy a utilizar un motor a pasos.

Hardware:

El diagrama de conexión está creado en diptrace, presiona sobre la imagen para descargarlo.

Lista de materiales:

• Microcontrolador (PIC16F1827)
• Sensor Sharp 2D120X
• Motor a pasos
• Regulador de voltaje (LM7805)
• Driver PaP (L6219)
• 2 resistencia de 1 Ω @ 1/2 watt
• 2 resistencias de 1 kΩ @ 1/4 watt
• 2 resistencias de 56 kΩ @ 1/4 watt
• 4 capacitores de 820pF
• 2 capacitores de .1µF
• 1 capacitor electrolítico de 100µF @ 25 Volts
• Pila o batería de 9 Volts

 

Resultado y palabras finales:

Aquí les dejo el vídeo donde se ve el funcionamiento del seguidor de movimiento.

En la sección de Teoría mencione que el tiempo de respuesta del sensor nos iba a limitar la velocidad de movimiento, es por eso que es un poco lento, para el caso del motor a pasos la frecuencia máxima son 20hz, si pasamos de esta frecuencia el sensor no va a ser capaz de seguir el objeto.
Aquí les dejo el firmware del microcontrolador para que lo programen.
Archivo Hex: scanner.hex

Esto sería todo en cuanto este proyecto de seguidor de movimiento, espero les sea de utilidad ya solo falta que consigan el camuflaje de invisibilidad, pero eso es relativamente fácil, se lo pueden quitar a snake de metal gear III y listo :v.
No se olviden de recomendar esta pagina en facebook, twitter, google plus o cualquier otra red social, foro, pagina web, o medio de comunicación, también pueden seguirme en twitter @edx_twin3 donde pongo las ultimas noticias sobre la página.
Como siempre cualquier duda, sugerencia, comentario, etc ...., la pueden enviar ya sea mediante la pagina de contacto, mediante correo electrónico edx@edx-twin3.org o utilizando el blog.
Por último pero no menos importante cualquier donativo es de gran ayuda para seguír haciendo tutoriales como este, gracias :1.