martes, 2 de abril de 2013

Shield de Adafruit

Me acaba de llegar una shield de Adafruit para conectar los pines GPIO (General Purpose Input Output) de la Raspberry PI al mundo exterior. Además en la tienda habitual donde compro, me han cambiado un display Oled que tenia defectuoso. Lo he cambiado por uno mas grande TFT con touchscreen porque el anterior era muy pequeño y me gusta la opción de touchscreen. Ya tengo algunas ideas en mente para poder empezar a hacer algunos nuevos circuitos.
Los componentes de la shield son la placa PCB de fibra que ya viene totalmente preparada para insertar componentes y conectores. En el texto que aparecía en la tienda hablaba de que en 15 minutos puedes soldar todos los componentes y que soldar es muy fácil. Estoy de acuerdo, pero en mi caso he necesitado un poco más de tiempo. Con la emoción de la llegada, no he mirado ninguna foto, ni ningún esquema, he puesto todos los componentes sobre la mesa y he agarrado el soldador, y upss manos a la obra. He comenzado por el primer conector, el mas grande justamente el que conecta con el bus GPIO. Cuando he acabado de soldar todos los pines he mirado una foto y me he dado cuenta de que estaba colocado al revés. Inicialmente he pensado en tirar la placa, porque no tengo desoldador, pero he pensado que podría conseguir quitar de nuevo el conector.
Tengo algo parecido a un desoldador, es del tipo que se arma un muelle y presionado un botón hace una succión inmediata. Es bastante ortopédico porque hay que calentar el estaño y justo en el momento en que funde, se le aplica el desoldador para succionar el estaño. Con paciencia todo se puede y dos horas después y con la ayuda de tira de desoldar he conseguido quitar todo el estaño y voila!!! Conector libre.
Lo he montado todo de nuevo pero mirando bien las fotos para no volver a cometer errores y finalmente lo he conseguido. 
Ahora me estoy peleando en lado Arduino para montarlo todo y tenerlo preparado para comunicar vía serie el Arduino y la Raspi. Pero hablaremos en el próximo post cuando lo tenga preparado.




viernes, 1 de marzo de 2013

Raspberry Pi


Me he comprado un nuevo juguete tecnológico, como buen “geek” que soy. El nuevo “cacharro” se llama Raspberry Pi, y es un pequeño ordenador del tamaño de una tarjeta de crédito. Lo verdaderamente bueno, no solo es que es pequeño sino que es su bajo coste, no me ha costado más de 35 Euros.
La Raspberry Pi ha sido desarrollada por una fundación en el Reino Unido, inicialmente para servir en las escuelas como un medio de enseñanza en las ciencias de la computación. Para que los alumnos de primaria puedan aprender Linux y  programación en un ordenador de bajo coste. Este fue el elemento crítico en el diseño, y ha sido el bajo coste lo que ha hecho retrasar el proyecto tanto tiempo hasta encontrar los componentes adecuados para obtener el requerimiento de un ordenador muy barato y que siga teniendo unas características adecuadas.
 Actualmente se está produciendo un efecto parecido al que ocurrió con el Arduino en sus inicios, esta nueva tarjeta se está popularizando muy deprisa, gracias a internet y estan saliendo de las aulas para formar parte de innumerables proyectos, que puedes encontrar en la red. En los foros y blogs de forma abreviada la gente la llama Raspi.
 ¿Que se puede hacer con una Raspi?...Pues prácticamente todo lo que a nuestra imaginación se le ocurra. Desde un servidor web, un media center para reproducir películas en HD, pasando por una cafetera controlada, etc. En este enlace se muestran algunas ideas de cómo se puede usar la Raspi.
