Difference between revisions of "MDesigner"

From Microduino Wiki
Jump to: navigation, search
(Live Mode)
(Arduino Mode)
 
(29 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
[[File:MDesigner_Interface.png|right|thumb|400px|<center>mDesigner</center>]]
 +
 
mDesigner is based on Scratch 3.0 with enhancements which allow the use of Microduino modules, sensors & trinkets in the drag-and-drop Scratch environment.
 
mDesigner is based on Scratch 3.0 with enhancements which allow the use of Microduino modules, sensors & trinkets in the drag-and-drop Scratch environment.
  
Line 8: Line 10:
 
<br clear=all>
 
<br clear=all>
  
=Interface=
+
=Modes=
 +
mDesigner can interact with Microduino modules in two different modes. Each mode has its own pros and cons. It is recommended to use '''Live mode''' initially before exploring '''Arduino mode'''.
  
 +
'''Live''' mode is regular Scratch, but with added blocks which are designed to interact with Microduino modules. This means the user has access to the stage and actor blocks. Projects (hardware) need to be connected to the computer running mDesigner. mDesigner communicates with the project (hardware), namely the Core module, in "real time" over the USB connection by sending commands for the core module to perform. This means that "Live" mode requires a constant connection with the computer running mDesigner.<br><br>
 +
'''Arduino''' mode acts as a "visual" drag and drop coding editor. The script (code) is converted to "Arduino" code and then compile and uploaded to the attached Core module. This means that code can run even when detached from the computer. The stage and actor are disabled in this mode since the code runs independent of mDesigner.<br>
  
=Modes=
 
mDesigner can interact with Microduino modules in two different modes. Each mode has its own pros and cons. It is recommended to use '''Live mode''' initially before exploring '''Arduino mode'''.
 
  
{| class="wikitable"
+
{| class="wikitable" style="text-align: left;"
 +
|-
 +
! scope="col"| Capability
 +
! scope="col"| Live Mode
 +
! scope="col"| Arduino Mode
 +
|-
 +
| '''Drag & Drop programming'''
 +
| style='background: #EAFAF1' | Yes
 +
| style='background: #EAFAF1' | Yes
 
|-
 
|-
!
+
| '''Supports Microduino modules'''
! scope="col"| Live
+
| style='background: #EAFAF1' | Yes
! scope="col"| Arduino
+
| style='background: #EAFAF1' | Yes
 
|-
 
|-
! scope="row"| Supports Microduino modules
+
| '''Stage and actor enabled'''
| YES
+
| style='background: #EAFAF1' | Yes
| YES
+
| style='background: #FDEDEC' | No
 
|-
 
|-
! scope="row"| Can use "Actor" & "Stage" blocks in script
+
| '''Real time code testing'''
| YES
+
| style='background: #EAFAF1' | Yes
| NO
+
| style='background: #FDEDEC' | No
 
|-
 
|-
! scope="row"| Programs can be ran WITHOUT being connected to computer
+
| '''Code compiled and uploaded'''
| NO
+
| style='background: #FDEDEC' | No
| YES
+
| style='background: #EAFAF1' | Yes
 
|-
 
|-
 +
| '''Can run WITHOUT being connect to computer'''
 +
| style='background: #FDEDEC' | No
 +
| style='background: #EAFAF1' | Yes
 
|}
 
|}
 +
  
 
==Live Mode==
 
==Live Mode==
Line 40: Line 55:
  
 
Live mode also supports all of Scratch 3.0's default blocks which includes those that control the actor, stage and many more.
 
Live mode also supports all of Scratch 3.0's default blocks which includes those that control the actor, stage and many more.
 +
 +
<big>[[MDesigner:_Live_mode]]</big>
  
 
==Arduino Mode==
 
==Arduino Mode==
 
'''Arduino mode''' is a mode which compiles a user's script (program) and uploads it directly onto the Core module or mCenter+. This means the user's script (program) actually resides on the Core module or mCenter+. As a result, a user's script (program) will still run on the Core module or mCenter+ even when NOT connected to the computer running mDesigner.
 
'''Arduino mode''' is a mode which compiles a user's script (program) and uploads it directly onto the Core module or mCenter+. This means the user's script (program) actually resides on the Core module or mCenter+. As a result, a user's script (program) will still run on the Core module or mCenter+ even when NOT connected to the computer running mDesigner.
 +
 +
When using '''Arduino mode''', scripts need to be compiled and uploaded onto the Core module or mCenter+. Compiling and uploading takes time. Whenever a modification is made to the script, it will be necessary to compile and upload in order see or observe the changes. This can be time consuming if constant changes are made in the user's script.
 +
 +
Optimal strategy when developing scripts would first to use '''Live mode''' to develop and test the script. Once the script is mostly tested and finalized, then translate from "Live mode script" to an "Arduino mode script" (some Live mode blocks cannot be used in Arduino mode).
 +
 +
Arduino mode also does not supports particular blocks. Blocks which interact with the actors and stages cannot be used. Other blocks will also be incompatible.
 +
 +
<big>[[MDesigner:_Arduino_mode]]</big>
 +
 +
=Supported Microduino Modules=
 +
*Core (328p)
 +
*Core+ (644pa)
 +
*mCenter+ (contains Core+)
 +
{{Clickable_headed_image_table_box_small|header=Motor|link=Motor_(use_with_mDesigner)|image=file:MCookie-Motor-rect.jpg|image_size=140px|table_width=175px|table_height=150px}}
 +
{{Clickable_headed_image_table_box_small|header=Motor+|link=Motor+_(use_with_mDesigner)|image=file:MCookie-Motor-rect.jpg|image_size=140px|table_width=175px|table_height=150px}}
 +
{{Clickable_headed_image_table_box_clear}}
 +
 +
==Supported Sensors==
 +
{{Clickable_headed_image_table_box_small|header=Joystick|link=Joystick_(use_with_mDesigner)|image=File:Microduino-Joystick-v1.jpg|image_size=140px|table_width=175px|table_height=150px}}
 +
{{Clickable_headed_image_table_box_small|header=Crash|link=Crash_(use_with_mDesigner)|image=File:Microduino Crash-rect-v1.jpg|image_size=140px|table_width=175px|table_height=150px}}
 +
{{Clickable_headed_image_table_box_small|header=Touch Button|link=Touch_(use_with_mDesigner)|image=File:Microduino-TOUCH-v1.jpg|image_size=140px|table_width=175px|table_height=150px}}
 +
{{Clickable_headed_image_table_box_small|header=Motion|link=Motion_(use_with_mDesigner)|image=File:IBC.png|image_size=140px|table_width=175px|table_height=150px}}
 +
{{Clickable_headed_image_table_box_small|header=Temp. & Hum. S2|link=Temperature_&_Humidity_S2_(use_with_mDesigner)|image=File:Microduino-Temp&Hum-S2.jpg|image_size=140px|table_width=175px|table_height=150px}}
 +
{{Clickable_headed_image_table_box_small|header=Temp D1|link=Temperature_D1_(use_with_mDesigner)|image=File:IBC.png|image_size=140px|table_width=175px|table_height=150px}}
 +
{{Clickable_headed_image_table_box_small|header=IR Controller|link=IR_Controller_(use_with_mDesigner)|image=File:Microduino-IR receiver.jpg|image_size=140px|table_width=175px|table_height=150px}}
 +
{{Clickable_headed_image_table_box_clear}}
 +
 +
==Supported Trinkets==
 +
{{Clickable_headed_image_table_box_small|header=Servo|link=Servo_(use_with_mDesigner)|image=File:Servo.png|image_size=140px|table_width=175px|table_height=150px}}
 +
{{Clickable_headed_image_table_box_small|header=Single Color LED|link=Single_Color_LED_(use_with_mDesigner)|image=File:Microduino-LED-rect-v1.jpg|image_size=140px|table_width=175px|table_height=150px}}
 +
{{Clickable_headed_image_table_box_small|header=Multi-color LED|link=Multi_Color_LED_(use_with_mDesigner)|image=File:Microduino-WS2812-rect-v1.jpg|image_size=140px|table_width=175px|table_height=150px}}
 +
{{Clickable_headed_image_table_box_small|header=Dot Matrix|link=none|image=File:IBC.png|image_size=140px|table_width=175px|table_height=150px}}
 +
{{Clickable_headed_image_table_box_small|header=Buzzer|link=Buzzer_(use_with_mDesigner)|image=File:Microduino-BUZZER-v1.jpg|image_size=140px|table_width=175px|table_height=150px}}
 +
{{Clickable_headed_image_table_box_small|header=OLED Screen|link=OLED_(use_with_mDesigner)|image=File:MCookie-OLED-rect.jpg|image_size=140px|table_width=175px|table_height=150px}}
 +
{{Clickable_headed_image_table_box_clear}}

Latest revision as of 15:11, 13 August 2018

mDesigner

mDesigner is based on Scratch 3.0 with enhancements which allow the use of Microduino modules, sensors & trinkets in the drag-and-drop Scratch environment.

Software Setup

mDesigner runs on recent versions of Windows and Mac OS. The software setup guides can be found below.

Windows
MicroduinoGettingStart-ForWindows.jpg
mDesigner Setup (for Windows)
Mac
MicroduinoGettingStart-ForMAC.jpg
mDesigner Setup (for Mac)


Modes

mDesigner can interact with Microduino modules in two different modes. Each mode has its own pros and cons. It is recommended to use Live mode initially before exploring Arduino mode.

Live mode is regular Scratch, but with added blocks which are designed to interact with Microduino modules. This means the user has access to the stage and actor blocks. Projects (hardware) need to be connected to the computer running mDesigner. mDesigner communicates with the project (hardware), namely the Core module, in "real time" over the USB connection by sending commands for the core module to perform. This means that "Live" mode requires a constant connection with the computer running mDesigner.

Arduino mode acts as a "visual" drag and drop coding editor. The script (code) is converted to "Arduino" code and then compile and uploaded to the attached Core module. This means that code can run even when detached from the computer. The stage and actor are disabled in this mode since the code runs independent of mDesigner.


Capability Live Mode Arduino Mode
Drag & Drop programming Yes Yes
Supports Microduino modules Yes Yes
Stage and actor enabled Yes No
Real time code testing Yes No
Code compiled and uploaded No Yes
Can run WITHOUT being connect to computer No Yes


Live Mode

Live mode is a mode which requires a special piece of code to be uploaded onto the Core module or mCenter+. This special code is designed to receive commands from mDesigner and performs said commands. This means the user's script (program) actually resides in mDesigner. The execution of the user's script (program) occurs in real time when mDesigner sends commands over the USB connection to the Core module or mCenter+. None of the user's script (program) actually exists directly on the Core module or mCenter+. As a result, a user's script (program) cannot be executed if the Core module or mCenter+ is disconnected from the computer running mDesigner.

Scripts can be edited on mDesigner and immediately tested without having to compile and upload new code onto the Core module or mCenter+. This is possible because mDesigner can run the new script (program) by sending the appropriate commands in real time. This saves time by not having to compile and upload a new or modified script.

Live mode also supports all of Scratch 3.0's default blocks which includes those that control the actor, stage and many more.

MDesigner:_Live_mode

Arduino Mode

Arduino mode is a mode which compiles a user's script (program) and uploads it directly onto the Core module or mCenter+. This means the user's script (program) actually resides on the Core module or mCenter+. As a result, a user's script (program) will still run on the Core module or mCenter+ even when NOT connected to the computer running mDesigner.

When using Arduino mode, scripts need to be compiled and uploaded onto the Core module or mCenter+. Compiling and uploading takes time. Whenever a modification is made to the script, it will be necessary to compile and upload in order see or observe the changes. This can be time consuming if constant changes are made in the user's script.

Optimal strategy when developing scripts would first to use Live mode to develop and test the script. Once the script is mostly tested and finalized, then translate from "Live mode script" to an "Arduino mode script" (some Live mode blocks cannot be used in Arduino mode).

Arduino mode also does not supports particular blocks. Blocks which interact with the actors and stages cannot be used. Other blocks will also be incompatible.

MDesigner:_Arduino_mode

Supported Microduino Modules

  • Core (328p)
  • Core+ (644pa)
  • mCenter+ (contains Core+)
Motor
MCookie-Motor-rect.jpg
Motor+
MCookie-Motor-rect.jpg

Supported Sensors

Joystick
Microduino-Joystick-v1.jpg
Crash
Microduino Crash-rect-v1.jpg
Touch Button
Microduino-TOUCH-v1.jpg
Motion
IBC.png
Temp. & Hum. S2
Microduino-Temp&Hum-S2.jpg
Temp D1
IBC.png
IR Controller
Microduino-IR receiver.jpg

Supported Trinkets

Servo
Servo.png
Single Color LED
Microduino-LED-rect-v1.jpg
Multi-color LED
Microduino-WS2812-rect-v1.jpg
Dot Matrix
IBC.png
Buzzer
Microduino-BUZZER-v1.jpg
OLED Screen
MCookie-OLED-rect.jpg