Working on mini 3-layer round robot chassis

I’m writing a blog on controlling a robot with a Blynk app. I’m going to use mini 3-layer round robot chassis kit from Adafruit, Feather HUZZAH ESP8266, and DC Motor FeatherWing.
Can anyone provide me the high-res images for the assembly steps?

Hello, this is the Blynk Forum… I think the images and directions you are seeking will be better sourced on the suppliers page :wink:

Yes. I know. But I need different set of image to include with the blog. :slight_smile: The application is based on Blynk.

Well I don’t see how you will find them here :wink:

Well if you need assistance with your Blynk project, ask away… now that’s what we are here for :+1:

1 Like

That’s great.

I’m using the joystick widget to control the robot with following operations:

  1. Forward
  2. Backward
  3. Turn Left
  4. Turn Right
  5. Stop

Can you tell me the range of x and y values for each operation?

It defaults 0-255 and usually you set it for the range of the device being controlled, but with custom settings and/or code and mapping, I guess you could use any range you want.

Don’t forget to read about all the commands in the Documentation, as well as the Help Center and even some examples in the Sketch Builder. All these links are at the top right of this page.

For example the Joystick Widget: Introduction - Blynk Documentation

The example only shows how to phrase x and y values from the incoming message. But I’m not clear about the associated x and y range for each direction.

Here is my code. What are the values for x and y for each logical decision?

    BLYNK_WRITE(V1)
    {
      int x = param[0].asInt(); // get x axis value
      int y = param[1].asInt(); // get y axis value

      if(y>?)
      forward();

      else if(y<?)
      back();

      else if(x>?)
      right();

      else if(x<?)
      left();

      else
      stop();

    }

That is entirely up to you… i.e. how much of a buffer near center do you want, if any; Are you accounting for velocity control or simple go-no-go, etc.

Search this forum for other joystick control projects to see how others chose to do it. I am actually in the process of converting my tracked rover to Blynk, so my very simple go-no-go test method is like this (at the moment).

BLYNK_WRITE(V6)
{
  Flag = 1;
  int y = param[1].asInt();
  int x = param[0].asInt();
  if (y > 750 && Flag == 1) {  // Forward
    Flag = 0;
    incomingByte = '1';
    ControlOutput();
  }
  if (y < 250 && Flag == 1) {  // Backward
    Flag = 0;
    incomingByte = '2';
    ControlOutput();
  }
  if (x < 250 && Flag == 1) {  // Left
    Flag = 0;
    incomingByte = '3';
    ControlOutput();
  }
  if (x > 750 && Flag == 1) {  // Right
    Flag = 0;
    incomingByte = '4';
    ControlOutput();
  }
  if (y == 512 && y == 512) {  // Full Stop
    incomingByte = '0';
    ControlOutput();
  }
}
1 Like

And an additional tidbit that might make it easier for the directional ranges… On the Joystick Widget simply set the MIN at -255 (or whatever) and the MAX at 255 (or whatever), this leaves the center at 0 and makes it a bit easier to factor in which direction based on negative or positive readings.