Joystick Controller for MeArm Robot - Recording Coordinates

Uses 2 analog joysticks to control 4 servos without of using additional board. Have 3 modes: manual, recording of coordinates and autorun.

Nov 25, 2018

47514 views

35 respects

Components and supplies

1

5 mm LED: Red

2

Analog joystick (Generic)

4

Micro servo SG90

2

Resistor 10k ohm

1

Resistor 680 ohm

1

Arduino UNO

Apps and platforms

1

Arduino IDE

Project description

Code

Arduiono Joystick controller for MeArm ® robot with recording of coordinates. (version 1.3.1)

arduino

Use Arduino IDE for programming Arduiono UNO base board via USB port.

Downloadable files

MeArm robot - joystick servo recorder - test board

Testing board with only two servos connected. See schematic diagram to connect 4 servo motors.

MeArm robot - joystick servo recorder - test board

Joystick controller for MeArm ® robot - shematic diagram (version 1.3)

Joystick controller for MeArm ® robot with recording of coordinates - shematic diagram

Joystick controller for MeArm ® robot - shematic diagram (version 1.3)

Joystick controller for MeArm ® robot - shematic diagram (version 1.3)

Joystick controller for MeArm ® robot with recording of coordinates - shematic diagram

Joystick controller for MeArm ® robot - shematic diagram (version 1.3)

MeArm robot - joystick servo recorder - test board

Testing board with only two servos connected. See schematic diagram to connect 4 servo motors.

MeArm robot - joystick servo recorder - test board

Comments

Only logged in users can leave comments

astorgallionspain

8 days ago

hello. Thanks for your great project. I have tried to add 1 servo controlled by a 3rd joystick, but the modifications i made to the code are not suitable. I posted the code in the forum so that maybe someone could get the right changes https://forum.arduino.cc/t/control-5-servos-3-joysticks-recording-coordinates-arduino-uno/1321649/4 Any idea how to control 5 servos with 3 joysticks with recording coordinates?? Thank you

hiromer

2 years ago

Das ist nicht meine Lösung.

Anonymous user

2 years ago

HI. I have just built a 6 servo robot arm which used bluetooth but it is not going to be suitable for my 6 year old Grandson. I have tried altering the sketch to allow control of pins 5-11 and the additional two inputs from a third joystick and while it compiles OK only the outputs and inputs in the original sketch work. Is there a sketch that I can use organ you point me in the right direction to get it to work on all is servos please?

Anonymous user

2 years ago

Excellent concept of recording coordinates with hardware interface by joystick. Shall highly appreciate if this is extended to using 16 servos or more by connecting a I2C servo driver control board and interfacing to Arduino.

Anonymous user

2 years ago

Hi .. Thank you for sharing your great project. If we want to replace the base servo motor with a stepper motor, what changes should be made to the project code? (L298 or CNC shield as a driver)

utilstudio

2 years ago

In version 1.2. was improved recording of coordinates. And some bugs was removed.

utilstudio

2 years ago

In version 1.3 was changed pins of buttons and pin of LED.

Anonymous user

2 years ago

hello, this is my first project. i wanted to ask. how to calibrate motors? when i turn on, my all servos are going forward and arms stucks.thank you

Vagelisoulis

2 years ago

yes i have the same problem to please help

utilstudio

2 years ago

On program start the servos are set to start positions defined in software (in degrees): int startBase = 90; int startShoulder = 90; int startElbow = 90; int startGripper = 0; So you can change this values to angles you need on start of program. You can also set limitations for each servo (mimimal and maximal angle): int minBase = 0; int maxBase = 150; int minShoulder = 0; int maxShoulder = 150; int minElbow = 0; int maxElbow = 150; int minGripper = 0; int maxGripper = 150; From 0 to 180 degrees.

Anonymous user

2 years ago

It is simple. Before fixing the servos make sure they all are at 90 degrees or centre position. One can use a very low cost (<$2) servo tester or fix a drum on the servo and manually turn to left right to ascertain the centre position. You may visit https://technoaids.com/servo-tester/

utilstudio

2 years ago

New version 1.3.1. of software was published.

Anonymous user

2 years ago

Thanks for your tutorial. I understand more about joystick now. https://youtu.be/ecHEG9RSDEw

Anonymous user

3 years ago

Hi ...... Really amazing project im switching mg90 servos to mg995 and with a help of a pca9685 driver to run the servos properly im trying to figure out how to run it with this code any help?

Lumostr

3 years ago

Hi .. Thank you for sharing your great project. If we want to replace the base servo motor with a stepper motor, what changes should be made to the project code? (L298 or CNC shield as a driver)

Anonymous user

3 years ago

HI. I have just built a 6 servo robot arm which used bluetooth but it is not going to be suitable for my 6 year old Grandson. I have tried altering the sketch to allow control of pins 5-11 and the additional two inputs from a third joystick and while it compiles OK only the outputs and inputs in the original sketch work. Is there a sketch that I can use organ you point me in the right direction to get it to work on all is servos please?

ucpatnaik

4 years ago

Excellent concept of recording coordinates with hardware interface by joystick. Shall highly appreciate if this is extended to using 16 servos or more by connecting a I2C servo driver control board and interfacing to Arduino.

utilstudio

6 years ago

New version 1.3.1. of software was published.

utilstudio

6 years ago

In version 1.3 was changed pins of buttons and pin of LED.

ucpatnaik

2 years ago

It is simple. Before fixing the servos make sure they all are at 90 degrees or centre position. One can use a very low cost (<$2) servo tester or fix a drum on the servo and manually turn to left right to ascertain the centre position. You may visit https://technoaids.com/servo-tester/

Vagelisoulis

2 years ago

yes i have the same problem to please help

utilstudio

2 years ago

On program start the servos are set to start positions defined in software (in degrees): int startBase = 90; int startShoulder = 90; int startElbow = 90; int startGripper = 0; So you can change this values to angles you need on start of program. You can also set limitations for each servo (mimimal and maximal angle): int minBase = 0; int maxBase = 150; int minShoulder = 0; int maxShoulder = 150; int minElbow = 0; int maxElbow = 150; int minGripper = 0; int maxGripper = 150; From 0 to 180 degrees.

zbitkus

2 years ago

hello, this is my first project. i wanted to ask. how to calibrate motors? when i turn on, my all servos are going forward and arms stucks.thank you

utilstudio

6 years ago

In version 1.2. was improved recording of coordinates. And some bugs was removed.