miércoles, 13 de marzo de 2013

Introducción a la programación

En la línea de abrir otros frentes para despertar otros intereses, preparé una breve introducción a Java para realizar una serie de ejercicios.
Es cierto que finalmente Arduino se programa en C pero me pareció más adecuado hablar de Java y que puedan aprender a manejarse con un IDE estándar en vez de profundizar en C.
También he querido hacer una aproximación alejada de la típica en la que la orientación a objetos sea lo primero antes de nada. Otra cosa es que conceptos como herencia, polimorfismo, etc. van apareciendo quieras o no.
La presentación que hemos usado está aquí.

Después de la introducción lo que enseñé fue Eclipse, JDeveloper y BlueJ, que son los que tengo instalados en el PC. Por simplicidad para las pruebas descartamos JDeveloper y nos centramos en BlueJ para luego pasar a Eclipse las pruebas realizadas y comprobar que es lo mismo. En siguientes sesiones nos quedaremos con BlueJ, mucho más ligero.
Vimos los ejercicios propuestos pero les he dado tiempo para que asienten los conocimientos y hacer unos ejercicios más completos individualmente en posteriores sesiones.

miércoles, 6 de marzo de 2013

Electrónica Digital. Sesión I

Después del ejercicio del Semáforo y cómo se resolvía con Arduino, uno de mis alumnos se planteó que si les había contado que Arduino existe desde hace unos pocos años y semáforos hay desde hace mucho, ¿cómo se hacían antes?.
Aunque en la introducción de las sesiones hablé un poco de histora, empezamos a hablar de la electrónica convencional de hace 30-40 años (circuitos con transistores, pequeños integrados, ...) y terminé hablando de electrónica digital y puertas lógicas.
Por alguna extraña razón, les llamó la atención y sobre la marcha, dibujé el siguiente esquema que refleja una posibilidad de circuito de control de un semáforo:
identificando el módulo de Reloj (hablando del 555), de un contador binario y de cómo un decodificador ayuda a seleccionar acciones. 
Como vi que tenía interés el tema, preparé el siguiente borrador para una sesión monográfica de Electrónica Digital que dado el éxito obtenido, tendrá su continuación.

Creo que el objetivo no es cortar y pegar de otros contenidos de Internet sobre puertas lógicas, simplemente entrando en la Wikipedia (por poner un ejemplo) tienes información suficiente. Es tal vez la referencia de la utilidad de este tipo de contenido contado a chicos interesados en el tema.

Me sorprendió que no conociesen diferentes sistemas de numeración y su justificación por lo que profundicé un poco en ello con teoría y práctica.
Después hablamos de las puertas lógicas y de cómo se implementarían con transistores y de las ventajas de los circuitos integrados (creo que les da un poco de vértigo la miniaturización y eso que esto no es nada pero el comentario del mayor, cuando hablamos del tamaño que puede alcanzar un transistor en un circuito integrado, se le ocurrió que una célula podría tener un MP3 -buena reflexión-)

Como ejercicios prácticos tuvimos:

* Con un programa de simulación de circuitos, las bases de funcionamiento. Les gustó y lo entendieron fácilmente.
* Con una Protoboard se construyeron físicamente algunos ejemplos prestando atención a que 0 es conectado a gnd mientras que abierta la entrada es 1 (esto les supuso un cierto retraso hasta que lo fijamos). Esto les desarrolla la habilidad motora que en algunos casos es bastante deficiente, teclas si, manos, poco.
* Con Arduino hicimos un prototipo que manejaba las entradas de una puerta y la salida para construir vía serial la tabla de la verdad en plan listado cuando se pulsaba un botón (aquí estoy viendo que algunos tienen la mente preparada para la programación ya que se les ocurren cosas curiosas).

En próximas sesiones de Electrónica Digital hablaremos de FlipFlop, Registros de desplazamiento, manejadores de displays, ...