Control self balancing robot WowWee MiP from ScratchX
JavaScript
Permalink
Failed to load latest commit information.
images Add Instruction for Scratch2MiP RSC version. Oct 16, 2016
scratch2mip_helper Add Remote Sensor Protocol version. Oct 16, 2016
.gitignore Add node_modules to ignore list. Jun 19, 2016
README.md Add Instruction for Scratch2MiP RSC version. Oct 16, 2016
crossdomain.xml
scratch2mip.js
scratch2mip_demo.sbx
scratch2mip_helper.zip

README.md

scratch2mip

scratch2mip is ScratchX extension that enables Scratch to control balancing robot, WowWee MiP.

scratch2mip Demo

Platforms

Install Helper App

To control MiP, Helper App needs to be installed. You need node.js to run it.

% cd workdir
% wget https://champierre.github.com/scratch2mip/scratch2mip_helper.zip
% unzip scratch2mip_helper.zip
% cd scratch2mip_helper
% npm install

Run scratch2mip

  1. Open ScratchX page.
  2. Click "Open Extension URL" and paste the following URL, then click "Open".

    http://champierre.github.io/scratch2mip/scratch2mip.js
    
  3. On Warning dialog, click "I understand, continue" if you trust scratch2mip.
  4. Turn on Wowwee MiP.
  5. Run the Helper App:

    cd workdir/scratch2mpi_helper
    node scratch2mip_helper.js
    
  6. If the Helper App successfully connects to the robot, it lists your MiP. Choose the robot you want to control.

    scratch2mip_helper

  7. If the Helper App says "Server listening on...", you can control MiP from ScratchX using the following custom blocks.

    blocks

  8. Demo Project: scratch2mip_demo.sbx

    blocks

Remote Sensor Protocol version for Scratch 1.4

If you want to control MiP from Scratch 1.4, use scratch2mip_helper/scratch2mip_rsc.js.

  1. Start Scratch 1.4.

  2. Enable "remote sensor connections"(Click "Sensing" on the top left area, then right click on "slider sensor value". Select "enable remote sensor connections" in the context menu.)

    remote sensor connections

  3. Run the Helper App RSC version:

    cd workdir/scratch2mpi_helper
    node scratch2mip_rsc.js
    
  4. Use "broadcast" blocks to control MiP

    broadcast blocks