Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Anna Gerber
    @AnnaGerber
    FWIW when I plugged mine in (and already had the CH34* driver installed) it didn't show up in Arduino IDE either until I flicked the switch on the side of the board on
    ajfisher
    @ajfisher
    Ahh yes. Totally forgot about that!
    Rick Waldron
    @rwaldron
    @AnnaGerber interesting, I will try that when I have a few minues
    ajfisher
    @ajfisher
    So @rwaldron - I had to explain to the makeblock crew the significance of where Johnny-Five came from, provided links to the movie etc.
    Rick Waldron
    @rwaldron
    I love it!
    ajfisher
    @ajfisher
    Pretty great huh? They are putting an edison in it and building a board around that...
    Rick Waldron
    @rwaldron
    That's incredible. I want to get in on development of this
    I have a lot of Edison experience that they can benefit from
    Specifically: they should use I2C for as much as possible.
    For example: PCA9685 for the servos, reserve the 4 PWM capable pins for motors
    @ajfisher Can we get a shared roadmap, or "work list" thing going with them
    ajfisher
    @ajfisher

    Okay - I'll see what they are using for their roadmap etc. Let me ping them and see what they want to do.

    @waldschip do you have an opinion on how we can feed into the process around the johnny-five robot that you're working on?

    ajfisher
    @ajfisher
    @/all have published some changes last night that make this repo interchange capable so basically you can install it with an interchange install git+https://github.com/Makeblock-official/mbot_nodebots and it should push the custom firmata bin straight onto the board
    Narciso Jaramillo
    @njx
    Hi folks. Just got an mBot for my daughter, and their website was down for awhile, so I couldn't download the stock software. I searched around and ran into the nodebot mBot repo. I got it basically working via bluetooth, and am trying to get the proximity and ultrasonic sensors working. The examples in the repo assume the prox sensor is plugged into port 2 and the ultrasonic sensor is plugged into port 3, but in the standard build the two are reversed. Obviously I could just switch them :), but wanted to keep it compatible with their software. I don't know that much about Arduino, and couldn't immediately figure out how to modify the examples to use the right pins - I tried just changing the sonar.js example to use "A3" (which appears to be the analogous pin on port 3 to pin 10 on port 2, if I'm understanding the labelling), but that didn't seem to work, presumably because it's a different type of pin?
    @ajfisher ^^
    I also noticed that not all the examples take the port as an option (so don't all work with bluetooth) - I could submit a PR to fix that.
    Narciso Jaramillo
    @njx
    Figured it out - I guess A3 is pin 17 when used as a digital pin. Would be nice if something in the stack knew to map that automatically, but since I don't really know Arduino I don't even know if that makes sense :)
    Now to figure out the reflectance sensor :) - if I plug it into port 3 it gives me values but they don't quite make sense; whereas on port 2 the pins are digital, and ReflectanceArray seems to assume analog pins. I think the mBot sensor might be digital since each side of the light sensor seems to have an on/off LED to show state.
    Narciso Jaramillo
    @njx
    Yeah, looks like ReflectanceArray doesn't support digital sensors. Oh well.
    ajfisher
    @ajfisher
    Apologies @njx just back after some holidays so just seeing messages again properly
    Paulo Carvalho
    @paulolc
    Hi @njx , have you figured out the reflectance sensor? BTW, have you got the led matrix? (http://www.makeblock.cc/me-led-matrix-8-16/). I was wondering if there is any example of connecting it using the mbot_nodebots I could look at.
    ajfisher
    @ajfisher
    @paulolc reflectance sensor should work based on the examples in the repo
    Also, I do have some code for the LED matrix however right now there's a big refactor of the way LED matrices work in Johnny five which will help make it work better
    Paulo Carvalho
    @paulolc
    Yes @ajfisher, all the examples, including the one for the reflectance sensor, should and do work beautifully. Thank you and all the contributors for mbot_nodebots! I'm very grateful. Being able to control my kids mbots from node, my favorite platform, is so much fun.
    And thank you on the update about the LED matrix progress. Do you know if there is an issue open for the refactor I could follow for updates?
    ajfisher
    @ajfisher
    @paulolc This is probably the best thread to follow issue wise I think - it's spawned some others which you'll see linked from it. rwaldron/johnny-five#665
    Paulo Carvalho
    @paulolc
    @ajfisher, the rwaldron/johnny-five#665 thread seems to be stalled at the moment. Meanwhile I was wondering if I can use firmata's I2C operations to control the mBot's Led Matrix module.
    The MakeBlocks official wiki page of the Led Matrix module indicates that it's controlled via the I2C interface: http://learn.makeblock.com/en/me-led-matrix-8x16/ : "The Me LED Matrix contain 128 pieces of matrix LED.There are 8 piece per line and 16 per row. The main board sends the data to module through I2C bus, and LED control specific chip in module can handle the data and interpret it. And output relative signal to power on or off the LED. Make them display the content."
    Paulo Carvalho
    @paulolc
    However, the pins names (DIN, SCK) are different from what I2C pins are usually called (SCL, SDA). Furthermore, on the module schematics the SCL and SDA pins are apparently Not Connected (NC)
    Which interface are you using to program the Led Matrix
    Thx
    ajfisher
    @ajfisher
    @paulolc I'll have a look at some code I did around this some months ago (which was one of the prompts for the LED matrix rewrite requirement) - I don't totally recall but I'm fairly sure I didn't use I2C to make this work. Looking at the data sheet it doesn't appear to run I2C but as is common with this sort of thing there's a clock and data in signal which you pulse to give it instructions. Will dig out the code I've done so far and put it in a gist
    Paulo Carvalho
    @paulolc
    Thanks a lot!
    noitsme
    @noitsme
    @noitsme
    Hi @ajfisher, I am using J5 + mbot with a wireless module. I could get all the examples working posted at this repo, except the very last one under heading "2.4GHz wireless module". repo: https://github.com/Makeblock-official/mbot_nodebots
    Basically, everything works over USB. but over Wifi, even though I have hid installed fine and can debug the script and see its working with the right device, I cant get it to actually control the motor over wifi.
    Do you remember any additional steps you needed to do to get mbot working over wifi? fairly technical user here.
    ajfisher
    @ajfisher
    @noitsme I'm assuming you have the WiFi module and you've put that in. Note that you'll need to change the baud rate to 115200 as well in the firmata to make it work. That was pretty much the guts of it..
    noitsme
    @noitsme
    Aah, got it! I assumed that step only applied to Bluetooth. Let me give that a shot and report back. Thanks Andrew!
    noitsme
    @noitsme
    modified the ino file. About to upload new firmware to mbot. wondering if I should run the USB version or the bluetooth version of this command line "interchange install git+https://github.com/Makeblock-official/mbot_nodebots -a uno --firmata=usb"
    i guess I will try the USB version since I have WiFi and not the bluetooth chip.
    Okay, just finished the step of running node examples\wifi_motors.js. Same results as before.
    Here's the exact step in the code it is stuck waiting on:
    console.log('just before io.on("ready"');
    io.on('ready', function(err){
    if(err){ console.log( err ); return; }
    noitsme
    @noitsme
    the console print displays on screen, and then the program still runs with the flashing cursor. Any ideas @ajfisher?
    Line# 26. Note: I tried both with io.once('ready', function(){}) and io.on('ready', function(){}) and in neither case program execution enters the function.
    noitsme
    @noitsme
    BTW this is on a Windows 10 machine.
    noitsme
    @noitsme
    @ajfisher, am taking a fresh stab at connecting to the mbot over the WiFi module from a Linux machine.
    I have a few knowledge gaps I would like to clear-up with your help. When running interchange with the firmata option what is the difference when I pass it usb vs. bluetooth?
    interchange install ... --firmata=usb vs. --firmata=bluetooth

    So far, I have mblock's program controlling mbot remotely over WiFi. So I know the chip isn't the problem.
    Its only when I switch to firmata, the J5 motor example works perfectly fine over USB but not over WiFi. I did try changing the baud rate manually like you suggested, but that didn't seem to help. The J5 program is sitting waiting after this line: io.once('ready', function(){}

    Appreciate any thoughts you might have. Thanks :)

    ajfisher
    @ajfisher

    @noitsme things you can try and some clarifications:

    • can you build a small JS app and have it actually connect to the HID (ie are you seeing the device properly?)
    • Re firmware in this case you can use the same firmware as the bluetooth one, The Wireless module for the mbot used 115200 baud rate which is the same as the BT module. As such use the same --firmata=bluetooth and you should be good.

    Just to clarify are you using the 2.4GHz wireless module or the WiFi module as they are two different things? The latter is an actually WiFI endpoint that connects to your network, the former has a USB dongle you plug into your computer which talks to it like a wireless keyboard or mouse (that's not using BT obv).