Videos de mi ponencia en la UNEX

Con más de un año de retraso, pero por fin me animo a colgar los videos de mi ponencia en el Curso Internacional de Verano de la Universidad de Extremadura (UNEX) que impartí en Almendralejo en verano de 2009.

El curso en cuestión estaba orientado a la creación de videojuegos y la ponencia que impartí, titulada “Desarrollo, programación y herramientas para videoconsolas libres” se centraba en videoconsolas libres como las de Game Park Holdings.

Debido a su duración (una hora y media aproximadamente) la grabación está partida en dos partes, ambas visionables a 720p.

Desarrollo, programación y herramientas para videoconsolas libres 1/2 from GEA on Vimeo.

Desarrollo, programación y herramientas para videoconsolas libres 2/2 from GEA on Vimeo.

Muchas gracias a los organizadores por grabarlo y compartirlo libremente.


Warning: Creating default object from empty value in /homepages/41/d280306396/htdocs/wp-includes/comment-template.php on line 815

Warning: Creating default object from empty value in /homepages/41/d280306396/htdocs/wp-includes/comment-template.php on line 815

Warning: Creating default object from empty value in /homepages/41/d280306396/htdocs/wp-includes/comment-template.php on line 815

Warning: Creating default object from empty value in /homepages/41/d280306396/htdocs/wp-includes/comment-template.php on line 815

Warning: Creating default object from empty value in /homepages/41/d280306396/htdocs/wp-includes/comment-template.php on line 815

Propósitos cumplidos y otros nuevos

Con este año que termina ya sí podemos decir que ha acabado la década, creo que es momento de revisar los propósitos que me propuse el año pasado para ver qué he conseguido cumplir y proponerme unos nuevos para éste…
  • Actualizar con frecuencia este blog: empecé bien el año, pero pronto caí en la desidia… En total 14 entradas, una cada 26 días… un número muy inferior a lo deseado, así que objetivo no cumplido.
  • Remozar y actualizar mi web: como me propuse, he fusionado la web con el blog, cambiando a la vez el diseño por uno más actual. Si bien hay cosas que mejorar (y debería comenzar con traducir mis proyectos) estoy bastante contento con el resultado, así que objetivo cumplido.
  • Desarrollar para la Wiz: aquí lo más destacable sería la creación de WS4ALL, mi emulador de WonderSwan, con el que obtuve el cuarto puesto en el concurso de programación organizado por GP32Spain, llevándome de premio un fantástico lote compuesto por la GP2X Wiz y un conjunto de accesorios y juegos. Me gustaría haber sacado algo más de tiempo para pulir el port de mi AlexKidd4ALL, pero bastantes horas le dediqué ya al WS4ALL, así que objetivo cumplido.
  • Desarrollar para el iPhone: lamentablemente caducó mi suscripción anual y no llegué a publicar nada en la tienda de iTunes… Para otra vez ya sé que casi mejor acabo primero la aplicación y luego pago la suscripción… objetivo no cumplido.
  • Ampliar mis conocimientos en electrónica: a primeros de año lo retomé con más fuerza, aunque luego se fue diluyendo, pero al menos me valió para crear algunos diseños. Creo que podría considerarse un objetivo cumplido.
  • Retomar mi pasión por la microbótica: aquí hice como en el punto anterior varias pruebas y diseños teóricos, aunque no llegué a construir nada físico… vamos a dejarlo como un objetivo cumplido en parte.
  • Seguir contribuyendo en LyricWiki: empecé el año pasado con algo menos de 900 ediciones y lo he acabado con 1416. Parece que he bajado el ritmo, pero hay que tener en cuenta que cada vez cuesta más encontrar errores o algo que corregir en una biblioteca musical (la mia) que aumenta poquito a poco. Por tanto lo considero un objetivo cumplido.
  • Acabarme mis juegos pendientes de la Xbox 360: buff, aquí sí que he podido avanzar más bien poco… La mitad del año pasado mi tiempo libre se redujo casi a cero, así que me limité a comprar juegos de oferta, pero apenas a jugarlos porque había cosas más importantes que hacer… objetivo no cumplido.
  • Terminar mi máquina recreativa: la pobre sigue como la dejé… objetivo no cumplido.
  • Terminar mi maqueta del U.S.S. Enterprise: lo mismo que con la recreativa, no he vuelto a tocarla. Lo bueno es que ahora tengo una casa donde podría encontrarle un hueco chulo, así que habrá que replantearse el volver a ponerse con ella… objetivo no cumplido.
  • Crear un blog colaborativo geek: definitivamente esto ha sido un fracaso. Si no he podido actualizar este blog como para meterme con otro… lo malo es que encima vista la imposibilidad de llevarlo adelante se me pasó no renovar el hosting, así que ahí lo tengo, pagado por otro año para nada… objetivo no cumplido.
