domingo, 12 de junio de 2011

Torneo de Karate Cruz Azul Hidalgo (crónica escrita al vuelo)

Wo0laap!(si Lupita, te robé tu saludo)
Que tal estimados lectores de este pequeño espacio. Pues en este post les contaré lo que fue el torneo de Karate-do Cruz Azul Hidalgo.

La cita era a las 7 de la mañana en la central de autobuses norte. Ibamos a ir con los karatecas de Fuego Nuevo. Yo llegué sobre la hora pero aun así no fui el ultimo en llegar. Solo faltaba un integrante. Tomamos el autobus que salia a las 7:20, estabamos listos para competir. Algunos no logramos dormir lo suficiente así que aprovechamos para dormir durante el trayecto. Llegamos a la Ciudad Cooperativa Cruz Azul aproximadamente a las 9:00 de la mañana, el clima era fresco, bastante agradable por cierto. Llegamos a donde se iba a llevar a cabo la competencia. Ya estaba todo listo, 5 areas, mesas de gráficas, souvenirs (que terminaron rematando), venta de alimentos (por fin!).

El momento de la llegada...


La primera llamada para graficar cintas blancas fue a las 10:30 aprox. Cabe mencionar que está vez noté que si hubo una buena organización puesto que el torneo acabo temprano (a eso de las 5pm), esto a pesar de que hubo categorias infantiles y juveniles.
La unidad (?) deportiva
Pues bien, llegó la hora de que comenzar a competir =D. Estuvimos un buen rato esperando a graficar, por fin nos graficaron y nos dijeron en que área ibamos a competir, estabamos calentando y de repente nos llaman para dar inicio a la ceremonia de inauguración. Para esto ya habian competido las cintas blancas en la categoria de adultos donde UPIICSA ganó una medalla en kata por Angie :) .


Después de la ceremonia...
Pues pasó la ceremonia de graduación y nuevamente nos llamaron al área. Seré honesto, pasé sin pena ni gloria =( . Por otra parte me dió mucho gusto que "el Yorch" haya ganado medalla en kumite y mas porque de ultima hora se cambió de ligeros a pesados O=. Después le tocaria el turno a Rubí en cintas verdes, ganó dos medallas. No pude ver su actuación sobre el tatami. En cintas cafe (para los radicales marrón) no tuvimos ningún participante de UPIICSA. Llegó el turno de las cintas negras, ahi solo tuvimos a Paco en kata quien tuvo una participación notable.

Al mismo tiempo que competia Paco se llevo a cabo el encuentro de kumite femenil por equipos donde participaron Paty y Carolina representandonos. El equipo contrario era de la UNAM, como era de esperarse el equipo de UPIICSA (¿o IPN?) ganó el encuentro. Enseguida volvieron a pelear contra otro equipo de la UNAM y de nuevo ganaron.

Patito de Ao
Terminó el encuentro de kumite femenil por equipos. Hubo una ligera pausa y después vocearon que era la hora de la categoria "Master" de cinta negra donde el sensei Marcos tendría participación. El sensei Marcos demostró ser superior a sus rivales en kata ganando el primer lugar.
En conclusión el torneo resultó ser una experiencia mejor de lo esperado, una oportunidad para aprender y sobre todo probarse uno mismo. Una vez finalizado el evento nos dirigmos al lugar donde acampariamos. El encargado de guiarnos fue Paco quien no sabia exactamente donde era y ya estaba provocando el descontento del grupo (xD). El acampar fue muy padre ya que fue una oportunidad para convivir mas con el equipo, de conocer un poco mas a los integrantes fuera de la seriedad del entrenamiento. 
 Aqui la banda queman.. asando bombones y salchichas

En conclusión valió la pena ir...

Por cierto... fue divertido escuchar las anécdotas vergonzosas de varios de nosotros ;) xD ... y ahhh grrrr las playeras conmemorativas no incluian el nombre de UPIICSA en la lista de escuelas participantes =(
 Si encuentras a UPIICSA te regalo un equipo de kumite completo =D LOL

Está crónica fue escrita al vuelo desde lo que yo ví, si ven que hay algo que corregir por favor hagánmelo saber ;)...
Por cierto muchas gracias a Rubí y a Rodrigo por las fotos.

domingo, 5 de junio de 2011

Herramientas de desarrollo en Microcontroladores PIC en Linux

