Archivo etiqueta Physical Etoys

Análisis de imágenes en Etoys – Parte 2

En la primer parte de esta serie mostramos las herramientas básicas que nos provee Etoys para poder realizar Análisis de imágenes.

Utilizando estos mosaicos que buscan colores podemos construir algunos proyectos sumamente interesantes como el calculo de una integral desde una aproximación gráfica.

Integral

Integral

Leer el resto de la entrada »

,

No hay Comentarios

Physical Etoys tips – Time handling (part 1)

Hi everybody, today I’m going to start a new section here in our blog that I decided to call «Physical Etoys tips». The idea is to share a couple of tips I’ve learned over the years. Our first tip is about handling the passing of time inside Etoys. So let’s get started!

As we all know, Etoys objects are alive, they interact with the user and with each other and we can teach them new ways of interaction by building scripts. These scripts are not simply executed, they run inside an implicit loop (kind of like a videogame). This execution model forces the user to split complex behaviours into steps that each object will perform on every tick, without needing to specify how the iteration will be performed. Thus, Etoys doesn’t have any “forever” or “repeat until” structure (although it does have a “repeat times” structure, which is convenient but arguably unnecessary).

This ticking model does not only reinforce the idea of objects being alive but it also makes concurrency fairly simple. As in reality, where a lot of things are happening simultaneously, in Etoys all scripts are virtually running at the same time. This is a very powerful metaphor, but it has a disadvantage: it makes some time dependent tasks (such as performing an action for an amount of time or waiting a couple of seconds before doing something) a lot more difficult. Unlike other visual programming languages (such as Scratch) there is no «wait» tile in Etoys.

Instead, we have several other mechanisms to deal with time:

  1. We can represent the passing of time visually and use the “Test” tile to react to it.
  2. We can use the playfield’s «timer» slot and measure how much time has passed since it was last reset.
  3. We can use the Digital Clock special slots: “hours”, “minutes”, and “seconds”.
  4. Or we can use the Timer object (introduced in Physical Etoys 2.1).

Today, we are going to talk about the first mechanism, visually representing the passing of time. And to do it we’ll build a simple device controlled by time: a traffic light.

We’ll need:

  • An arduino.
  • A breadboard.
  • 3 leds (red, yellow, and green. Duh).
  • 3 resistors (between 200 ohm and 2 kohm are probably ok).
  • Some wires.

We’ll start by building the following circuit.

Hola a todos, hoy voy a inaugurar una nueva sección aquí en nuestro blog que he decidido llamar “Physical Etoys tips”. La idea es compartir algunos tips que fui aprendiendo en estos años. Nuestro primer tip se trata del manejo del paso del tiempo dentro de Etoys. Así que manos a la obra!

