LED Matrix issue with negative X position


#1

Hi,

I’ve recently bought 2 new mBots plus an LED matrix for my kids.

We did a simple program to display scrolling text. The following worked on both to show text scrolling from left to right:

Scratch_LED

So we could run this independent of the PC, we tried uploading to Arduino on one of the mBots (let’s call it mBot A). This didn’t work as expected (we know how to do this properly now) but we thought we could get back to the original state by using Reset Default Program. Unfortunately, the reset has not brought it back to the exact state it was.

When run on mBot A, when the text starts scrolling beyond the LHS (i.e. x < 0), it disappears and then flashes briefly every so often. We tried to work out why the flashing occurs and wondered whether specific positions worked. We then checked this out to determine that when x is negative, the text only shows when x is divisible by -6. Outside of that, the entire text disappears. That is:

  • -1 to -5 = disappears
  • -6 = appears (i.e. we can see ‘ello’)
  • -7 to -11 = disappears
  • -12 = appears (i.e. we can see ‘llo’) and so on

mBot B (which we have not uploaded to Arduino nor Reset Default Program) is still working fine so there is some difference to resolve.

We are running mBlock 3.4.11.


#2

After posting this, we tried Upgrade Firmware and our program is working properly now on mBot A. Unfortunately the default program features are not available after this (e.g. top button no longer switches modes) so it is not ideal. I would like to use Reset Default Program and have the robot work as it did originally.

Any ideas? Is it something to do with the version of mBlock we are running that means the Reset Default Program doesn’t quite work as out-of-the-box?


#3

Hi Grant, upgrade firmware for the mBot will clear the factory default program.
If you want to reset default program for the mBot, please refer to FAQ 2 in this post.

Besides, here is FAQ 7 which shows the difference between upgrade firmware and reset default program to you for reference.


#4

Thanks for the response but not sure it answers my question. The sequence was:

  • mBot A and mBot B - out of the box state, program worked with scrolling text and no problems
  • mBot A - upload to Arduino, then Reset Default Program to revert - program run online from PC does not work as previously (i.e now flashing position is negative)

The comment about Upgrade Firmware was just an observation that we could get the program to run as expected again on mBot A. However the real issue is that the Reset Default Program does not appear to be exactly as per the original as the scrolling text does not appear as previously.

Any ideas on why?


#5

Hi Grant,

I thought I understand your problem but now I feel confused, sorry for this.
If you don’t mind, you may take a video to show what is the problem you meet, it may be helpful to understand the problem.

Anyway, here I want to clarify that if you want the robot work with original state (top button can switch modes ), you need reset default program again after each time you upgrade firmware or upload other program.
But if you want to run the mBlock online program, you need upgrade firmware again after each time you reset default program or upload a program.


#6

I agree that videos will make it clearer. Videos are in the zip.

mBot B is the out-of-the-box robot running the program (i.e. we have not using Arduino mode or Reset Default Program on it). Text scrolls as expected.

mBot A has had Reset Default Program run on it and now running the same program as mBot B. Scrolling is fine until in a negative X position. After this, the text only flashes on and off. Further analysis indicates that the text is shown at -6, -12, -18, etc but otherwise hidden.

mBot videos.zip (7.7 MB)


#7

Hi Grant,

I have checked the video .
To solveproblem on mBot A, you need upgrade firmware for mBot to clear the factory default program, then run the online program and it will works properly.

Please note, it normally won’t work normal if you run mBlock online program with default program uploaded to the robot.


#8