Resumiendo, he cumplido con 5 de 11 propósitos, algo menos de la mitad, pero tampoco está nada mal para todo lo que me había propuesto. En mi disculpa debo decir que desde mayo o así que empecé a buscar un piso, su posterior proceso de compra, la obra pertinente, amueblado, etc. mi tiempo libre se ha reducido casi al 0%. Afortunadamente la cosa ha ido saliendo bien y espero poder disfrutar de esta inversión inicial con un año más calmadito, así que voy a enumerar mis nuevos propósitos para este nuevo año 2011:
  • Actualizar este blog: este año voy a proponerme un número, digamos 50 entradas, lo que me obligaría a seguir un ritmo de una entrada semanal aproximadamente…
  • Traducir los contenidos: al menos los relativos a proyectos completados deberían tener su contenido traducido al inglés.
  • Sacar adelante algún proyecto software: esta vez voy a ser más genérico, tengo que contribuir al mundo software con alguna aplicación para GP2X Wiz, GP2X Caanoo (si me la llego a comprar), iOS, Android (ahora que tengo mi Geeksphone) o PC.
  • Construir algún nuevo microbot: podría aprovechar los próximos campeonatos para forzarme una fecha límite de entrega.
  • Contribuir a LyricWiki: es un proyecto muy interesante, así que vista mi progresión espero lograr unas 300-400 ediciones.
  • Acabar mi maqueta del U.S.S. Enterprise: a ver si para el verano tengo montado mi “despacho” en mi nuevo pisito y aprovecho esos días más calmados para encontrar ganas de ponerme a pintarlo.
  • Terminar de acondicionar mi piso e independizarme: desde su compra (allá por julio) me marqué como fecha clave este verano, todavía hay bastante que amueblar, comprar y “reparar”, así que no será tan fácil como parece.
  • Apuntarme a las partidas roleras semanales de mis amigos: es algo que me apetece, pero siempre tengo cosas que hacer que me lo imposibilitan o llego tan quemado del curro que no tengo ganas… Quizá llevándolo a un extremo como ofrecer mi nuevo piso para las mismas sea una forma de obligarme…
Menos propósitos que el año pasado, a ver si así soy capaz de cumplirlos todos, de aquí a un año lo veremos :)

Sigo vivo y nuevo programa en proyecto

Pues sí, a pesar de mi inactividad prácticamente total en la web y foros habituales sigo por aquí.

El motivo de esta “desconexión” fue la búsqueda y posterior compra de mi pisito (allá por mayo-julio) y la obra de reparación y mejora que entre mi padre y yo estamos haciendo en él en mis pocos ratos libres desde entonces.

Las tareas más importantes ya están casi terminadas, así que ahora que voy sacando algo más de tiempo libre supongo que podré dedicarlo a mis hobbies.

Respecto a esto último, estoy trabajando a ratitos en un nuevo programa para PC. Lo que pretendo es crear una alternativa a Get Lyrical (del que soy el traductor al castellano y ya os hablé en su día), es decir, un programa que a partir de unas canciones en MP3 busque las letras de éstas (en LyricWiki), se las descargue y las inserte en el tag ID3 de estos ficheros.

