Hackster is hosting Hackster Holidays, Ep. 7: Livestream & Giveaway Drawing. Watch previous episodes or stream live on Friday!Stream Hackster Holidays, Ep. 7 on Friday!
MJRoBot (Marcelo Rovai)
Published © GPL3+

Local and Remote Programmable Robotic Arm

Let's develop step by step a project for controlling and programming a robotic arm, simulating the basic functions of an industrial robot.

IntermediateFull instructions providedOver 1 day35,182
Local and Remote Programmable Robotic Arm

Things used in this project

Hardware components

Arduino Mega 2560
Arduino Mega 2560
×1
SainSmart DIY 3-Axis Control Palletizing Robot Arm Model for Arduino UNO MEGA2560
×1
MeArm DIY Robot Arm Kit
×1
HC-06 Bluetooth Module
×1
RGB Backlight LCD - 16x2
Adafruit RGB Backlight LCD - 16x2
×1
Android device
Android device
×1
Rotary potentiometer (generic)
Rotary potentiometer (generic)
10Kohm
×4
Pushbutton switch 12mm
SparkFun Pushbutton switch 12mm
×3
LED (generic)
LED (generic)
RED, BLUE, GREEN, YELLOW
×4

Software apps and online services

Arduino IDE
Arduino IDE
MIT App Inventor 2
MIT App Inventor 2

Story

Read more

Schematics

Robot Arm

Code

Code snippet #1

Arduino
// MeArm 4-DOF
#define minGrip 15 
#define minBase 0 
#define minShou 60 
#define minElbw 60 

#define maxGrip 45 
#define maxBase 170
#define maxShou 180 
#define maxElbw 150 

#define midGrip 30
#define midBase 87
#define midShou 138
#define midElbw 100

/* SS 3-DOF
#define minGrip 75 
#define minBase 5 
#define minShou 5 
#define minElbw 0 

#define maxGrip 125 
#define maxBase 150
#define maxShou 155 
#define maxElbw 0 

#define midGrip 100
#define midBase 90
#define midShou 90
#define midElbw 0 
*/

Code snippet #2

Arduino
int gripPosition[100];
int basePosition[100];
int shouPosition[100];
int elbwPosition[100];

int positionIndex = 0;   // Index to be used at position array used for recorded tasks

Code snippet #3

Arduino
void loop ()
{
  checkBTcmd ();
  defineLocalRemote () ;
  execTaskCmd = digitalRead (execTaskPin);
  if (execTaskCmd == || HIGH command == "runon")
  {
    RunProgram () ;
  }
  else recArmPosition () ;
  command = "";
}

Github

https://github.com/Mjrovai/MJRoBot-Programmed-Arm

Credits

MJRoBot (Marcelo Rovai)
67 projects • 959 followers
Professor, Engineer, MBA, Master in Data Science. Writes about Electronics with a focus on Physical Computing, IoT, ML, TinyML and Robotics.

Comments