Cuando estaba en cuarto semestre aprendí por fuerza a programar pics, en realidad debí aprender eso desde segundo semestre pero por deficiencias docentes de la escuela nunca me enseñaron, mucho menos yo intenté aprender algo por mi cuenta aunque si quería. En fin...

Para el proyecto de Adquisición de datos, tanto la materia de teoría como la de laboratorio requerian el uso de pics, yo no sabia programar nada de eso, no tenia idea. Total que un fin de semana tuve un encerron digno de un programador y logre sacar esos proyectos ñ_ñ

 Así acabé... ¬_¬

Tiempo después me pregunté si existian herramientas libres para el desarrollo. Me enteré primeramente de Arduino pero lo descarté dado que hay mucha más documentación en internet sobre el desarrollo con PICs. Otra razón por la que descarte Arduino fue porque ya habia comprado un programador, para ser más exacto compré el Master-Prog, poco después me enteré investigando que ese programador es un clon del PicKit2 de Microchip y que por esa razón si era posible utilizarlo en Linux ya que la misma microchip provee el driver.

Por otra parte... ya tenia el programador pero y los compiladores?
Encontré las versiones libres de lenguaje ensamblador para PICs y lenguaje C. Para programar en ensamblador hago uso de la suite GPUtils, que incluye el compilador, y el linkeador que pasa el codigo asm a lenguaje maquina, es decir el código hex que se graba en el pic. Para programar en C encontré SDCC (Small Device C Compiler). La verdad me gustó mucho ese compilador, muy amigable, fácil de aprender, versátil etc.

Ok ya con esto era suficiente para empezar a desarrollar con PICs y... zas! como rayos sabré si el programa funciona como debe ser antes de implementarlo físicamente... Faltaba el simulador, fui ahí cuando me dí cuenta de que la electrónica está un tanto retrasada en el ámbito del software libre, practicamente no encontré un buen simulador libre, así que tuve que hacer uso del wine para instalar el conocido proteus. Ahora mismo que redacto el post me estoy enterando que existe uno que se llama SPICE que es un simulador de circuitos libre, lo probaré después porque aun no lo instalo ;)

Bueno, si eres un geek warrior del código amante del bloc de notas de windows o el gedit de gnome no tendra problema a la hora de compilar desde consola, pero si eres un desarrollador menos frikieado que prefiere usar IDEs, el entorno más usado para programar micros en linux es PikLab =D

Listo, creo que ya tenemos las herramientas mínimas necesarias para desarrollar, el programador, el compilador y el simulador. El uso de tablillas de prueba es opcional aunque si recomendado, no se fien siempre de los simuladores ;)

Ahora si! A darle! =P
Siendo así... los que ya llevan un tiempo usando Linux (o toda la vida como @erickchias ¬¬ xD) saben que deben buscar los paquetes .deb o .rpm según la distro que usen. En ubuntu es muy fácil instalar todos los paquetes mencionados puesto que ya están en los repositoros, solo se van a la consola y escriben :
sudo aptitude install nombre_paquete

Para otras distros como Fedora, "Fedora en verdecito" (OpenSUSE xD), Debian, Arch, etc debemos descargar los paquetes en caso de que no vinieran en los repositorios, o igual podemos agregar el enlace a los repositorios y listo, no pienso meterme en esto.

Bueno después de haber instalado Piklab, GPUtil, SDCC y el proteus si quieren... el siguiente pasó es instalar el driver del programador, se hace lo mismo. Está será la parte que explicaré, como instalar y usar por línea de comandos el programador D=

Antes de comenzar la instalación es importante mencionar que el Master-Prog solo es un clon del pickit2 en cuanto a hardware puesto que tiene un firmware diferente, el cual fue programado por el que vende el master-prog. Aun así el proveedor nos da la opción de "actualizar" el firmware por el original del pickit2. Eso fue lo que hice, actualizar el firmware para poder usarlo como si de verdad se tratara del programador de microchip, de otra forma no seria posible reconocerlo en linux como el programador.

Instalación
Primero nos vamos a la página de Microchip y descargamos el que dice "PK2CMD V1.20 Linux & Mac OS X Source Code with Makefile". Lo extraemos y nos vamos a la carpeta para instalarlo. Ya saben, en una terminal nos vamos a la carpeta y nos ponemos como root, y le damos make install. Nos mostrará los archivos que se copiaron:

 Muy bien, eso significa que ya podemos hacer uso del programador por línea de comandos =D. Ahora un ejemplo.
Para detectar el programador tecleamos en consola:
pk2cmd -P 
Con esto estamos detectando el programador y el pic que trae en el zócalo, en caso de no traer ningún pic marca el error:



