To program an electronic board with CoSpaces EDU


#1

Today CoSpaces EDU focuses on VR, but in the french STEM curriculum, students need to model, simulate, vary design parameters for that the technical solution corresponds to the need (with a certain number of constraints defined in the specifications), but students also need to experiment and compare the results obtained by simulation and those obtained experimentally.

A 3D printer is a great tool for experimenting with technical motion transmission solutions, for example.
To manage the behavior of the mechanism, students can use a programmable electronic board, sensors, …
Unfortunately CoSpaces does not allow to program an electronic board actualy.

This year, I chose to use with my students the Microsoft MakeCode application with a micro: bit board:


http://microbit.org/
http://www.elecfreaks.com/estore/bbc-micro-bit-board-for-coding-programming.html
http://www.elecfreaks.com/estore/elecfreaks-micro-bit-breakout-board.html

MakeCode allows you to program with Blockly, or in JavaScript. A powerful simulator is integrated into MakeCode.
The modeling made with Blockly or JavaScript in CoSpaces can be partially used in MakeCode, but in practice you have to redo everything because they are not the same blocks or the same APIs. It’s a big problem for me.
Ideally, CoSpaces could integrates the functions of MakeCode, which is open source: https://github.com/Microsoft/pxt


Kinematic simulation
#2

Hi Daniel,

thanks for the detailed description and resources.

Your request is to have a micro:bit simulator in CoSpaces so you can simulate micro:bit programs in CoSpaces before you’re implementing it on the actual board and the simulator on https://makecode.microbit.org/ isn’t enough? Do I understand it right?

Thanks!


#3

H, Benny,
CoSpaces can be used in almost all types of STEM activities: students can analyze, model, simulate, communicate. The only area where CoSpaces can not be used is experimentation.
CoSpaces allows you to completely model a system with Blockly or JavaScript : users with all kinds of interfaces (buttons, displays, audio, …), mechanisms that act on objects, sensors, …
Microsoft MakeCode does not allow it. It allows to model, also with Blockly or JavaScript, but only the behavior of an electronic board such as BBC micro:bit. It also makes it possible to simulate the behavior of the inputs/outputs of the board, but the most important is that it allows to generate an executable code by the board (.hex file). To upload this code in the BBC micro:bit board (for it to execute), you simply have to copy the generated file in its interface (seen as an USB mass storage). A small .exe file provided by Microsoft does it automatically: https://www.touchdevelop.com/microbituploader.zip

The ideal for me would be to be able to do everything with CoSpaces (except upload the .hex file to the board), at least for simple cases:
. to model and simulate a whole system managed in part by a BBC micro:bit board,
. to generate the .hex file executable by the BBC micro: bit (.hex) board.

Simple example:
I consider here a system with a servomotor actuating a mechanism, with a button, a BBC micro:bit board connected to the button and to the servomotor.
Behavior to model:
When you press the button then the actuator activates the mechanism in a defined sequence (for example turn the axis 45 degrees, wait a second, then return to the initial position).
With MakeCode I can only partially model this system. I can not simulate the mechanism driven by the servomotor, whereas I can do it with CoSpaces (but I do not really know how to do it right now).
With MakeCode I can generate the executable file (.hex) for the electronic board, and experimentally test the behavior of the complete system, whereas I can not do it with CoSpaces.

(the mechanism does not transmit any movement here, because I do not know how to do it actualy!)

The same example with Microsoft MakeCode:

Servomoteur 02_11_17 600x364

To simulate with MakeCode, or to édit the code:
https://makecode.microbit.org/_HeCPr1HTeMFw

The problem is that you have to model in both applications (CoSpaces and MakeCode) the fact that when I press the button, a certain movement have to be controlled.

It would be great to be able to use in CoSpaces at least some basic blocks of MakeCode, to model the inputs/outputs of the electronic board, then that CoSpaces generates the executable file (.hex) by the BBC micro:bit board corresponding to these few blocks only.
MakeCode uses Blockly and JavaScript as CoSpaces, but I suppose it would be difficult to integrate some of the MakeCode source code into CoSpaces, especially to generate executable file (.hex) by the BBC micro:bit. But who knows, To innovate, you have to dream a little.

Virtual Universe Pro with Scenario for mBot robot (60 € TTC for a license valid one year for all the PCs of a school) allows to simulate and program mBot robot, with mBlock:


#4

If so, please add also the Calliope mini (www.calliope.cc and pxt.calliope.cc) :slightly_smiling_face:


#5

The BBC micro:bit board is enjoying worldwide success. Many countries choose to equip their schools with this board. Unfortunately Germany has chosen to have its own version, called Calliope, which will probably only be used in Germany, because it is to expensive (compared to BBC micro:bit which cost only 20 € in France).
It is true however that the hardware of Calliope is close to that of the BBC micro:bit (same processor in particular) and that the two versions of MakeCode correspond are also close.


#6

Ah, have to answer directly. I know that it’s off-topic :wink:
The Calliope has much more sensors and actuators onboard (RGB-LED, double H-bridge to control two motors directly, two conns for Grove sensors, speaker, microphone) and IMHO a better board layout. You simple can’t short-circuit the pins with a croco clip. So 15 € more is ok, I think.


#7

Here’s a direct TCO compare between Arduino, micro:bit and Calliope mini: https://calliopemini.wordpress.com/2017/11/02/preisvergleich-calliope-mini-vs-arduino-uno-und-microbit/


#8

Of course Calliope is a very interesting board and I understand the choices made for its design. However, I am not convinced by the comparison, particularly with regard to prices (RGB LED, H-Bridge , …) and user needs.
We’ll see what happens in the future, but I think that Calliope users will remain extremely minor compared to BBC micro:bit users whose number is exploding this year. In North America, 2 million students are expected to use BBC micro:bit by 2020 !
This worldwide success is still not very visible in Germany because of the Calliope project which is competing with BBC micro:bit project :wink:
It would be a pity that CoSpaces would not benefit from this succes (or these successes).


#10

Hi…to me “simulation” means some scenario that can be rapidly run again and again, with the user/player tweaking variables and seeing what happens. If it’s “fun” there is more of an intersection with games. If not so fun, it might be considered by most more of a model. Computers can and do help with the iteration process because they can reset to T=0 much quicker than human players. Although “role play” is also a kind of simulation.


#11

Do you think you’d be able to achieve the simulation now, with the Physics Engine?