Interface and Application Programming

Choice of the tools

FabLab should not be just for nerds. Fortunately, there is a whole bunch of tools to involve even young children. As a teacher, I wanted to try one of the wonderful tools made by MIT for this: Scratch.

In the framework of the assignment of the week, using an Arduino with the Firmata firmware in conjunction with Scratch extension seems an interesting idea. OK, I admit it is a way of cheating: I did the assignment with my 10-years old son (who helped the other ?)

Setup

Firmata firmware is included in Arduino IDE examples:

Firmata is a program that make the Arduino I/O accessible to various programs running on the computer connected to it. Many languages/IDE have extensions that can operate Firmata: python, Matlab, ... Scratch.

After setting up the Arduino, it is mandatory to add Scratch extension, download here. Although tagged as "experimental" I found them especially stable, offering a nice user-experience to impatient kids.

The schematics is the following:
It allows simple tests and first interactions: lighting on/off the LED from a simple Scratch program, reading simply the potentiometer value. The nice things starts when both interact, in the next section.

Visual programming

The program is minimalist, and just written to demonstrate basics of human-machine interaction: an Apple is the only sprite (lutin in french). Its color is controlled by a potentiometer connected to the Arduino. The program is self-explaining:

The LED appearing in the screen capture was used in a previous version as a visual indication of the value red (with "Change LED brightness").

After years of practice of programming and electronics, it is striking to see how different is the reaction of a child to the LED brightness variation (in physical world) and to the apple color change (on the screen): the action (rotating the knob), in the physical space on the LED (in phyiscal space too) is perceived as natural, whereas the action of the knob on the screen is perceived as something really new... Even if the whole mechanism is well understood (including the fact that the LED is driven by the computer).

Previous week
Back to index
Next week