Y efectivamente, no tengo ningún pic en el zócalo. Probaré ahora con el PIC16F628A:



Lo detecto! Muy bien, el programador funciona. Ahora grabaremos un programa .hex en el pic:
Con el comando:
pk2cmd -P -M -Frutadelarchivo.hex
pk2cmd -P -M -F/home/lvcios/Documentos/UPIICSA_LIBRE/msjlcd.hex
 Lo que hice fue grabar un programa en el pic16f628a, el programa consiste en mostrar en una pantalla lcd las palabras "UPIICSA LIBRE":



Como ven, no es díficil manejar el pickit2 mediante consola. De hecho es más fácil que usando una interfaz gráfica. Me faltaron algunos detalles sobre como leer un programa, verificar la escritura y demas cosas, esas cosas las explicaré en otro post pero de todos modos están documentadas en la web.

Fuentes:

PICKit2 en Kubuntu Hardy

Program PICs with a PICkit2 using the command line on Linux - Curuxa

sábado, 4 de junio de 2011

Terminando el semestre entre borracheras y reclamos.

Hola que tal como están, hacia ya un buen rato que no escribia por aquí. La razón es sencilla, twitter me satisface en todo momento para postear algo sin necesidad de escribir un título o algo. En cambio en el blog tengo que crear la entrada, editar si acaso un poco de html etc... En fin, a lo que vamos =D

La utlima vez que escribi fue de microcontroladores, que ya llevaba algun avance y demás. Debo decir que no he avanzado mucho, hasta el momento solo he sido capaz de poner un mensaje en moviento en una pantalla lcd 2x20. Espero en vacaciones (las más cortas en mi vida de estudiante) poder mover un carrito y hacer otras cosas más, o al menos vincular un pic con la pc vía usb.

En realidad no tengo mucho que contar, voy pasando tranquilamente todas las materias del semestre, excepto contabilidad. Me puesto ebrio más seguido, he platicado más con Bertha de mis manías, me he vuelto más vulgar, deshinibido, etc etc.

En la escuela no desarrollé ningun proyecto notable, como es costumbre de los alumnos y maestros en UPIICSA. Bueno, aprendí a programar en vb.net, nada del otro mundo...

Bueno un video intermedio de una rola que me gusta:




Me gusta la canción =D

Otra cosa... se llevó a cabo el concurso de programación Alan Turing, lo organizó la ESCOM como parte de su tradicional Xpo-ESCOM. Fui con unos compañeros a ver que tal nos iba y la verdad no nos fue muy bien. La diferencia que hay entre ESCOM y UPIICSA en cuanto a programación es abismal. Se que es mucho más importante tener una capacidad de análisis y de resolución de problemas que saber programar cualquier cosa en Java o C o cualquier pinche lenguaje pero la verdad es que si es deprimente saber que no les puedes competir de tu a tu en programación.

La experiencia de ir a concursar a pesar de todo fue gratificante. La escuela nos "apoyo" con lo del transporte que por cierto inicialmente se trataba de una camioneta pero que al final le terminaron encargando el paquete de llevarnos al profesor Victor Jalil. El prof se portó muy buena onda con nosotros y platicó de muchas cosas relacionadas con la escuela, de los problemas, de cuando el estudió, de la apatia de profesores y alumnos (sobre todo), de su experencia de trabajo, de software libre entre otras cosas. El simple hecho de que él haya sido nuestro profesor "tutor" en el concurso fue ganacia.

Como anécdota del concurso me quedo con lo que le dije a Hiram mientras esperabamos que nos dieran los problemas a resolver:
"Oye wey... sabes compilar por consola?"
Es triste aceptarlo pero así era, por consola solo habia compilado programas escritos en Python. Compilar un programa escrito en c en consola no es muy dificil, de hecho es más fácil que usar un IDE.

Hablando de las borracheras... pido perdón a todas las personas que se ofendieron por mi comportamiento  twittero, facebokeero y mensajero de celular. Perdón =(

Ahhh por cierto antes de que se me olvide... Pasarón también los interpolitécnicos de karate, en otro post hablaré de eso porque el sabado 11 de junio hay otro torneo, por fortuna ya acabe los proyectos más pesados y si podré ir toda esta semana a entrenar, incluso creo que podré ir a partir de las 11 de la mañana..

Bueno es es todo, les dejo un wallpapper:


K-On! modo Maid jijii =D