domingo, 24 de junio de 2012

usando el puerto de expansion

La placa NP05 posee un puerto de expansión (concretamente el PORTB del micro controlador 18f4550) que se puede usar para tener salidas o entradas digitales de propósito general.
Con icaro-bloques se puede mandar información al puerto de expansión usando el bloque "activar".

Bloque "activar" con una variable como instrucción 


 al igual que en la placa NP03 de puerto serie, para activar los pines del puerto, hay que mandar un valor decimal que el micro controlador representara en valor binario, cada bit es uno de los pines del puerto, encendido o apagado.
Asi, para que se encienda el pin 1 del puerto haremos "activar 1" (00000001) el pin 2 "activar 2" (00000010), el pin 3 "activar 4" (00000100) y asi exponencial-mente hasta el pin 8 que es el valor 128 (10000000).
si bien se podría hacer un programa que simplemente enviara la señal activar ocho veces con los valores 1, 2, 4, 8, 16, 32, 64, 128, en el ejemplo siguiente preferí mostrar como usar una variable para generar un bucle donde en cada iteración la variable "a" se suma a si misma (un acumulador).



programa para encender leds en icaro-bloques

Con el programa anterior, si conectamos una placa con leds (el circuito es bastante simple y se puede hacer con una placa universal) veremos como cada led se va prendiendo en pasos hasta llegar al led 8 donde vuelve a empezar. Los programas en icaro-bloques por regla general son un bucle infinito donde se lee desde el bloque "inicio" hasta llegar al ultimo bloque pegado a la cadena, y luego vuelve a empezar, aunque hay formas para evitar eso (con bucles "while True" vacios al final).
 


Video del puerto de expansión contando 8 pasos


Este programa es para hacer un contador de 255 pasos,  es mas sencillo porque solo necesitamos que la variable se sume a si misma en cara iteración.
 
Programa en icaro-bloques para un contador de 255 pasos



Video del PORTB contado 255 pasos

Con este puerto de expansión se puede agregar funcionalidades a la placa icaro, como prender luces o reles (para manejar un motor de potencia por ejemplo), y con un poco de maña también 8 servos mas (aunque implicaría tocar muchas cosas a nivel C).

viernes, 1 de junio de 2012

ICARO en villa maria

El 30 de mayo en la localidad de Villa Maria (provincia de Córdoba) fuimos con Javier Castrillo (del programa nacional Conectar Igualdad) a dar unos talleres de Robótica pedagógica en el marco de los festivales conectar .
Ayudarlo a Javier con los cursos (uno con casi 150 chicos) me permito ver algunas cosas con respecto a la metodología que se puede utilizar para enseñanza de robotica (sobre todo trabajando con muchos chicos).
quiero tambien aprovechar para agradecer a Gsutavo Cierra de la Tecnoteca que nos dio una gra mano en todo y le puso toda las pilas al trabajo.
algunas fotos del evento:

Los chicos usaron Turtleart en sus netbooks y aprendieron conceptos básicos de la programación 

 una flor

 Segun Javier Castrillo, una cara



 Haciendo las primeras pruebas con el robot que llevamos

Mas pruebas

La experiencia fue muy linda (aunque estuve los dos días afónicos) y creo que permitirá armar un lindo grupo de trabajo para poder desarrollar el hardware con los colegios técnicos de la zona y poder usarlos en varias instancias pedagogicas.