Mostrando entradas con la etiqueta sensor. Mostrar todas las entradas
Mostrando entradas con la etiqueta sensor. Mostrar todas las entradas

domingo, 1 de septiembre de 2013

[PROYECTO] Wirelearn Robot Shield (WRS)

Tras un verano llevando a la práctica una serie de proyectos, desde Wirelearn te traemos una sucesión de entradas explicando paso a paso y desde cero, el proceso completo para crear tu propio robot seguidor de líneas (line follower) a partir de una placa Arduino UNO.

Sugerencia de presentación, como el atún en lata... XD

En las sucesivas entradas veremos cómo afrontar el planteamiento y diseño de la circuitería, la creación de la misma mediante insolado y revelado casero de PCB (printed circuit boards), algunos tips para soldar los componentes, la programación y flasheado del programa, y la construcción del chasis con materiales asequibles.

Nuestros objetivos principales serán los de la mayoría de los aficionados a la electrónica y la robótica. Los factores que más nos preocupan son entre otros el precio, la complejidad y el tiempo. Pero te adelantamos, que si bien ha sido un proyecto duro para nosotros, no lo será tanto para tí, ya que las dificultades propias de cualquier proyecto de este calibre ya han sido tratadas y resueltas.

Como requisitos previos, es recomendable haber trasteado un poco con Arduino y un poco de electrónica no vendría nada mal. Pero la idea es explicarlo todo al máximo y argumentar adecuadamente cada uno de los pasos, para evitar esa sensación que queda a veces de estar haciendo algo sin tener ni p*ta idea sin comprender al máximo todos los detalles subyacentes.

En breve comenzamos con el diseño del circuito, pero para ir adelantando conocimientos, échale un ojete a nuestra entrada sobre Motores paso a paso (steppers) porque incidiremos en ello más adelante.

Un saludo!

MRGZ.

domingo, 20 de mayo de 2012

Vistazo al proyecto Arduino

Fotografía extraída de la página oficial de arduino

Después de éste largo tiempo fuera del cable, volvemos para hablar de un aparato que lo está petando en el mundillo de la electrónica. Ni mas ni menos que Arduino. Open hardware con denominación italiana. El objetivo de éste maravilloso componente es facilitar en cierto modo el desarollo de aplicaciones electrónicas y digitales. Pero, ¿Como es eso posible? Lean y tomen nota...

Para hacernos una idea un poco pijamera de lo que tenemos entre manos, se trata de una placa con un microcontrolador similar a un PIC (concretamente uno de la casa Amtel Systems Co.), 28 pines hembra cada uno de ellos con su respectiva función impresa en dicha placa, un micropulsador de reset, unos cuantos condensadores, diodos, resistencias y leds (todo SMC), un conector de alimentación, pines para programación en circuito (ICSP), y un conector USB estándar hembra de tipo B. Un buen batido de componentes.

En cuanto a software, en la sección de descargas de la página oficial del proyecto arduino podemos encontrar un paquete que contiene, desde los drivers del aparato, hasta un IDE propio de la casa, bastante minimalista, pero que cumple su función. Todo ello, claro está, pasando por gran cantidad de ejemplos funcionales para diferentes aplicaciones y las librerías necesarias para llevar a cabo vuestros proyectos.

Bueno, todo esto no termina de sonar bien del todo. Seguro que muchos conoceréis más o menos el mundo de los PICs y lo complicado que es realizar un proyecto completo. Arduino nos facilita la vida enormemente, poniendo a nuestra disposición numerosas librerías de alto nivel. Para que os termine de quedar claro, pasaros por aquí y echadle un vistazo al ejemplo de la página oficial. Veréis como transcurridos 5 minutos desde que sacásteis vuestro arduino de su envoltorio tenéis una aplicación funcionando, y lo mejor de todo: ¡Entendéis hasta el último detalle de la misma!

Finalmente debemos comentar un par de cosas derivadas de la experiencia. En primer lugar arduino es uno de los pocos hardwares libres que existen. Es realmente económico, pero podéis compraros una copia china más barata en eBay. No obstante, la diferencia de precio va a ser menospreciable, y en el primer caso estaréis contribuyendo a uno de los proyectos  socio-tecnológicos más interesantes para la comunidad de la que formamos parte.

En segundo lugar, y en una tónica menos profunda, vuestro arduino vendrá sin cable, probablemente un sábado cuando justamente las tiendas estén cerrando por una festividad extraña que aún no se ha inventado. Asique buscad por casa uno de éstos cables o id a vuestra tienda preferida a por uno. És el tipo de USB cuadrado que suelen utilizar las impresoras modernas.

Y ésto es todo por el momento.

Próximamente, megatutorial de conexión arduino-PC mediante USB, e interfacing con mi amado C#. No te lo puedes perder!

Un saludo, MarcosR.


domingo, 30 de octubre de 2011

Introducción a los Microcontroladores PIC


Es el momento de dedicar una entrada a todos aquellos usuarios amantes de la electrónica. He de confesar, que mis conocimientos en éste campo son realmente escasos. Pero no por ello nulos. Con lo cual voy a contaros un par de cosas acerca de Microchip, y unos componentes muy interesantes y de coste reducido que están dando que hablar los últimos años. Los microcontroladoes PIC.

¿Qué demonios es un PIC?

