My child is learning programming using Scratch in school. Can she program her Mindstorms using Scratch?
8 Answers
If you wish to program the EV3 with Scratch, then check out this project on github:
https://github.com/koen-dejonghe/ev3-scratch-helper-app
This software is a so-called helper app, that interfaces between the Scratch 2.0 offline editor and the Lego Mindstorms EV3.
The EV3 must be booted from Lejos (http://sourceforge.net/p/lejos/wiki/Home/), requires a wifi dongle and wireless setup.
The helper app will find the EV3 brick on the wireless network, and will execute commands invoked in Scratch as RMI requests on the EV3. The helper app also reports the status of the motors and sensors back to Scratch.
Below is an example program in Scratch, that allows you to control the robot with the arrow keys (after having pressed 'g'), or (after having clicked on the 'start' sprite) let the robot walk around until it meets an object that is too close, at which point it will make a left turn.
The robot itself should look something like this :
Have fun, and let me know what you think.
No, but you can use a very similar programming language: Enchanting. (I haven't tried it yet. It was recommended by the programming instructor).
Mitch Resnick at the MIT Media Lab is the developer of both Scratch and the original Mindstorms programmable brick, and the original Mindstorms programming interface was very similar to Scratch. If you have one of the original Mindstorms Robotics Invention System sets (and a PC of the proper vintage on which to run the software) she would probably find it similar enough to use without much trouble. (I recently rejuvenated my old Mindstorms sets with a $30 laptop bought online)
Scratch for LEGO Mindstorms EV3
One way is to use the open-source online programming environment Open Roberta Lab: http://lab.open-roberta.org there is also a wiki included for detailed information. Or just google Open Roberta at wikipedia.
Everything is for free.
On macOS, it is officialy supported, with the « New LEGO® MINDSTORMS® Home pre-release software for macOS ». I guess that will soon be the case on windows 🥳
Open Roberta wiki: https://wiki.open-roberta.org
Open Roberta Community: https://groups.google.com/forum/#!forum/open-roberta
Best Thorsten
-
1Thorsten - welcome and these are good suggestions. Can you elaborate a bit in your answer - for example explain what Open Roberta is, how NEPO compares to Scratch etc. that will help OP get a full answer from this site without having to jump to links that might or might not work in the future?– Phil B.May 31, 2016 at 19:20
-
Open Roberta is the name of a project within the German education initiative "Roberta—Learning with robots", initiated by Fraunhofer IAIS, which is an institute belonging to the Fraunhofer Society. With Open Roberta Fraunhofer IAIS is looking to encourage kids to code by using Lego Mindstorms, a programmable robotics platform. The Cloud-approach of the Open Roberta Lab makes programming easier and minimizes the hurdles for teachers and schools to teach how to code. Open Roberta is free and does not require any installation. The project was initially founded with $1Mio by Google.org.– thorstenJun 2, 2016 at 7:00
-
NEPO is a free open source meta programming language that can be used by students, scholars, teachers, and other interested persons in the Open Roberta Lab. NEPO is how we call our graphical programming language and its coupled hardware connection layer. NEPO uses the freely available Blockly library. In addition within NEPO there are additional functionalities and improvements have been adapted for Open Roberta. The programming paradigm of NEPO is inspired by Scratch. All infos at: en.wikipedia.org/wiki/Open_Roberta– thorstenJun 2, 2016 at 7:03
You can control an EV3 brick as it is (no added firmware) via bluetooth with Snap. This open source Snap extension can be find at: https://drive.google.com/drive/folders/0BycKtjGwKylicndOeXNkcXVlVG8
It allows you to control all the sensors in the LEGO box, the motors and the vehicle (if you need one). The documentation (and the blocks) is mostly in french :-(
All you need to make it work is Windows (7 or higher), Chrome and bluetooth (on your computer, the EV3 already has bluetooth).
Maybe also interesting for scratch users - we made a comparison between our language, called NEPO (wich is quite simular to scratch) and LEGO Mindstorms EV3 Software (EV3-G): http://roberta-home.de/en/comparisson-between-open-roberta-and-lego-mindstorms-ev3-software