Como todos sabemos, los objetos de Etoys están vivos, interactúan entre sí y con el usuario, y podemos enseñarles nuevas formas de interacción armando guiones. Estos guiones no se ejecutan como cualquier script sino que corren en un ciclo implícito (casi como en un videojuego) donde cada ejecución es denominada “latido”. Este modelo de ejecución obliga al usuario a dividir comportamientos complejos en pasos concretos que cada objeto debe realizar en cada latido, sin tener que especificar cómo la iteración se llevará a cabo. Por esta misma razón, Etoys no tiene ninguna estructura de control “por siempre” o “repetir hasta que” (aunque sí tiene una estructura “repetir # veces”, que es conveniente pero cuya necesidad es discutible).

Este modelo de “latidos” no solo refuerza la idea de los objetos como entidades vivas sino que también hace muy fácil el pensar el comportamiento de forma concurrente. Como en la vida real, donde muchas cosas están pasando simultáneamente, en Etoys todos los guiones están virtualmente latiendo al mismo tiempo. Esta metáfora es muy poderosa pero tiene una desventaja: dificulta algunas tareas dependientes del paso del tiempo (por ejemplo, ejecutar una acción durante un tiempo determinado o esperar unos segundos antes de hacer algo). A diferencia de otros lenguajes de programación visuales (como Scratch) no hay ninguna instrucción “esperar”.

En su lugar tenemos otros mecanismos para lidiar con el tiempo:

  1. Podemos representar el paso del tiempo visualmente.
  2. Podemos usar la variable “cronómetro” del Campo de Juegos y medir cuánto tiempo pasó desde la última vez que fue reiniciado.
  3. Podemos usar las variables del Reloj Digital: “horas”, “minutos”, y “segundos”.
  4. O podemos usar el objeto Timer (introducido en Physical Etoys 2.1).

Hoy vamos a hablar del primer mecanismo, la representación visual del paso del tiempo. Y para hacerlo vamos a construir un dispositivo sencillo controlado por el tiempo: un semáforo.

Vamos a necesitar:

  • Un arduino.
  • Un protoboard.
  • 3 leds (rojo, amarillo y verde).
  • 3 resistencias (entre 200 ohm and 2 kohm deberían andar bien).
  • Unos cuantos cables.

Empezamos armando el siguiente circuito.

Traffic light_bb.3

Back in Physical Etoys, we’ll get an Arduino board from the bottom tab and we’ll connect the 3 leds. Changing the led colors and giving them proper names will allow us to identify them easily.
De vuelta en Physical Etoys, vamos a sacar un Arduino board de la pestaña inferior y le vamos a conectar 3 leds. Cambiamos los colores de los leds y les ponemos nombres para poder identificarlos rápidamente.

trafficlight-pe

leds

Now we’ll draw an object that will give us some notion of time passing, it can be almost any object but I’ll draw a small line with a blue tip on one side (this is an important detail, as we’ll see later).
Ahora vamos a dibujar un objeto que nos de alguna noción del paso del tiempo, puede ser casi cualquier objeto pero yo voy a dibujar una pequeña línea con una punta azul en uno de sus extremos (este detalle es importante, como veremos más adelante).

marker

By changing its rotation center and making a very simple script we can make our line rotate.
Cambiando su centro de rotación y con un sencillo guión podemos hacer que nuestra línea gire.

marker.3

Now we’ll use the blue tip as a marker. By testing which color is underneath the blue marker we can know which led to turn on.

For this we need an object that uses color to represent the different states of a traffic light. My drawing skills are very limited so in my case I used a couple of Sector objects (that you can find in the object catalog) to make this:

Vamos a usar la punta azul de nuestro objeto para testear qué color está debajo y así saber qué led prender.

Para esto necesitamos un objeto que use colores para representar los diferentes estados de un semáforo. Mis habilidades artísticas son bastantes limitadas por lo que, en mi caso, use varios objetos Sector, que pueden encontrar en el Catálogo de objetos.

traffic-light

As we can see, each section of the circle represents a different state of the traffic light:
Como podemos ver, cada sección del círculo representa un estado diferente del semáforo:

traffic-light.states

Then we can put our marker in the center of the object so that the blue tip can touch all the different states:
Luego ponemos nuestra línea en el centro del objeto de forma que en su giro completo pase por todos los diferentes estados.

marker.7

 

And now the only thing left is to detect which color is underneath the blue tip and turn on the appropriate led, which is as simple as this:
Y ahora lo único que falta es detectar qué color está debajo de la punta azul y prender el led correspondiente, que es tan simple como esto:

Script Editor

The result: El resultado final: http://youtu.be/5aaxMj3dPyI

And that’s all! 🙂

If you’re too lazy to do it yourself, you can download the full project here: http://tecnodacta.com.ar/gira/examples/TrafficLight.002.pe. And if you use a different mechanism to perform waiting in Etoys, please let me know in the comments.

And, as always, have fun!

¡Y eso es todo! 🙂

Si son demasiado vagos para hacerlo ustedes mismos, pueden descargar el proyecto completo aquí: http://tecnodacta.com.ar/gira/examples/TrafficLight.002.pe. Y si usan un mecanismo diferente, por favor háganmelo saber en los comentarios.

Y, como siempre, ¡que se diviertan!

 

, , ,

No hay Comentarios

«Mendieta»: proyecto de hardware libre para robótica educativa

Hola a todos!!

Este es mi primer post en el Blog de GIRA; trataré de ir compartiendo mi trabajo con Uds.
Desde que me uní al grupo, estuve trabajando en un proyecto de hardware de bajo costo para robótica, que fuera de fácil construcción y programación, y mas barato que las placas comerciales, como Arduino o Duinobot. Por otra parte, deseábamos que tuviera mayores prestaciones nativas que por ejemplo la placa Pingüino, es por ello que se incorporó un hub de motores, utilizando el integrado L293D, lo que permite manejar 2 motores de CC o un motor PAP en forma bidireccional, y varios servos.
En el proceso de investigación de mercado, tuvimos en cuenta que Mendieta iba a ser conectada al puerto USB, por lo que el microcontrolador debía permitir fácilmente este tipo de conexión. Entre varias opciones, se destacaban los PIC 18F2550 y 18F4550, ambos con interface USB 2.0 nativa y similares características. Nos decidimos a utilizar el 18F4550 por poseer mas puertos digitales y analógicos que el anterior.

El circuito básico de Mendieta se diseñó con Livewire y se le dio la forma definitiva con PCB Wizard. Actualmente estamos con los últimos detalles del hardware y diseñando la «cajita» contenedora, como así el firmware, pero les voy adelantando la forma del circuito y 1º prototipo de Mendieta (en ese momento la parte de motores estaba separada para facilitar las pruebas):

Circuito y 1º prototipo

Próximamente postearé mas detalles de la construcción y, como será open hardware también estarán a su disposición los archivos para imprimir el circuito, el listado de componentes y el firmware para descargar… Ah, y obviamente Mendieta será un nuevo modulo en Physical Etoys…
Saludos,

Gabriel

, , , ,

No hay Comentarios

Physical Etoys 2.1.2

Para todos aquellos que usan tanto S4A como Physical Etoys hoy les tengo una sorpresa. Acabamos de publicar una nueva versión de Physical Etoys con un pequeño pero importante añadido: un objeto nuevo que permite comunicarse con la placa Arduino usando el firmware de S4A.
De este modo, ya no hace falta ese incómodo paso de la instalación del firmware cada vez que cambiamos de entorno. Y además nos beneficiamos del excelente trabajo de nuestros amigos de Citilab, a quienes les mandamos un fuerte abrazo y nuestro profundo agradecimiento 🙂

Pueden encontrar el objeto nuevo en la pestaña inferior junto al resto de los objetos de Physical Etoys:

http://tecnodacta.com.ar/gira/projects/physical-etoys/

¡Que se diviertan!
Richo

, ,

No hay Comentarios

Physical Etoys and Kinect

A long time ago, we posted our experience connecting Etoys with Kinect. At the time, the installation process was really unfriendly, so we never integrated it with Physical Etoys properly. Until now 🙂

You can download the external module from here: http://tecnodacta.com.ar/gira/projects/physical-etoys/kinect/. To install, just copy the pem file inside the Physical Etoys folder, and the next time you open it Physical Etoys will take care of the rest. Also, you need to have the Kinect SDK installed.

On a technical note: We’ve moved away from OSCeleton and we now directly communicate with Kinect using a dll Matias wrote. This allows us to have much more control of the Kinect (for instance, now you can change the motor’s angle, and we’ll eventually add support for accessing the camera info inside Etoys) but, as a downside, we’re now depending on the Kinect SDK which only works on Windows 7 and Windows 8.

Anyway, I’ll repost the following video so you remember how cool it is to be able to access the Kinect from Etoys 🙂

Enjoy!

Hace mucho tiempo posteamos nuestra experiencia conectando Etoys con Kinect. En ese momento, la instalación era realmente muy incómoda así que nunca lo integramos con Physical Etoys como se debe. Hasta ahora 🙂

Pueden bajar el módulo externo desde acá: http://tecnodacta.com.ar/gira/projects/physical-etoys/kinect/. Para instalarlo, sólo copien el archivo pem en el directorio donde tienen instalado Physical Etoys, y la próxima vez que lo abran Physical Etoys se va a encargar del resto. Un detalle, para que funcione tienen que tener el SDK de Kinect instalado en su máquina.

En una nota técnica: decidimos dejar de usar OSCeleton y, en su lugar, nos comunicamos con Kinect usando una dll que escribió Matías. Esto nos permite tener mucho mejor control del Kinect (por ejemplo, ahora podemos cambiar el ángulo del motor, y eventualmente vamos a permitir el acceso a la cámara directamente desde Etoys) pero, como desventaja, ahora dependemos del SDK de Kinect, que sólo funciona en Windows 7 y Windows 8.

En fin, vuelvo a postear el video para que recuerden lo copado que es acceder a Kinect desde Etoys 🙂

¡Que lo disfruten!

,

No hay Comentarios

Physical Etoys 2.1 released!

Hi everybody,

It’s been a while since our last version but we’re proud to announce a new release of Physical Etoys.
You can download it from here: http://tecnodacta.com.ar/gira/projects/physical-etoys/

This new version includes:

All in all, this version is much better than the previous and we hope you would enjoy it as much as we do :).