Indagando por internet para saber que había en el diseño, cuáles eran los elementos que formaban este pequeño ordenador. He visto que la respuesta está en el corazón de la placa. En la Raspi hay un chip central SoC (System-on-a-Chip) Broadcom BCM2835 que contiene la CPU, la RAM de 512 MB, en esta nueva versión en la original solo 256 MB, y una GPU, esto es, un procesador especializado en video que te  permite decodificar video en alta definición a 1080 p. La CPU una ARM corre a 700 MHz, pero se le puede hacer overclock hasta 1Ghz sin perder la garantía.
La Raspberry Pi no es un competidor de Arduino, en algunos blogs y foros, la gente hablaban y daban a entender en la idea de que aparece una nueva placa para competir en el terreno de Arduino, aunque en realidad no es así, porque ambas placas se complementan. Tener un  ordenador con Linux que puedes conectar a tu Arduino hace que aumente la potencia y la versatilidad de Arduino de forma significativa, abordando proyectos que solo con Arduino sería muy difícil. Además Raspi tiene una serie de pines para comunicarse con el mundo exterior, llamados GPIO (General Purpose Input/Output).
Estos pines del GPIO utilizan niveles de voltaje de 3.3 Volt, que es lógica CMOS y no es tolerante a 5 volt, que son niveles de lógica TTL, esto es porque no existe ningún circuito de protección de sobre-voltaje. De hecho el GPIO esta conectado directamente con los pines de la CPU y hay que tener cuidado en la manipulación de estos pines, porque podríamos dañar la Raspi de forma permanente.
Como  Arduino utiliza niveles de lógica TTL de 5 voltios en sus pines de salida, al manipular GPIO puedes dañar la Raspi si conectas directamente ambos dispositivos. Ya existen chips que adaptan estos niveles para permitir la interconexión convirtiendo el voltaje en las lógicas adecuadas en ambos extremos.
El Sistema Operativo Linux se carga sobre una tarjeta de memoria SD Card, igual a la que usan muchas cámaras fotográficas. Yo he usado una SD card de mi cámara. Recomiendan 4 GB pero la mía es de 8 GB. Aquí puedes colocar el sistema operativo y las aplicaciones que vayas descargando y instalado. El resto de interfaces y conectores son un par de puertos USB, estos puertos no tiene demasiada corriente para conectar muchos periféricos, por lo que es recomendable usar un hub USB alimentado para suministrar la corriente adicional. Hay un puerto Ethernet para conectarlo a la red LAN y una salida de audio y video RCA, por último la salida HDMI, que en mi caso como mi monitor tiene HDMI evitó que comprará un adaptador VGA.

Pongo una foto para observarla mejor.




Es bastante fácil y rápido adquirir una placa nueva. Antes, quizás hace 1 año, tenías que esperar hasta 3 meses para obtener tu Raspi, dada la fuerte demanda con el inicial bajo nivel de fabricación. Ahora rápidamente la puedes conseguir. Hace poco leí una noticia de que ya habían llegado al millón de unidades vendidas, aunque solamente existen un par de distribuidores en el Reino Unido, país donde la fabrican.
 Yo hice el pedido a los chicos de Farnell y en una semana ya la tenía en casa. Inicialmente la pedí solo con la caja transparente y ningún accesorio adicional, porque ya tenía una SD Card de mi cámara fotográfica de 8 GB y tampoco compre el adaptador de VGA, incluso ya tenía un cable HDMI. No pedí tampoco el pequeño transformador de alimentación, y tuve que comprar uno rápidamente que me costó 17 euros casi la mitad del precio de la Raspi, pero tenía ganas de probarla y no podía esperar a comprar uno más barato por internet.
¿Que voy a hacer con mi Raspi?Mi idea es emplearla en el robot R3D3, primero colocándole una Web-Cam que tengo por casa y no utilizo mucho, para darle ojos a mi robot y poder conducirlo a distancia desde un navegador web.
He comenzado configurando el overclock, y ahora la tengo funcionando a 1Ghz, voy controlando la temperatura del chip central, y de momento responde bien. También para llegar vía comandos a Linux y no tener que tener un monitor conectado, he activado la conexión SSH y por ultimo para poder usar el entorno grafico, he configurado el TightVNCServer para el control remoto y dejar mi monitor en mí PC.

