miércoles, 28 de agosto de 2013

1985

Corrían los años 80, no recuerdo la fecha pero debería andar por el 87 cuando me compre mi primer ordenador que fue un Mac de Apple. En aquella época los PC corrían MS_DOS sin entorno grafico con tarjetas de video CGA de 4 colores. El procesador de textos de entonces era un fondo azul sin ventanas y todo se manejaba a base de comandos. Por supuesto que el Mac se adelanto a su época y era realmente revolucionario, pero esa historia ya la conoce todo el mundo. El Windows 3.0 vendría después. En aquellos años era un defensor de Apple convencido, era como practicar una nueva religión…
Mi Mac por motivos económicos solo tenía disquetera, el disco duro llego después. Todavía lo guardo en un armario. Cuando lo desmontas en la carcasa se ven las firmas de equipo original que lo diseño. En fin buenos recuerdos tengo del Mac, con su pantalla de 9 pulgadas…
Me ha gustado el video que he encontrado en Internet de alguien que se ha construido un emulador de Mac y un Mac a escala más pequeña con una RasPi con una pantalla de solo  3,5 pulgadas.
Aquí os dejo el impresionante video.

jueves, 2 de mayo de 2013

RocRail en Raspi

El otro día navegando por Internet me encontré con un sitio web donde su autor está realizando un excelente trabajo sobre la Raspberry Pi y RocRail. Al igual que JMRI, que es un software de control de trenes por ordenador y centrales digitales de código abierto, Roc Rail es similar pero con algunas diferencias que podéis encontrar en su sitio web.

Los lectores habituales de este blog ya saben que me gustan los proyectos de código abierto y hardware libre, como Arduino y JMRI, siempre que puedo intento enseñar los lugares y personas que forman esa gran comunidad de gente que colabora y comparte sus ideas y proyectos. Aquí he traido uno de esos lugares donde un creador comparte sus conocimientos y expereciencias.

Esta nueva web a la que me refiero, es donde Manolo que es la persona que ha desarrollado el proyecto, ha creado una integración entre la Raspi y RocRail. Raspi corre una versión ligera de Linux y en este linux instalar y configurar RocRail tiene su merito. Más abajo he dejado un video donde se puede ver la conexión de la central digital a la Raspi y el control desde una Ipad desde su página web.
RocRail es un software con un diseño en su arquitectura del tipo cliente/servidor, eso hace que un ordenador tenga el rol de servidor y corra el software de control y este conectado a la central digital y otro pueda hacer de cliente.
Para el control de los trenes tenemos distribuidos los clientes que corren sobre un navegador web y de esta forma podrían encontrarse en cualquier dispositivo, como una tableta, un iphone etc. esto lo hace muy versatil y permita configurarlo en multiples dispositvos.
RocRail puede correr sobre cualquier sistema operativo como Windows, Mac, Linux etc. Me he bajado una copia y lo estoy instalando en Linux. No tengo una gran experiencia en Linux,  para conseguir más experiencia y práctica me he preparado una instalación en un ordenador viejo con Linux.

 La verdad es que me sorprende como Linux aprovecha el hardware y le saca partido sin tener que estar buscando infinidad de drivers para cada cosa. Ahora quiero instalarme RocRail  en Linux y luego conectarlo a la central digital. La idea es conseguir experiencia para cuando lo tenga que instalar en la Raspi.
En el siguiente enlace podemos descargarnos el manual y las librerías necesarias para poder hacer la instalación de Rocrail en la Raspi desde la web de Manolo. Un video con su prueba.

domingo, 7 de abril de 2013

Arduino-Ultrasonidos Robot

He acabado mi primera prueba con el robot R3-D3 que tenía acoplado un sensor de ultrasonidos. Inicialmente era un poco impreciso y no detectaba muy bien las distancias. Las pruebas antes de montarlo las he hecho para que la lectura del sensor de ultrasonidos me la diese por el monitor serie del Arduino. En estas pruebas, he visto que a veces no era muy exacto. Me he puesto a buscar por Internet y he encontrado una página web con una nueva librería para el sensor, la verdad es que la colaboración en Internet y el hardware de código libre es fantástico, cada día me gusta más y me sorprende gratamente. Con esta nueva librería el sensor ha mejorado mucho y podía medir distancias más pequeñas y con mayor precisión.
Inicialmente he montado todo de forma rápida sobre el robot, sin pasar bien los cables ni ser muy cuidadoso, tenía ganas de ver si funcionaba. Pero el objetivo era poder ver que el software de control funcionaba y si es así, ya vendrá después el montaje final. Dejo una foto de cómo estaba el robot para la primera prueba.


En la prueba lo he configurado para que a los 40 cm el sensor mande una señal a los motores de cada lado de forma inversa, lo que produce un giro en el robot y pueda evitar la colisión. El problema es que a veces se queda atrapado y me gustaría añadir lógica en el algoritmo de control para que fuera capaz de detectar que está parado y entonces pueda dar marcha atrás.
Cuando tenga todo el sketch acabado lo publicaré porque es código libre, por si alguien quiere reutilizarlo.
Mi idea es que el robot sea capaz de forma autónoma de moverse, pero también quiero que pueda pasarse a control manual y se pueda dirigir desde una página web, el robot llevara una web cam y el control se podrá hacer viendo las imágenes en la página web. Esa parte es la que tendrá que hacer la Raspi y tendrá que comunicarse con el Arduino.

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.