Thanks!

Hola a todos!

Estamos orgullosos de anunciar una nueva versión de Physical Etoys.
La pueden bajar desde acá: http://tecnodacta.com.ar/gira/projects/physical-etoys/

Esta nueva versión incluye:

En definitiva, esta versión es mucho mejor que la anterior y esperamos que la disfruten tanto como nosotros :).

¡Gracias!

No hay Comentarios

Physical Etoys on Raspberry Pi

Hello everybody, we want to tell you we’re writing this post on our new Raspberry Pi!

We were very happy to find squeak already installed on it, so we were just one step away from having Physical Etoys running there as well 🙂

Pics or it didn’t happen!

Hola a todos, queremos contarles que estamos escribiendo este post en nuestra recién comprada Raspberry Pi!

Nos alegró mucho encontrar squeak ya instalado, así que estábamos a sólo un paso de tener corriendo Physical Etoys también 🙂

, ,

3 Comentarios

Physical Etoys now translated to Portuguese :)

Great news, everybody! Thanks to the contribution of Luis Valente, Physical Etoys is now translated to portuguese! Big thanks for him! 😀

I already uploaded a new version (2.0.3) with the new translations and a few bug-fixes. Feel free to download it from the Physical Etoys page.

Thanks again to Luis for his work, and to anyone who wants to contribute to the project in any way: just contact us! 🙂

