eclipsecon europe 2013 - turning eclipse into an arduino programming platform for kids

41
TURNING ECLIPSE INTO AN ARDUINO PROGRAMMING PLATFORM FOR KIDS Mélanie Bats / Obeo

Upload: melbats

Post on 28-Jan-2015

108 views

Category:

Technology


1 download

DESCRIPTION

"Daddy, daddy, how does a computer work?" We're used to say that curiosity is a bad habit but it is nonetheless one of the greatest strenghts of kids: they are eager to learn. Learn how a computer works, how one can build an application for a phone or a tablet, how one can create a video game. The best answer is probably to give them the tools to discover by themselves the answer to those questions. Eclipse is used by hundreds of thousands of adults for programming activies, so why not by kids? How to turn Eclipse into a programming environment for kids? This talk will present our approach and thoughts to simplify the Eclipse user interface for usage by kids. We will show how we created, thanks to Sirius, an easy-to-use and natural graphical tool to let kids discover programming. A demonstration will present a prototype of a development environment that allows to program an Arduino using a simple and graphical block-based language.

TRANSCRIPT

Page 1: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

TURNING ECLIPSE INTO AN ARDUINOPROGRAMMING PLATFORM FOR KIDS

Mélanie Bats / Obeo

Page 2: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

CURIOSITYExplore, question and learn

Page 3: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

DISCOVER BY YOURSELFExplore to understand cause and effects.

Page 4: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

COMPUTERS ARE EVERYWHERETo understand the world, you need to understand how

computers work

Page 5: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

UNDERSTAND ELECTRONICSPlay with sensors and actuators

Page 6: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

OPEN HARDWARE

Page 7: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

ELECTRONIC FOR KIDSOpen hardware dedicated to kids learning electronics :

littleBits

Page 8: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

ARDUINO

Page 9: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

ARDUINO KITSCheap, easy to find thanks to many different providers :

, , , , ...AdaFruit DFRobot SeeedStudio SnootLab

So many kinds of modules available!

Page 10: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

UNDERSTAND PROGRAMMINGMany open source software are dedicated to learn

programming to kids : Scratch, TurtleLogo, KidsRuby,Python4Kids...

Initiatives : Programatoo, Devoxx4Kids, greenlight, codinggoûter...

Page 11: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

TEXT

Page 12: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

GRAPHICAL

Page 13: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

PROGRAM THE REAL WORLD

Page 14: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

ECLIPSE IDE FOR DEVELOPPERSComplex UI, concepts (perpsectives, project lifecycle...),

languages (Java, C)

Page 15: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

TURNING ECLIPSE AN IDE FOR KIDSGraphical programming & light UI

Page 16: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

A SIMPLIFIED UINo menu, only a toolbar with 4 buttons activated according to

what is possible

Page 17: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

DASHBOARDThe process :

1. Define connection between hardware platform andmodules

2. Describe the sketch3. Upload on the target

Page 18: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

HARDWAREPlatform, Modules, Wire

Page 19: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

SKETCH

Page 20: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

PROTOTYPE BASED ON DFROBOT ARDUBLOCKKIT

Sensors : ambient light, infrared , sound, push button, rotation

Actuators : LEDs, micro servo motors, fan

Page 21: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

HELLO WORLDBlink a LED!

Page 22: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

GRAPHICAL BLOCK-BASED LANGUAGEStructures : while, repeat, ifFunctions : delayHardware modules : Status, Level, SensorVariablesConstantsMathematical operators

Page 23: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

SIRIUSA tool to quickly define DSL based custom multi-view

workbenches with dedicated representations

Sirius

Page 24: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

WHY USING SIRIUS ?For the tool development phase : Dynamic & iterative (live)developmentFor kids : Tooling adapted to the development of arduinosmall projects

Page 25: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

ARDUINO DESIGNER DEVELOPMENTSTEP 1 - ARDUINO DSL

DSL describing what are Arduino hardware modules andsketches

Page 26: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

ARDUINO DESIGNER DEVELOPMENTSTEP 2 - ARDUINO DIAGRAM SPECIFICATION

Sirius specification

Page 27: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

ARDUINO DESIGNER DEVELOPMENTSTEP 3 - CODE GENERATOR

Generate ino files with Acceleoint brightness;void setup() { brightness=0;}void loop() { while ((brightness<255)) { brightness=(brightness+1); analogWrite(11,255-(brightness)); delay(8); } while ((brightness>1)) { brightness=(brightness-1); analogWrite(11,255-(brightness)); delay(8); } delay(200);}

Page 28: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

ARDUINO DESIGNER DEVELOPMENTSTEP 4 - INTEGRATE ARDUINO COMPILER

arduino.mk

Generate Makefile with Acceleo

makeBOARD_TAG = unoARDUINO_PORT = /dev/ttyACM0ARDUINO_LIBS = Servo

include /usr/share/arduino/Arduino.mk

Page 29: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

ARDUINO DESIGNER DEVELOPMENTSTEP 5 - INTEGRATE TARGET UPLOADER

avr-gcc, avrdude

make upload

Page 30: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

USE SENSORA LED + push button

Page 31: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

FADE LIGHT1 LED + programming language

Page 32: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

A MORE COMPLEX PROJECTA pet robot

Page 33: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

TIGGER

Page 34: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

MANY SENSORS AND ACTUATORS

Page 35: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

RECYCLED HIGH TECH COMPOSITE

Page 36: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

TOUCHPush button nose commands a blinking necklace

Page 37: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

SEEInfrared sensor eye commands the servo-motored tail

Page 38: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

HEARSound sensor ear commands the bubble machine

Page 39: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

MORE "SIRIUS" PRESENTATIONSWednesday

14:30 - Changing the Game of Systems Architecture16:15 - Sirius By Example17:00 - EcoreTools 2.0: The Making Of19:00 - BOF "Let's get Sirius"

At any time: ask us or visit Obeo booth

Page 40: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

FIND THE CODE ?https://github.com/mbats/arduino

Page 41: EclipseCon Europe 2013 - Turning Eclipse into an Arduino programming platform for kids

THANKS! QUESTIONS?CLAP YOUR HANDS TO MAKE MORE BUBBLES! AND MAYBE

ASK QUESTIONS...