viernes, 22 de febrero de 2013

R3D3

El famoso robot cabezudo de la guerra de las galaxias R2D2 que emitía silbidos y sonidos electrónicos para comunicarse. En memoria a aquellos felices años de juventud, viendo las famosas películas de Lucas, he pensado en bautizar a mi pequeño robot como R3D3.
Estos días he conseguido un poco de tiempo y he empezado a ensamblar la parte de abajo donde se alojan los motores y donde pondré las placas de control, además estoy dándole vueltas a ver como pongo la batería. Es una batería de 12 V y 1,2Ah de plomo, no suministra demasiada corriente para su tamaño, pero la compre aquí, y no era demasiado cara. El problema es que es demasiado grande y no sé exactamente como colocarla. Los motores y todos los componentes son chinos, los compre en una web y tardaron casi un mes en llegar. Además el envío lo fraccionaron en varias partes, exactamente en tres partes y luego fueron enviado cada una por separado. Todavía me falta una parte que incluye un par de elementos para enviar las señales serial por radiofrecuencia.
Cada vez que les envío un correo electrónico me dicen que espere una semana más que acabara llegando. Los precios son buenos, pero no hay ningún tipo de información en los componentes que compras y existe la posibilidad de que no llegue todo. Bien es mi primera experiencia comprando pero me lo voy a pensar si tengo que volver a hacerlo.
En esta foto se pueden ver los cuatro motores ensamblados, uno por cada rueda. Como no estaban acompañados de documentación, no sé exactamente cuál es la tensión y el consumo. He encontrado otras webs donde se venden y ahí se ponen información sobre su voltaje de funcionamiento. Bueno tendré que hacer pruebas.



viernes, 8 de febrero de 2013

Yo Robot


La entrada la he titulado igual que Yo, robot, de Isaac Asimov, un volumen publicado en 1950 y que trataba de robots con sus famosas 3 leyes para todos los robots.
Esto es porque ahora estoy trabajando en un robot controlado por Arduino y algunos elementos más que iré posteando a lo largo de las próximas semanas.
Este verano pasado estuve trabajando con el display y Arduino. Inicialmente hice las pruebas con un display de 7 segmentos que se comunicaba vía serie y conseguí mostrar los números y hacer un contador. Luego pase a la fase de comunicación con el teclado a través del bus I2C. También lo conseguí pero aprendí mucho cuando intente añadir al bus un nuevo dispositivo. Aquí era importante tener en cuenta las resistencias internas que tiene Arduino y que se colocan al final del bus, para que la señal no rebote y produzca fallos y en la información transmitida que viaja por el bus. En internet encontré un interesante artículo que habla sobre este tema, y que en la entrada futura pondré cuando escriba sobre este tema en particular.
En las pruebas el display de 7 segmentos se daño y entonces cambie hacia el display Oled, al fin y al cabo este es el display que finalmente quería colocar. Las pruebas avanzaban bien pero también acabo dañándose el display Oled. Algunas líneas no se dibujaban bien. Entonces hable con la tienda online donde hacía más de un año que lo compré y realmente me trataron muy bien y me abonaron el precio que pague en su día por el display. El abono quizás lo emplee para comprarme otro display, aunque ahora me lo estoy pensando.
Ahora me he comprado un robot, bueno las piezas para construirme un robot, y en próximas entradas publicaré fotos y algunos vídeos. Realmente no tiene nada que ver con el modelismos ferroviario, pero para mí es divertido y los conocimientos que pueda adquirir posiblemente me sirvan luego para aplicar en los trenes.Hasta la próxima entrada, que espero sea pronto.

viernes, 29 de junio de 2012

Puente giratorio con motor