No sé si ya existe algún programa que lo haga, pero por más que he buscado solo he encontrado el mencionado Get Lyrical, que si bien es una maravilla, tiene el inconveniente de depender de iTunes y MacOSX.

El mio como es lógico se ejecutará en PC, en principio con versión para Windows y Linux, ya os iré informando del progreso del mismo.

Por cierto, tengo que pensar en un nombre para el mismo… ¿alguna sugerencia?


Warning: Creating default object from empty value in /homepages/41/d280306396/htdocs/wp-includes/comment-template.php on line 815

Warning: Creating default object from empty value in /homepages/41/d280306396/htdocs/wp-includes/comment-template.php on line 815

Warning: Creating default object from empty value in /homepages/41/d280306396/htdocs/wp-includes/comment-template.php on line 815

Warning: Creating default object from empty value in /homepages/41/d280306396/htdocs/wp-includes/comment-template.php on line 815

Warning: Creating default object from empty value in /homepages/41/d280306396/htdocs/wp-includes/comment-template.php on line 815

Warning: Creating default object from empty value in /homepages/41/d280306396/htdocs/wp-includes/comment-template.php on line 815

Warning: Creating default object from empty value in /homepages/41/d280306396/htdocs/wp-includes/comment-template.php on line 815

Warning: Creating default object from empty value in /homepages/41/d280306396/htdocs/wp-includes/comment-template.php on line 815

Warning: Creating default object from empty value in /homepages/41/d280306396/htdocs/wp-includes/comment-template.php on line 815

Introducción al Bus Pirate

Hace unos meses me llegó mi Bus Pirate, pero si bien he estado trasteando con él, hasta ahora no he tenido tiempo para dedicarle unas líneas.

El Bus Pirate es un versátil dispositivo  adquirible a través de Seeed Studio Depot capaz de realizar múltiples funciones como comunicarse con varios protocolos, programar chips… Concretamente desde su página web anuncian las siguientes funcionalidades (y muchas más que se van añadiendo poco a poco):

- Permite comunicar el PC con protocolos:
   * 1-Wire.
   * I²C.
   * SPI.
   * JTAG.
   * Asynchronous serial.
   * MIDI.
   * PC keyboard.
   * HD44780 LCD.
- Medir tensiones de forma analógica de 0 a 6 voltios.
- Medir frecuencias de 1 Hz a 40 Mhz.
- Generar frecuencias moduladas por ancho de pulso de 1 Khz a 4 Mhz.
- Sirve de sniffer de tráfico en buses SPI e I²C.
- Adaptador transparente de USB a puerto serie (niveles de hasta 5 voltios).
- Analizador lógico de 10 Hz a 1 Mhz compatible con el software SUMP.
- Programar microcontroladores AVR.

Bus Pirate 1/2

Es un desarrollo de hardware abierto, por lo que a semejanza de los programas de código abierto tiene disponible todos los diseños de su placa de circuito integrado en su sitio web, de forma que cualquiera pueda construírselo.

En mi caso preferí comprarlo, pues el precio (unos 25 euros, añadiéndole una caja protectora y cables, envío incluído) me parece ciertamente muy asequible para todo el uso que se le puede dar.

Mi primera impresión fue que era mucho más pequeño de lo que pensaba, con un aspecto ciertamente bueno (las PCBs rojas, negras o azules me encantan) y una disposición muy correcta de los componentes. La cajita se adapta perfectamente sirviendo de protección ante golpes y caídas y las sondas acaban en una especie de ganchos con los que sujetarlas firmemente en pines de circuitos.

Bus Pirate 2/2

De momento no he explorado todas sus capacidades, pero sí puedo asegurar experimentalmente que funciona perfectamente como puente serie-USB o para comunicarse con dispositivos I²C, en futuras entradas explicaré estos casos con más detalle que me han servido por ejemplo para acceder y reflashear una Fonera.

Resumiendo, una compra prácticamente obligada para cualquier aficionado a la electrónica o microbótica.


