Can't restore IR functionality to Starter Robot kit


#1

Hey All, I loaded up a program on my sons Starter Robot using mBlock 3.1. One wheel moves forward and one moves in reverse. Yay! Now, I can’t get the remote to work again. I have spent a day and a half trying to figure out how to do that… Many recommendations seem to be for the mBot (not Starter Robot).

I really, really like the construction of this Robot. It is very nice compared to other kits. I also like the ability to program the Robot through the mBlock interface. I would VERY much like a reliable way to restore to factory default, because at the moment, it spins in a circle at 1/4 speed. http://learn.makeblock.cc/how-to-restore-factory-setting-manually/ doesn’t work, or I am missing something.

Thanks,
Matt


#2

Matt,

Take a look at this post cheat-sheet-getting-started. The information you are looking for is under step 7.

Mike


#3

Thanks, Mike–that writeup didn’t cover my problem, but I’m sure I will refer back to it.

I can upload and “Reset Default Program” … but … After doing that, the remote blue LED flashes when it receives input, but the robot does not respond to the input. I noticed this post includes pictures of the mBot with clever hard top. This is referring to the mBot, not the Starter Robot Tank my son built. I think that may be a different board, (maybe?) and therein the issue may lie (maybe?). I believe the board for the Starter Robot Kit is the Me Orion.

The mBlock software, when I select the Me Orion board, doesn’t have a “Reset Default Program” option. Also, many of the coding options aren’t there, such as the “IR Remote [A] Pressed” control. Whenever I create a program in mBlock to run and double click it in mBlock, it turns yellow while executing but does not actually execute and turn the motors for 5 seconds… like it does if I had set the board to mBot and double-clicked on validated code.


#4

We’re having exactly the same very frustrating experience! We bought my youngest a Starter Robot for Xmas, and having built it he spent a couple of days simply controlling it with the IR controller. Then we moved to trying out mBlock, since the programmability of the robot was exactly the reason we got it. First simple program done we discovered two problems …

(1) Exactly like you … how do we restore the default program so that when desired he can simply use the IR controller? I’ve read (and tried) a variety of suggestions.

In the instructions for mBlock you’re told to run the “Upgrade Firmware” step when you initially attach your robot, and I’ve similarly seen it suggested that that also restores the original program. It certainly wipes any program I’ve uploaded, but as per your experience whilst the IR board indicators presses being received, nothing happens now using the IR controller. Also as you’ve noted when you’ve chosen the Orion board there is no “Reset Default Program” enabled.

I’ve also seen it suggested that you should rebuild the default program yourself in the Arduino IDE. I’m a Mac user and whilst I believe I’ve correctly installed the Starter Robot master library, I can’t get anything using the Makeblock libraries to compile cleanly. The libraries are resolved and included, but I get errors included multiple definitions of various constants etc. In desperation I’m on the hunt for an old Windows box to try, since apparently the Arduino IDE download includes the Makeblock libraries pre-installed.

(2) All the trouble with (1) above would be less of an issue if I could get anything more than the simplest mBlock program to work. Sure simple commands like turning the motor on and off work, but things like the IR library don’t! It sits there, presses are indicated by the blue LED, but the code doesn’t respond! My worry is that since those commands in mBlock are shown under the mBot category that again they’re not compatible with the Starter Robot!?

Net is that what at first was a great Xmas present has now degraded to a frustrating (expensive) nightmare! Proper technical support is required from Makeblock!


#5

Alrighty… this has mostly been resolved. It is the Me Orion board on the Starter Robot Kit, and not the mBot, and so following the instructions here http://learn.makeblock.cc/orion/ with the Arduino 1.0.6 compiler, the tank is working again. I would like to be able to use the graphical mBlock software or Scratch to help my son with programming concepts. Are either of these simpler user interfaces available?

Thanks again!
Matt


#6

Yeah, I think mBlock software is out of the picture for this kit. I was poking on Ardublock last… nothing to report yet. Maybe that will be the promised easy-to-use programming interface I had hoped for, since mBlock doesn’t cut it with the Me Orion board.


#7