Como explicaba en mi anterior post cada vez me gusta más la idea de la estación automatizada y me gustaría poder construirla en un futuro no muy lejano. Pero antes quiero terminar una entrada que hice hace tiempo sobre una rotonda de Peco con un motor paso a paso. Esta entrada la deje un tiempo en el congelador, por falta del puente de Peco. Días atras me llego el puente que esta vez lo he comprado en una tienda online española, un poco mas caro que hacerlo fuera pero me parecía mas fiable comprarlo aquí. Está fue mi primera toma de contacto con un motor PaP, con la que aprendí algunas cosas entonces. Ahora ya puedo dar el siguiente paso y de esta forma la experiencia adquirida me servirá para poder luego afrontar el reto de construir la estación oculta con varios motores PaP y con algunos automatismos más. Estos saldran en las pruebas o aparecera la necesidad de crearlos.


En mi anterior entrada usaba el integrado L293D y ahora lo he cambiado por el SN754410N. Este nuevo integrado me ofrece un poco mas de corriente de salida y el precio es muy similar al anterior y es igual a nivel funcional.
Además de esos cambios he introducido algunos más. Esta vez quiero hacer algo más sofisticado para poder después aplicarlo en la estación oculta. Primero quiero aprender a escribir datos en una memoria EEPROM externa, este tipo de memoria se puede borrar electricamente y de esta forma permite guardar los datos escritos, borrarlos y volver a escribirlos.
Esta memoria se conecta al bus I2C, al igual que el otro integrado el PCF8574P que es un integrado de que expande las E/S de Arduino y es de 8 bits. Este integrado que realiza una expansión de lineas E/S ya lo estuve usando anteriormente para poder realizar el nuevo multi I/O. Este esta basado en Arduino y tiene más ventajas que el antiguo basado en un PIC, pero ya hablaremos de esa parte en otro post.
Todos estos integrados se conectan como he dicho al bus I2C. Me interesa mucho aprender a usar este bus porque le veo multitud de aplicaciones y los chips que lo implementan son muy asequibles Pero quiero aprender antes de explicar mejor algunas de las partes de su funcionamiento y para hacer eso lo mejor es probar pequeños circuitos de Test.
El 8574 lo voy a usar para conectar un teclado Sparkfun al nuevo puente giratorio. La idea es introducir los datos de movimiento a través del teclado, y de esta forma el motor paso a paso alcanzará la posición introducida por el teclado, y el puente giratorio se posicionará en el punto exacto introducido y en este punto exacto es el que sera almacenado en la memoria EEPROM.
Otro nuevo componente y con el que últimamente estoy haciendo algunas pruebas es con el display Oled, estos son los nuevos displays que usan la tecnología llamada Organic Led. Son baratos y existen librerías escritas en Internet para poder comenzar a realizar pequeñas aplicaciones. En mi caso lo voy a usar para mostrar información relativa a la posición del puente, su sentido de giro y alguna cosa más que se me ocurra y pueda surgir e las pruebas.
Este display se comunica por un par de salidas en el Arduino y lo hacen vía serie. Inicialmente quiero construir y probar cada bloque funcional y cuando tenga aprendido cada uno de estos bloques y conozca su manejo y la forma de usarlos entonces comenzaré la ultima fase que será implantar todas las partes en una sola. Este es la idea en lineas generales y he querido explicarlo de una forma resumida para no aburrir al lector con demasiados detalles técnicos. Como una imagen vale más que mil palabras en la siguiente imagen se puede observar todos los componentes explicados y que van a ser usados en el nuevo montaje.



El primer bloque funcional con el que voy a comenzar, es con la memoria EEPROM, el teclado, y una matriz de doce leds. La idea es crear una pequeña aplicación que encienda un led de una determinada posición de la matriz de leds y que luego esa misma posición se pueda almacenar en la memoria. De esta forma cuando se reinicie de nuevo el sistema se vuelva a encender la posición del led almacenado en memoria. En la zona de descarga dentro del blog, he puesto información detallada de cada componente usado...Bien esa es la teoría ahora pasamos a ponerlo en practica sobre la protoboard.