LED faceplate Install Instructions?


#1

Are there any install instructions available for the mBot LED faceplate? Someone posted a picture of an installed faceplate, but it would really help if we had instructions.

thanks!


#2

Hello

The official LED faceplate install instructions are not released, but it will coming soon with the next upgrade of mBlock. I can share two diagrams about the instructions, Please check and install it on your mBot!

Thanks


#3

There are some instructions here http://learn.makeblock.cc/mbot-face-plate/ which goes a bit further than the diagram.

There does seem to be few issues though getting a script to compile to upload to the mBot.


#4

See here for clues:


#5

thanks, everyone, for the quick responses! Very helpful.


#6

surprised there isn’t an option to mount both the LED faceplate and the ultrasound sensor…I can see how to make it work easily, but with the LED faceplate upside down…


#7

I’m planing on buying two standoffs that are about 10mm long and adding them to one end of the mCore mounting holes. It faces up but since the bot is usually on the ground it would be easier to see anyhow.


#8

Using nylon standoffs


#9

Here’s another way. Used little polymorph to fix it on the top.


#10

I wrote a little animation with my two kids and it worked great on the Scratch side but when trying to upload it failed to compile.
I rewrote it in cpp so that my son could have it installed but I am certain there is a reason that mine isn’t compiling from the original translation.
Attached is my rewritten code that does compile and upload properly. (feel free to check it out.)


fireworks_arduino_cpp.zip (27.9 KB)

cpp code:

#include <Arduino.h>
#include <Wire.h>
#include <Servo.h>
#include <SoftwareSerial.h>

#include "mBot.h"
#include "MePort.h"
MeBoard myBoard(mBot);
#include "MeLEDMatrix.h"

double angle_deg = 180.0/PI;
MeLEDMatrix ledMtx_1(1);

void setup(){
    
}

void loop(){
    
    ledMtx_1.clearScreen();
    ledMtx_1.setColorIndex(1);
    ledMtx_1.setBrightness(6);
    uint8_t i1[16] = {0,0,1,3,0,0,0,0,0,0,0,0,0,0,3,1};
    ledMtx_1.drawBitmap(0,0,16,i1);
    delay(1000*0.2);
    uint8_t i2[16] = {0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0};
    ledMtx_1.drawBitmap(0,0,16,i2);
    delay(1000*0.2);
    uint8_t i3[16] = {0,0,0,0,0,4,0,0,0,0,0,4,0,0,0,0};
    ledMtx_1.drawBitmap(0,0,16,i3);
    delay(1000*0.2);
    uint8_t i4[16] = {0,0,0,0,0,0,8,0,0,8,0,0,0,0,0,0};
    ledMtx_1.drawBitmap(0,0,16,i4);
    delay(1000*0.2);
    uint8_t i5[16] = {0,0,0,0,0,0,16,40,16,0,0,0,0,0,0,0};
    ledMtx_1.drawBitmap(0,0,16,i5);
    delay(1000*0.2);
    uint8_t i6[16] = {0,0,0,0,0,16,48,44,80,16,0,0,0,0,0,0};
    ledMtx_1.drawBitmap(0,0,16,i6);
    delay(1000*0.2);
    uint8_t i7[16] = {0,0,0,0,8,80,32,6,64,80,8,0,0,0,0,0};
    ledMtx_1.drawBitmap(0,0,16,i7);
    delay(1000*0.2);
    uint8_t i8[16] = {0,0,0,0,76,64,0,3,0,64,40,4,0,0,0,0};
    ledMtx_1.drawBitmap(0,0,16,i8);
    delay(1000*0.2);
    uint8_t i9[16] = {0,0,0,32,70,0,0,1,0,0,48,6,0,0,0,0};
    ledMtx_1.drawBitmap(0,0,16,i9);
    delay(1000*0.2);
    uint8_t i10[16] = {0,0,0,48,3,0,0,0,0,0,24,3,0,0,0,0};
    ledMtx_1.drawBitmap(0,0,16,i10);
    delay(1000*0.2);
    uint8_t i11[16] = {0,0,0,8,1,0,0,0,0,0,4,1,0,0,0,0};
    ledMtx_1.drawBitmap(0,0,16,i11);
    delay(1000*0.2);
    uint8_t i12[16] = {0,0,0,4,0,0,0,0,0,0,2,0,0,0,0,0};
    ledMtx_1.drawBitmap(0,0,16,i12);
    delay(1000*0.2);
    uint8_t i13[16] = {0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0};
    ledMtx_1.drawBitmap(0,0,16,i13);
    delay(1000*0.2);
    uint8_t i14[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
    ledMtx_1.drawBitmap(0,0,16,i14);
    delay(1000*0.2);
    
}

LED Matrix
#11

ok with the updates to all the code (mBlock 2.2.0 , driver, firmware, arduino 1.6.5) I can compile and upload the faceplate code attached
fireworks.sb2.zip (78.2 KB)


#12

Here is another pretty easy one to try out and experiment with the ultrasonic sensor and onboard light sensor.


The faceplate will show the distance value on the left and the light intensity on the right.


#13

Another one to spark some ideas.
This one will show an image sliding up when you get closer to the mBot.


#14

This is truly fantastic and thanks for sharing! I will be trying these out with my son this weekend. These are exactly the sort of things I had wanted to mess around with but wasn’t sure where to start.


#15

Once again, can’t thank you enough for these demo programs. I ended up using this with my son but I thought I’d mention for others that might use this, I added a simple 0.2 second wait, just to smooth out the display.


#16

Great work.
Here is another one I made that averages the ultrasonic info.


I made a more extensive one that allowed you to cycle through different sample sizes using the onboard button.

Slowing down the refresh like you did helps a lot. Another thing I did was detect if the data changed and only refreshed when there was a change. I can’t find that program but that was the idea and it cleaned up the flicker.


#17

Wow, amazing stuff there!

Do you have a blog or twitter or something where you post this stuff? I’d love to have your examples all in one place. :smile:

Also, just after I read your message the other night, it seems my US stopped working. The LED faceplate no longer shows anything other than 00 where the distance should be. I’m going to try again tonight…maybe different ports or something.

Has this ever happened to you before?


#18

No blog but I guess I could start one for this type of stuff. I was hoping to provide help here but you are right about finding stuff on here. I haven’t had that specific issue but I have had issues that were eventually solved thru trial and error. There ARE some bugs in the mBlock code that I have outlined elsewhere in the forums but again that might be a good thing to build a reference of. Some of the bugs I was hoping to address when I have time and feel the urge to dig into their source for the extensions.


#19

It could be that the code is not set correctly.
You also want to look at what port you have the LED matrix on, and what port you are sending the command to.

There are some simple steps to reset all the LED matrix boards connected anywhere. (This does not interfere with the other connected hardware on the mBot.)

First you want to upload a piece of code.
Use the ‘Show Drawing’ block 4 times for all four ports, leaving the drawing box empty

mBlock Block Code:

Show Drawing (Port 1) x:(0) y:(0) Drawing: []
Show Drawing (Port 2) x:(0) y:(0) Drawing: []
Show Drawing (Port 3) x:(0) y:(0) Drawing: []
Show Drawing (Port 4) x:(0) y:(0) Drawing: []

Now use the same kind of approach we used before, putting 4 code blocks in the code, sending the exact same command to each of the 4 ports.

I might release a library for mBlock containing a block that will take care of that for you.


#20