So I’ve made huge progress but it wasn’t particularly pretty. Reading around I realized there was a later version of mBlock available (http://forum.makeblock.cc/t/control-problems-with-scratch/2669/6). The links at http://learn.makeblock.cc/learning-scratch/ point to version 2.2.1, but actually there is a version 3.1 from http://www.mblock.cc/.

Regarding getting the default program back on the Starter Robot. Yesterday I’d tried compiling the example version (IR_Ultrasonic.ino) in the master library both in an explicit version of the Arduino IDE I’d installed and also the embedded version you get to in mBlock when you use the “Edit with Arduino IDE” button. In both I’d got compile errors. Today I made good on an idea I’d had previously … I deleted my explicitly installed Arduino IDE and also deleted the Arduino user directory to get rid of the copy of the master library I’d installed. Then from mBlock 3.1 I opened the embedded copy (in the belief it’d already have its own hard installed copy of the libraries), and built a null program which included the correct Orion library headers. Success! Then simply using the master library for source, I opened the default program source, compiled it successful and uploaded it the Starter Robot! End result is a Starter Robot fully back to “toy mode” and controllable with the IR control :smiley:.

What I’ve found is that with mBlock 3.1 installed, I now get a more explicitly identified different set of blocks to use when you correctly select the board type as an Orion. It’s more basic that when the board selected is mBot, but I’m going to see what I can code up.

Final thing is that I’ve also copied out the embedded copy of the Arduino IDE (easily done on a Mac by showing the package contents of the mBlock application and then finding it in the directory tree below), and can now use that directly for building stuff including the all important default program.


#8

#9

I am interested in this null program. However, as a near-complete neophyte with Arduino, would you be able to stepwise tell me how you got mBlock to work? I would really like to use the mBlock software.

@nemesis_c, thanks for your support! I don’t have the same bot your post references though–I have the Starter Robot Kit http://www.amazon.com/Makeblock-Starter-Robot-V2-0-Electronics/dp/B00H3D8L9O

As far as I can tell, mBlock doesn’t support my robot out-of the box.


#10

Cooking on gas now … have now confirmed that programming in mBlock is fully functioning :smiley:.

@francis_ppl The key is absolutely to be running mBlock 3.1, which in your original post you mentioned you already were. I wasn’t which was half of the problem.

With 3.1 and the board set as a Me Orion, then you can fully use the sensors including the infrared remote to control your program etc. Enable the “Communication” extension too and you can also use the serial interface to get information back from the Starter Robot when USB connected.

Try the following simple mBlock program. You’ll need to create two variables “Distance” and “KeyPressed” using the “Data&Blocks” block in mBlock. Then create the program as shown.

It demonstrates correctly reading and responding to a key press from the remote control, and also reading the distance (in roughly centimetres it appears) from the ultrasonic sensor. The key read is a raw value, so you need to map it to a useful key using the values you can find in here … https://github.com/Makeblock-official/Makeblock-Libraries/blob/master/makeblock/src/MeInfraredReceiver.h. Hence key A = 0x45 = 69 decimal.

Upload the mBlock program to the Starter Robot, disconnect the USB, and hopefully when you press button A it should move forward, unless there’s something in close proximity in front in which case it should move backwards.


#11

Hi Randy, I’m in the same position. Can you explain your procedure a little more? I wish Makeblock could make restoring the Orion easy.


#12

Never mind, I figured it out. Got the Arduino program and the libraries in the correct folders. Uploaded the starter kit file and all is well.


#13

Apols for leaving you hanging, but glad to hear you sorted it out in the end :+1:.


#14

@RAndyVee, after you poke around on a program like this in mBlock, how do you revert back to “toy mode”? I have read and re-read your instructions a dozen times… I’m no closer to understanding your methods. If I were to wipe all the installed Arduino and mBlock software and drivers and remove the directories—starting from scratch, how might I end up with mBlock software that lets me tweak the Starter Robot at night, and then restore it to a well-adjusted toy during the day?


#15

Hey, I am not sure if you got an answer here or not, but sounds like what I went through. Started with the Tank (Orion Board), it never did run any default toy mode. Managed to get to Radio Shack in time to grab the last mBot, which will take the default program and return to toy-mode.

So I now play with the tank and the kid has the mBot.

I basically copied/wrote a Tank toy mode program for the IR remote, like others as shown above. I also purchased the inventor kit, which has some handy things like the 7-segment LED. I was able to map the IR output to the LED to get the key values.

If you can’t find them all, let me know, I’ll post them.


#16

Check this out, IR Codes.


#17

That’s not comforting… I have only the one robot that we are afraid to monkey with.

Thanks for jumping on the thread @Gort


#18

Well, I wouldn’t be too afraid of monkeying with it, it really is the idea ;-).

There is a thread somewhere here with the program written, you just need to copy it and keep it for upload.

I have a copy of one I can throw up here.

If you get other programs that work, you start tweaking them and learn the programming language through the drag and drop blocks.

mBlock (aka Scratch) has a huge following in the use just for that panda and writing animations and games through it outside of the robot boards.
About Scratch

Then you can start playing with other Arduino based boards and parts. I picked up this Esplora board and TFT display, which can be programmed to run those kind of games/scripts:


#19

Hey, I found they sell the mBot board alone. http://www.makeblock.cc/mcore-main-control-board-for-mbot/

You could get it, and mount it to your robot, but you would need to use these motors http://www.makeblock.cc/tt-geared-motor-dc-6v-200rpm/ , the tank motor has a different connector.

But I can’t say the mounting will work, it’s just a thought.

Then you would have the mBot board and could use it’s programs, like the default toy mode.


#20

Sorry but for some reason the forum failed to notify me I’d be @ed in a reply.

The absolute key to getting the Tank back to toy mode, is building and uploading the default Arduino sketch for it - IR_Ultrasonic.ino.

This requires two things …

  1. The sketch itself can be found can be found in the Makeblock Library - https://codeload.github.com/Makeblock-official/Makeblock-Libraries/zip/master. If you download this .zip file and unzip, you’ll find the sketch in the directory Makeblock-Libraries-master/makeblock/example/Firmware_for_Starter/IR_Ultrasonic.

  2. A working Arduino IDE setup with the Makeblock libraries. This is where I had problems, since whilst on Windows the Arduino IDE for download from http://learn.makeblock.cc/learning-arduino/ apparently includes the libraries already integrated, the same isn’t true on the Mac. Whilst I followed the instructions to add the libraries, I wasn’t able to cleanly build any sketches with my own installed Arduino IDE. My solution was cheeky but effective. On the Mac, if you also have the latest version of mBlock on your machine, embedded as a component of the mBlock app is a copy of the Arduino IDE correctly set up with the libraries. With only this version present on the machine (and Documents/Arduino/libraries deleted to remove my previously botched install of the library), I was able to successfully build the default Tank sketch. You can access that embedded Arduino IDE via the “Edit with Arduino IDE” button in mBlock, or alternatively if you use “Show Package Contents” against the mBlock app, you’ll find it in mBlock.app/Contents/Resources/Arduino.