Según este fragmento sacado de la wikipedia española:
Los PIC son una familia de microcontroladores tipo RISC fabricados por Microchip Technology Inc. y derivados del PIC1650, originalmente desarrollado por la división de microelectrónica de General Instrument.
El nombre actual no es un acrónimo. En realidad, el nombre completo es PICmicro, aunque generalmente se utiliza como Peripheral InterfaceController (controlador de interfaz periférico).
Para los seres humanos, en apariencia un PIC es un circuito integrado (objeto rectangular negro, con letras blanquecinas ilegibles y bastantes patas). Hay muchos componentes que responden a esta descripción y no necesariamente tienen que ser ni PIC's ni microcontroladoes. Asique no vayamos a meter la pata cuando veamos cualquier cosa que se le parezca.

Los PIC como se cita ahi arriba, son un producto de la multinacional Microchip. Hay otras casas que fabrican microcontroladores, como Motorola, Atmel, Dallas Semiconductor, Intel, Philips, Siemens, Temic, etc. Sin embargo no tengo ninguna experiencia con otras marcas.

¿Para que sirve un microcontrolador?

La respuesta es sencilla. Sirve para "todo". Un microcontrolador es muy parecido al procesador de tu ordenador. Parte de la arquitectura Harvard. Tiene una unidad de control, una ALU, memoria de código y de datos separadas, un sistema bastante interesante de E/S, etc. Es decir, puede recibir señales de sensores u otros periféricos, y actuar en consecuencia.

Un ejemplo práctico de todo ésto que se hace en prácticas de Tecnología de Computadores se me ocurre ahora mismo es un termostato. Tenemos repartidos por casa unos sensores de temperatura y una caldera calefactora. La idea es que al pasar por debajo de 15ºC, la calefacción comience a calentar la casa. Pero para evitar escenas como la del final del señor de los anillos, también nos interesa que al llegar a 21ºC el sistema se detenga. Ésto es precisamente lo que hizo famosos a los microcontroladores. Con unos conocimientos no muy amplios de electrónica digital y un escaso presupuesto, podemos hacer desde unas luces de navidad, hasta una nevera que nos dispare una cerveza directa al sofá. Bueno, no os voy a engañar. Todos los comienzos son duros, y hay que tener una buena base de electrónica y ensamblador para hacer algo decente.

Como siempre me gusta hacer, os voy a poner un ejemplo de la relacción conocimientos-resultados. Con 16 años, la ley de ohm, y un datasheet del PIC 16F84, (y la siempre incuantificable ayuda de mi padre) me hice un juego de luces al estilo kit, el coche fantástico. No parece gran cosa, pero Albert Einstein tuvo que aprender a sumar antes de ponerse a hablar de la relatividad.

Ahora voy a explicaros un poco (muy poco) como se afronta un proyecto con microcontroladores PIC.

  • Lo primero es pensar bien, qué quieres hacer y qué necesitas. Y hacerte con todo ello. Cables, herramienta para pelar cables, fuente de alimentación estabilizada de mínimo 5 voltios, un PC, un programador compatible con el PIC, un PIC, y recomiendo MUY encarecidamente, una placa como ésta, y los sensores, motores, etc.
  • Lo segundo es obtener un IDE (Integrated Developement Enviroment) como MPLAB. Con éste sowftware escribiréis y suimularéis el programa que va a ejecutar vuestro PIC. Necesitaréis conocimientos de lenguaje ensamblador, y tener el datasheet a mano. En él, además de toda la información electrónica y física del aparato, viene el juego de instrucciones que maneja. En microchip.com podéis descargaros cualquier datasheet de sus productos gratuitamente y sin registro.

Consideraciones:

El programador
Recomiendo PicKit 2 en ebay. Cualquier versión china sirve. Pero tendrá lo bueno y lo malo de ser chino.
Será una copia del original que fabrica microchip, pero mucho más barato. Si dispones de amplio margen presupuestario, cómprate el original. Viene con garantía. Pero no nos precipitemos. Antes de comprar nada, hay muchos términos que debéis conocer. Como por ejemplo, lo que es "debug en circuito". Es algo que explicaré en el futuro.

El proyecto
Comenzad con un proyecto sencillo. Hacer parpadear un led, hacer un juego de luces con varios led, etc.


El PIC
Una vez que tenemos claro lo que queremos hacer, hay que elegir el pic. Para empezar yo utilizaría el PIC 16F84A. Es el que os comente antes. Y para cosas sencillas teneis para una temporada. No lo mencioné porque no quiero alargar mucho el post. Pero veremos que los PIC tienen una memoria Flash que permite reprogramarlos muchas veces con distintos programas. Y el programa es un fichero hexadecimal que podemos guardar en nuestro PC. De manera que el trabajo que hayamos hecho, nos puede servir en el futuro.

La información
La información más técnica y concreta sacadla de microchip.com si vuestro nivel de inglés lo permite. No suelen equivocarse. Sino recurrid a la comunidad en vuestro motor de búsqueda preferido. Hay mucha información y tutoriales.

Para terminar, os comento que hace tiempo que alguien se dió cuenta de lo tedioso que es programar en ensamblador y lo difícil que resulta hacer código reutilizable. Por eso, existe la opción de programar los PIC en lenguaje C. Es una adaptación del C tracidional. Pero los que tengáis conocimientos de C, no encontraréis problema alguno. Lo malo es que el compilador CCS es de pago, y muy caro.

Creo que para introducirnos en el mundo, por hoy es suficiente.

Un saludo.

MarcosR.