La idea es tener un programa que permita de forma visual y simple hacer una primera aproximación a la manipulacion de mecanismos electricos sencillos (motores de corriente continua, paso a paso, leds).
Py-caro esta programado en python usando las librerías pygame para gestionar los gráficos, y ejecutando código icaro para mandar señales a la placa np03.
la version para descargar esta en estado BETA, funciona y mas o menos hace lo que tiene que hacer, pero le falta un gran trabajo de correccion de errores (sobre todo los errores en tiempo de ejecución tan dificiles de descubrir).
El sistema se basa en poner objetos (motores, leds) y mediante conectores y lineas, unirlos a las salidas correspondientes de la placa np03.
el programa es bastante simple visualmente, a la derecha estan lo botones con los objetos que se pueden insertar, motores de corriente continua, motores paso a paso, un botón para encender un led o cualquier cosa que requiera un solo pin de la placa, un botón para activar hasta 4 pines a la ves y un jostick ara manejar u pequeño robot de 2 motores que muevan sus dos ruedas.
a la izquierda se encuentan los 8 pines de la placa de control (de color violeta) donde se conectan los objetos para controlar mecanismos físicos en la placa. los pines violetas estan ordenados de arriba a abajo, siendo el mas alto el pin numero 1 y el mas bajo el pin numero 8, en realidad son representaciones de un byte por lo tanto su orden seria:
pin 1 = 1
pin 2 = 2
pin 3 = 4
pin 4 = 8
pin 5 = 16
pin 6 = 32
pin 7 = 64
pin 8 = 128
Funcionamiento
Para empezar se elige el objeto en el menú de la derecha, el cual aparecerá en la pantalla .
Con el boton derecho del mouse sobre el cuerpo nos permitira moverlo y acomodarlo en distintas partes de la pantalla.
Los botones verdes ejecutan código ICARO cuando se los aprieta (boton izquiero del mouse), para conectar el controlador con un pin violeta primero hay que hacer click con el boton del medio (generalmente la bolita que sirve para subir y bajar de pagina) o con los dos botones al mismo tiempo (en notebooks) sobre el conector amarillo, con eso aparecera una linea blanca que seguirá al puntero del mouse.
linea para unir el conector amarillo con el violeta
Para "fijar" la unión entre los dos conectores, llevar el mouse hasta uno de los pines violetas y apretar el botón izquierdo y se dibujara una linea roja que representa la unión y a cual pin controlara el objeto.
controlador de C.C conectado al pin 1 de la placa
una ves conectados todos los pines del controlador, al apretar sobre los botones verdes, se ejecuta código ICARO y activa un pin o los dos pines para mover para un lado o para el otro al motor c.c (usando un rele doble inversor o un puente H).
En el siguiente ejemplo se puede ver como controlar un motor paso a paso desde Py-caro, y ademas la integración con el entorno SUGAR para las OLPCs.
En el siguiente ejemplo se puede ver como controlar un motor paso a paso desde Py-caro, y ademas la integración con el entorno SUGAR para las OLPCs.
Video de Py-caro con SUGAR
En el video anterior se puede ver como Py-caro esta integrado con SUGAR y controla un pequeño motor paso a paso de una impresora vieja.
dos formas de controlar un motor paso a paso
También se puede controlar usando objetos "led" y activando una a una las bobinas del motor (presionando en secuencia en cada controlador led).
Para descargar el código fuente escrito de Py-caro:
http://valentinbasel.fedorapeople.org/pycaro.tar
todavia hay mucho por mejorar, pero ya se pueden grabar las sesiones y volverlas a abrir con los controladores para c.c, led y "paso a paso".
tambien hay un par mas de controladores para agregar como, semáforos, vayas que suben y bajan o controladores personalizados.
esta version trabaja con icaro-0.6.2.261110 y puerto serie, para usarla en puerto paralelo hay que modificar todos los icr que están en la carpeta icaro, pronto voy a subir una modificación que permita usar los dos puertos indistintamente
Para descargar el código fuente escrito de Py-caro:
http://valentinbasel.fedorapeople.org/pycaro.tar
todavia hay mucho por mejorar, pero ya se pueden grabar las sesiones y volverlas a abrir con los controladores para c.c, led y "paso a paso".
tambien hay un par mas de controladores para agregar como, semáforos, vayas que suben y bajan o controladores personalizados.
esta version trabaja con icaro-0.6.2.261110 y puerto serie, para usarla en puerto paralelo hay que modificar todos los icr que están en la carpeta icaro, pronto voy a subir una modificación que permita usar los dos puertos indistintamente