Warning: Creating default object from empty value in /homepages/41/d280306396/htdocs/wp-includes/comment-template.php on line 815

Warning: Creating default object from empty value in /homepages/41/d280306396/htdocs/wp-includes/comment-template.php on line 815

Warning: Creating default object from empty value in /homepages/41/d280306396/htdocs/wp-includes/comment-template.php on line 815

Warning: Creating default object from empty value in /homepages/41/d280306396/htdocs/wp-includes/comment-template.php on line 815

Warning: Creating default object from empty value in /homepages/41/d280306396/htdocs/wp-includes/comment-template.php on line 815

Construyendo una fuente de laboratorio casera

Muchas veces nos resulta necesario o al menos útil tener una fuente de alimentación para probar algún gadget, alimentar un circuito o hacer cualquier otra prueba. Las fuentes de laboratorio son ciertamente buenas, fiables y lo más adecuado para estos casos, pero también muy caras.

Desde hace siete u ocho años llevo usando una fuente de alimentación AT de un 386 viejo para estos menesteres, sin embargo creo que ya ha llegado la hora de “jubilarla” y optar a algo menos “cutre” que esta vieja fuente con los cables colgando y el peligro que para su integridad conlleva el tener dos gatas por casa a las que les encanta morder cualquier cable o cordón…

Como estoy en proceso de “reciclaje” (extraer lo que valga y tirar el resto) de todos los equipos viejos que tenía guardados en el trastero por si alguna vez me eran útiles, voy a aprovechar una fuente ATX para modificarla mínimamente de modo que me sirva como fuente de laboratorio y relatar el proceso por si alguien quiere hacer algo similar.

Primeramente, multímetro en mano, medí las tensiones de salida de cada una de las cuatro fuentes de alimentación que tenía disponibles. La más potente de todas las fuentes, que a priori era la elegida para servir de base, fue descartada por sacar 5,5v en el canal de 5v y 10 en el de 12v. Del resto, sorprendentemente la más potente era la que mejores resultados obtenía, con 5 y 11,9 voltios respectivamente, unas medidas casi perfectas.

Le sometí a algo de trabajo con unos motores haciendo una carga de un par de amperios y las medidas seguían constantes, así que esta fuente fue la elegida para el proceso.

Pese a ser de “solo” 200 watios, proporciona unas intensidades de corriente bastante interesantes, concretamente 22A en la línea de 5v, 10A en la de 12v y 14A en la de 3,3v, más que suficiente para unas necesidades medias-básicas.

Caracteristicas fuente

Lo primero que debemos ver es si la fuente funciona sin cargas. Muchas de estas fuentes conmutadas necesitan de una carga para mantenerse en funcionamiento o se apagan, en cuyo caso habría que incorporarles una carga constante (una resistencia de 10w por ejemplo) para evitar esto.

Para comprobar si enciende y se mantiene encendida hay que puentear el cable verde del conector que va a la placa base con uno cualquiera de los cables negros. En mi caso es una fuente de un equipo Dell que tiene un cableado diferente (e incompatible con otras placas), así que en un caso como éste habría que puentear el cable gris con uno negro.

Encendiendo fuente

Una vez visto que enciende y no se apaga por falta de una carga se pueden soldar estos cables para que esté siempre encendida y usar el interruptor trasero para encenderla y apagarla o, en casos como el mio que no lleva este interruptor, soldar un nuevo interruptor entre estos cables para controlar el encendido.

Estos son los componentes que voy a usar:
- Interruptor de palanca para el encendido.
- LED y portaled para mostrar si está encendida.
- 5 Conectores de 4 mm para las salidas.
- Terminales en O y/o U para conectar los cables internos a los conectores.

Componentes fuente ATX

Antes de nada abrimos la fuente para ver (y ya que estamos limpiar) el interior. De este modo veremos y anotaremos donde hay “hueco” para colocar los conectores de salida.