Have fun,

Richo

No hay Comentarios

Paper de Physical Etoys en JAIIO

Hola! Les queríamos compartir que estuvimos en las Jornadas Argentinas de Informática que se realizó en la facultad de informática de la Universidad Nacional de La Plata. El lunes pasado presentamos un paper titulado: «Physical Etoys: la libertad más allá del mundo digital». La única foto que sacamos fue una muy casual al paisaje del campus 🙂 Que se diviertan!

, ,

No hay Comentarios

Playing & programming Sphero

Hi everybody! Hope you are well 🙂 The goal of this post is to tell you that we’ve been playing with the Orbotix’s ball called Sphero and we’ve spent a good time. So we’ve decided to add it to Physical Etoys. We can change its colors, stabilize it, read its sensors and make scripts to move it. We’ve uploaded a short but cool video because we do not have much time to film.

You can download the Sphero .pem to play with Physical Etoys here.

Hope you like it. Have fun!


¡Hola a todos! Espero que anden bien 🙂 Este post es para decirles que estuvimos jugando con la pelota Sphero de Orbotix y realmente nos gustó. Entonces decidimos agregarla a Physical Etoys. Podemos cambiarle su color, estabilizarla, leer sus sensores y realizar guiones para que se mueva. Les dejamos un video corto pero copado ya que no tenemos mucho tiempo para filmar. Esperamos que les guste. Que se diviertan!

Pueden bajar el .pem de Sphero para jugar con Physical Etoys aquí.

Esperamos que les guste. Que se diviertan!

, , , , ,

7 Comentarios