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...


Recommended