Es muy importante tener cuidado de no tocar ningún contacto del interior, los condensadores pueden tener almacenados miles de voltios y hay riesgo de muerte en caso de que no estén descargados. Por este motivo, aunque suelen incorporar resistencias para descargarlos, lo mejor antes de hacer nada es haber dejado la fuente desconectada durante un día o dos. Aun así, también sería conveniente usar una resistencia para descargar la carga que pudiera quedar en los condensadores o, como solución más “bruta”, puentear los terminales de éstos con un destornillador.

Una vez marcados los puntos donde insertaremos los conectores procederemos a hacer los agujeros pertienentes con un taladro y colocaremos los conectores y el portaled.

Fuente mecanizada

Ahora que ya tenemos todo el mecanizado hecho habrá que ponerse con la parte eléctrica.

Seleccionamos los cables que necesitaremos para cada elemento y desoldamos (o cortamos) los que no nos sirvan. En mi caso necesitaré un cable de 5v (rojo) y otro de Gnd (negro) para el LED y 5 grupos de cables: uno para 12v, otro para 5v, otro para 3,3v (azul) y dos más que harán de Gnd común para cualquiera de ellos.

Un consejo, si veis que hay algún conector con dos cables diferentes juntos no cortéis uno de ellos. En mi caso había un cable en la línea de 3,3v que corté alegremente pensando que al estar unido a uno de éstos tendría la misma tensión. Pues craso error, luego la fuente encendía y se apagaba al momento, descubrir que fue por esto me llevó un par de horas desmontando de nuevo los cables y buscando cortocircuitos…

