Queridos amigos de Cómo Lo Hago, en vista y considerando la buena acogida del último tutorial de robótica publicado, hoy comenzaremos una nueva saga, el objetivo será construir una sonda de exploración autónoma desde el punto de vista energético (mediante energía solar), capaz de detectar obstáculos (mediante sensores de ultrasonido) y que transmita en vivo las imagenes que capture (a través de internet).
Cómo verán es un gran desafío que incluirá varias etapas, hoy comenzaremos con los conceptos básicos (que luego de todos los correos que recibí, entendí que esta etapa faltó en el tutorial anterior), los invito a animarse a construir este pequeño mounstrito robotín siguiendo este entretenido tutorial después del salto.
Tal cómo les comentaba en la introducción, en este tutorial aprenderemos algunos conceptos básicos de robótica orientados a la construcción de nuestra sonda, y tal cómo siempre les hemos indicado, no somos expertos en esta materia, sin embargo, nos gusta mucho lo que hacemos y esperamos todos sus aportes y observaciones.
La pieza fundamental de este robot (así cómo de la mayoría), es el microcontrolador que procesa las tareas… ¿micro que?
Todo el mundo sabe cómo es un computador físicamente, un monitor, una CPU, teclado, mouse, etc., son equipos diseñados para interactuar con seres humanos, que le faciliten la tarea de manejar bases de datos, generar análisis financieros y otras actividades, todo alojado en una memoria, un disco duro, sin embargo, el verdadero “cómputo” tiene lugar dentro de la CPU, y realmente estamos invadidos llenos de unidades de computo en todos lados. Están en los autos, en los secadores de pelo, o inclusive en algunos juguetes, estos dispositivos contienen microcontroladores (micro=pequeños, controlador), que administran acciones, tareas, o inclusive otros controladores.
Los microcontroladores están compuestos de 3 partes: procesador, memoria y unidades de E/S (entrada y salida), en otras palabras, son un pequeño computador que podemos programar y configurar para construir lo que queramos, ¡nuestra imaginación es el límite!.
Si bien existen muchos controlares, en nuestros tutoriales usaremos el microcontrolador Basic Stamp, un conjunto de circuitos, ensamblados en una pequeña plaqueta de circuito impreso (PCB).
La escritura de programas para este dispositivo se realiza con una versión especial del lenguaje BASIC, denominado PBASIC, que es bastante intuitivo y sencillo, permitiendo a algunos no-informáticos (cómo yo) a crear singulares sistemas electrónicos en cuestión de minutos, no obstante, es importante recalcar que no sólo se pueden crear cosas simples, en la actualidad existen muchos productos comerciales creados con este tipo de microcontrolador cómo “cerebro”.
El cerebro es una buen referente para entender cómo opera un microcontrolador, debido a que necesita de información para tomar decisiones, obtenida mediante sensores (vista, oído, tacto, etc.), ejemplo: Van caminando y sus ojos detectan una pared, su cerebro analiza esta “entrada” y toma la decisión de moverse, “emitiendo” una instrucción a sus piernas y pies para que cambien el rumbo, esta entrada/decisión/salida es cómo podemos resumir un microntrolador.
En la imagen que vemos a continuación, podemos apreciar que nuestro Basic Stamp se puede integrar con muchos otros dispositivos:
1. Placa electrónica Basic Stamp.
2. Protoboard: Para no trabajar directamente en el microcontrolador, la placa electrónica Basic Stamp incluye una placa de pruebas, también conocida como protoboard o breadboard, es una placa de uso genérico reutilizable, usado para construir prototipos de circuitos electrónicos sin soldadura. Conectado internamente con nuestro microcontrolador, de esta forma podemos realizar diversos ejercicios.
3. Conexión RS232: Este cable nos permite conectar el microcontrolador al computador y traspasar nuestros programas mediante PBASIC:
4. Energía: Todo dispositivo electrónica necesita energía, el nuestro requiere cómo mínimo 6 volt (por ejemplo: 4 baterías AA de 1,5 V cada una).
5. Piezoeléctrico: ¿Han escuchado un pequeño pito cuando encienden su computador de escritorio?, bueno eso es un piezoeléctrico, un pequeño “parlante” que emite una señal cada vez que recibe un impulso eléctrico.
6. Emisor infrarrojo: A modo de ejemplo he incluido en esta imagen un sensor infrarrojo para aprender un poco del funcionamiento de estos dispositivos, la imagen marcada con el número 6 presenta un emisor infrarrojo, un LED responsable de generar una luz que se proyecta en el espacio.
7. Receptor infrarrojo: El dispositivo destacado con el número 7 es el receptor, recibe el rebote de la luz emitida por el LED, y de esta forma puede identificar si existen obstáculos.
8. Resistencia: En Cómo Lo Hago ya hemos hablado de resistencias, el objetivo de incluir una en la imagen es explicarles que cada sensor requiere de una cantidad definida de energía, así como también de resistencias y condensadores según corresponda (todos los circuitos serán detallados en cada ejercicio).
Nuestro primer ejercicio será encender un led, para ello necesitamos:
A continuación presentamos el diagrama formal para entender la conexión del led.
Cómo les explicamos al principio, nosotros no somos expertos, por lo tanto a continuación les presentamos un diagrama de cómo se vería la conexión en la protoboard:
Para identificar correctamente que lado del led corresponde a que polo, a continuación les dejamos un dibujo que sin duda les será de gran ayuda (nunca olviden la pata más larga = +)
Finalmente ejecutamos el siguiente algoritmo mediante PBasic:
Inicio ‘ damos inicio al programa
High 14 ‘ activamos una señal eléctrica alta mediante el PIN14 del BS2
Pause 500 ‘ Esperamos 500 milisegundos (medio segundo)
Low 14 ‘ activamos una señal eléctrica baja mediante el PIN14 del BS2
Pause 500 ‘ Esperamos 500 milisegundos (medio segundo)
goto inicio ‘ volvemos al inicio (loop)
¡y listo!, con eso tenemos una luz parael árbol de navidad (fuera bromas, con este simple tutorial podrían agregar mas leds y hacer un lindo adorno navideño).
No puedo dar por finalizado el primer tutorial de esta saga, sin dar los agradecimientos correspondientes a 2 personas que trabajaron junto a mi para desarrolar esta sonda de exploración, ellos son: Marco González y Sebastián Romero.
Finalmente, y como ya es costumbre les recordamos que este tutorial ha sido…
Cualquier duda o comentario que puedan tener, pueden realizarlos en el área habilitada a continuación.
9:57:42 pm
Realmente la cagaron, se pasaron, felicitaciones a todo el staff de como lo hago, voy a seguir esta saga, es un orgullo ver que existen este tipo de guías en español
9:00:56 am
Gracias @fabian :]
5:11:54 pm
o_o nooooo mueranse desgraciados los odio.
Son demasiado para este mundo, son genios felicitaciones a todos los que hacesn los tutoriales en la web.
6:46:12 pm
Genial, estamos a la espera de las siguientes partes del tutorial.
Saludos Cordiales…
Sir John Edwards
8:24:16 pm
De verdad se pasaron de lo avanzado
Felicitaciones a todos los que colaboraron con el tutorial.
4:11:34 pm
Muy bueno el tuto a la espera de la segunda parte , me gusta mucho la robotica .
Saludos desde Bogota D.C
1:56:38 am
@Facu, @John, @Kevin, @Blip…
Realmente me emocioné, muchas gracias por sus palabras, todos los tutoriales son hechos con mucho esfuerzo.
Reitero las gracias y espero poder responder con tutoriales mejores cada vez!.
9:23:42 am
Encuentro Excelente que se tomen el tiempo de dar un detalle como el que exponen en esta serie de tutoriales.
Voy a seguir esta serie , me interesa saber como hacer una sonda, o cualquier otra cosa con este tipo de microprocesador.
Tengo una consulta para usar en otro tipo de aplicaciones posibles con el Basic Stamp.
En PBASIC se puede dar la instruccion a varios pines al mismo tiempo ?
Me explico, al activar el pin 14 ustedes escriben:
High 14
Existe alguna instruccion como:
High 10 14 15
Esto para poder activar varios (en este caso) leds al mismo tiempo.
Lo otro, cuando se hace una pausa de 500 mili segundos detiene completamente la ejecucion del programa ?
Pregunto por si quiciera hacer una intermitencia de un led cada 500 milisegundos mientras otro tenga una intermitencia de solo 250 milisegundos o para eso no me quedaria otra que usar algun tipo de operador logico para lograrlo ?
Bueno .. les dejo esas inquietudes y por supuesto los felicito por los tutoriales (que enseñan de verdad y no son solo manuales para copiar y no saber pq se copia)
4:01:22 pm
Hola Alejandro,
Antes que todo, muchsa gracias por tus palabras.
Respecto a tus dudas:
1) Si estás familiarizado con los PLC, bastará entonces con indicar que funcionan de forma muy similiar, esto quiere decir que puedes tener distintos puntos de E/S de forma simultánea.
2) Un ejemplo sería:
High 14
High 15
High 2
Eso activaría 3 salidas.
Otra alternativa sería poner los leds “en serie” y ocupar una sola línea para que alimente todos los leds.
3) Respecto a los tiempos, estás en lo correcto, se deben usar operadores lógicos.
9:53:31 pm
hola a todos y felicitaciones por est sitio web, el cual por cierto esta buenisimo, tengo una consulta, respeco al lenguaje de programacion, este lenguaje no lo conosco y me gustaria saber en que se programa, me explico, visual basic se programa en visual estudio.net, C++ se programa en Turbo C, pero este lenguaje Pbasic en que se programa?…
bueno nuevamente, felicitaciones por este sitio…