Según el Handbook of Electronic Tables and Formulas for American Wire Gauge (http://www.powerstream.com/Wire_Size.htm) con un cable de 3,2 mm de diámetro sería suficiente para transmitir hasta 24A de corriente (muy aproximado al máximo que da esta fuente). Para dar margen de sobra y evitar problemas usaré tres cables de alimentación para cada conector.

Se cortan a la medida apropiada, se les suelda un terminal y se protege con funda termoretráctil o directamente se sueldan a los conectores.

Detalle de conector

Con esto ya tendríamos nuestra fuente modificada, solo quedaría volver a ponerle la tapa y probar que funciona correctamente como esperábamos.

Fuente acabada

Warning: Creating default object from empty value in /homepages/41/d280306396/htdocs/wp-includes/comment-template.php on line 815

Mis últimas adquisiciones para microbótica

En estos últimos meses he ampliado mi “mini taller” de electrónica y robótica con algunos dispositivos que he construido, comprado o me han regalado, así que los muestro por si alguien está interesado.

Proyectos hardware

PICKit 2 Clone Reloaded
Hasta el mes pasado he estado usando un programador de microcontroladores PIC de Microchip de tipo TE-20. Éste es un programador muy sencillo pero a la vez versátil, permitiendo programar una gran gama de microcontroladores y me ha servido para programar desde controladores para robots hasta chips para ejecutar código no firmado en mi Nintendo Wii.

El principal problema de los programadores de este tipo es que funcionan a través del puerto serie, un puerto cada vez más próximo a la desaparición total en los ordenadores de sobremesa y ya inexistente en los portátiles. De todos mis ordenadores solo uno tiene este puerto (y la placa base que le acabo de comprar ya lo trae interno) y muchos conversores serie-USB no funcionan bien con este programador, así que me planteé el sustituirlo por uno USB.

Tras unas cuantas búsquedas encontré un clon del PICKit 2 (un programador comercial de la propia casa Microchip), funcionalmente igual, compatible con el software de éste y con el diseño simplificado por su autor.

Este programador no solo soporta programar los microcontroladores a través del puerto USB, sino que tiene otras funcionalidades como depurador o analizador lógico que unido al soporte software del propio fabricante lo convierte en una magnífica opción.

Lo construí usando el fotolito del blog del creador mediante el método de transferencia de tóner (también conocido como el “método de la plancha”), si alguien está interesado en que haga una próxima entrada con un tutorial de este método que lo haga saber.

PICKit 2

Dejo aquí un enlace a los archivos originales alojados en mi servidor para que sirva de “backup” en caso de que desapareciera el blog original.

Insoladora LEDs Ultravioleta
Si bien con el método de transferencia de tóner se obtienen resultados bastante aceptables, es un método bastante laborioso, implica andar con la plancha y la resolución obtenida no es la más indicada con las pistas más finas. Además es difícil que la transferencia de tóner sea perfecta, así que hace falta retocar las placas resultantes para corregir los errores antes del atacado.

Por este motivo al ver la insoladora de LEDs ultravioleta de RaDiKalDeSIG se me hizo la luz.

Me puse manos a la obra para hacerme mi propio modelo, compré la caja con las medidas más apropiadas de todas las que encontré en las “tiendas de chinos” (aunque reconozco que el color es algo vergonzoso, pero no la había en otro diferente…), diseñé la placa basándome en la de RaDiKalDeSIG (aunque adaptada a mis medidas y el conector que compré para el transformador de un viejo escáner) y le monté unos LEDs de 7000 mcd que compré por eBay.

Insoladora 1

El resultado físico ha sido bastante bueno, aunque todavía tengo que perfeccionar el método de insolado/revelado/atacado, pues todavía no he conseguido hacer una placa perfecta, pero eso supongo que será cuestión de tiempo.

Insoladora 2

Insoladora 3

Si alguien quiere el archivo con el diseño de la placa (para Eagle) que lo diga y lo subo, pues tengo que retocarla para corregir un error de diseño que encontré y añadirle un plano de masa (en su momento no encontré como separarlo una distancia determinada de las pistas y no lo incluí por miedo a no conseguir un buen atacado).

Últimas adquisiciones

Armario para componentes
Harto de tener todos mis componentes sobrantes en una caja “medio revueltos” aproveché una visita a Leroy Merlin para comprar este armario. La estructura es metálica y los cajoncitos de plástico, pero por los 11 euros que me costó creo que está bastante bien.

Supongo que originalmente está pensado para meter tornillos, tuercas y demás cosas de bricolage, pero para mis necesidades de guardar resistencias, condensadores, integrados, etc. viene perfecto.

Cajoncitos

Sé que guardar todos los integrados directamente en el cajón es un poco peligroso por temas de estática, pero ya tengo demasiados y con las esponjas conductoras o los tubos de plástico antiestático necesitaría el triple de cajones para guardarlos (aparte de que si en las propias tiendas como Telkron los tienen también guardados en cajones, aunque más grandes, no les voy a hacer más daño.

Meccano
Los Meccano son una herramienta muy buena para construir prototipos robóticos rápidos, pues es sencillo de hacer y se consiguen resultados muy robustos y no demasiado pesados.

En este caso me regalaron uno de estos diseñados para construir 20 modelos, que junto al que ya tenía me amplía el rango de cosas a construir sin necesidad de andar mecanizando mis propias planchas de aluminio.

Meccano

A ver si encuentro alguna caja de Meccano (original o compatible) solo de planchas de aluminio, pues nunca son suficientes :P

Estación de soldadura
Éste fue un gran capricho, una estación de soldadura por aire caliente Aoyue 850A++.

En realidad me encapriché de un modelo mucho más completo, la Aoyue 852A++, que incorpora microcontrolador con displays digitales para mostrar la temperatura y presión del aire, pero tras encargarlo y pagarlo me avisaron de la tienda que no lo tenían en stock, así que siendo bastante más cara en el resto de tiendas online me decanté por un modelo más modesto (Aoyue 850A++), pues al fin y al cabo tampoco es algo que vaya a usar muy de seguido.

Aouyue 850A++

La gracia de estas estaciones es que permiten soldar y, sobretodo, desoldar componentes SMD (de montaje en superficie, normalmente miniaturizados) con gran facilidad y sin hacer chapuzas al usar un soldador con la punta más grande que el propio componente si tienes mal pulso como es mi caso.

Emite aire caliente hasta 500º que se encarga de fundir el estaño en pocos segundos.