IoT Based Robot Arm
IoT Based Robot Arm
1.0 INTRODUCTION
Nowadays customers are mainly concerned about the quality and time
of delivery of products. This made industries to make use of robotics
extensively in their processes, which has the ability to work at constant
speed without pausing and ultimately has the potential to produce more in
shorter time than a human worker
1662/TRG/2018/G Page | 1
IoT BASED ROBOT ARM CONTROL
2.2 OBJECTIVES
2.4 TARGET
To make a prototype of robot arm which is controlled by android app
where the communication happens between app and controller via Wi-Fi.
2.5 LIMITATIONS
The servo motors used in the project has only 180 degrees of
rotation.
1662/TRG/2018/G Page | 2
IoT BASED ROBOT ARM CONTROL
1662/TRG/2018/G Page | 3
IoT BASED ROBOT ARM CONTROL
4.2 COMPONENTS
1. Transformer: (9-0-9) V, 1A
2. Diodes: 1N4007
3. Capacitors: 2200uF, 25V, 0.33uF and 0.1uF ceramic capacitors
4. Resistor: 1k
5. LED
6. Voltage regulator: LM7805
7. Copper clad
8. Pin connectors
1662/TRG/2018/G Page | 4
IoT BASED ROBOT ARM CONTROL
4.3 DESIGN
Step 1: The selection of a regulator IC
The minimum input for the selected regulator IC is 7V. So, a transformer to
step down the main AC to at least this value has to be selected. But,
between the regulator and transformer, there is a diode bridge rectifier too.
The rectifier has its own voltage drop across it, i.e. 1.4V. so it has to
compensate for this value as well.
Mathematically:
Vsecondary = 7.4V+1.4V
1662/TRG/2018/G Page | 5
IoT BASED ROBOT ARM CONTROL
The selected diode must have the current rating more than the load current.
And peak reverse voltage (PIV) more than peak secondary transformer
voltage.1N4007 diode is selected because it has the current rating of 1A
and peak reverse voltage of
The capacitor voltage rating must be at least 20% more than the secondary
voltage. Capacitance value depends upon the output voltage and the output
current. Selected capacitor = 2200uF, 25V
1662/TRG/2018/G Page | 6
IoT BASED ROBOT ARM CONTROL
regulator is also broken out to one of the sides of the board and labelled as
3V3. This pin can be used to supply power to external components.
1662/TRG/2018/G Page | 7
IoT BASED ROBOT ARM CONTROL
The ESP8266 Node MCU has total 17 GPIO pins broken out to the pin
headers on both sides of the development board. These pins can be
assigned to all sorts of peripheral duties, including:
• SPI, I2C & I2S interface – SPI and I2C interface to hook up all sorts
of sensors and peripherals.
• I2S interface – I2S interface if you want to add sound to your project
1662/TRG/2018/G Page | 8
IoT BASED ROBOT ARM CONTROL
The board also has a LED indicator which is user programmable and
is connected to the D0 pin of the board.
1662/TRG/2018/G Page | 9
IoT BASED ROBOT ARM CONTROL
The ESP8266 Node MCU has total 30 pins that interface it to the
outside world. The connections are as follows:
• Power pins: There are four power pins viz. one VIN pin & three 3.3V
pins. The VIN pin can be used to directly supply the ESP8266 and its
peripherals, if you have a regulated 5V voltage source. The 3.3V pins
are the output of an on-board voltage regulator. These pins can be
used to supply power to external components.
• GND: Is a ground pin of ESP8266 Node MCU development board.
• I2C Pins: Are used to hook up all sorts of I2C sensors and peripherals
in your project. Both I2C Master and I2C Slave are supported. I2C
interface functionality can be realized programmatically, and the clock
frequency is 100 kHz at a maximum. It should be noted that I2C clock
frequency should be higher than the slowest clock frequency of the
slave device.
1662/TRG/2018/G Page | 10
IoT BASED ROBOT ARM CONTROL
• GPIO Pins: ESP8266 Node MCU has 17 GPIO pins which can be
assigned to various functions such as I2C, I2S, UART, PWM, IR
Remote Control, LED Light and Button programmatically. Each digital
enabled GPIO can be configured to internal pull-up or pull-down, or
set to high impedance. When configured as an input, it can also be
set to edge-trigger or level-trigger to generate CPU interrupts.
• ADC Channel: The Node MCU is embedded with a 10-bit precision
SAR ADC. The two functions can be implemented using ADC viz.
Testing power supply voltage of VDD3P3 pin and testing input voltage
of TOUT pin. However, they cannot be implemented at the same time.
• UART Pins: ESP8266 Node MCU has 2 UART interfaces, i.e. UART0
and UART1, which provide asynchronous communication (RS232 and
RS485), and can communicate at up to 4.5 Mbps. UART0 (TXD0,
RXD0, RST0 & CTS0 pins) can be used for communication. It supports
fluid control. However, UART1 (TXD1 pin) features only data transmit
signal so, it is usually used for printing log.
1662/TRG/2018/G Page | 11
IoT BASED ROBOT ARM CONTROL
• SPI Pins: ESP8266 features two SPIs (SPI and HSPI) in slave and
master modes. These SPIs also support the following general-purpose
SPI features:
✓ Up to 80 MHz and the divided clocks of 80 MHz
✓ Up to 64-Byte FIFO
✓ 4 timing modes of the SPI format transfer
• SDIO Pins: ESP8266 features Secure Digital Input/ Output Interface
(SDIO) which is used to directly interface SD cards. 4-bit 25 MHz
SDIO v1.1 and 4-bit 50 MHz SDIO v2.0 are supported.
• PWM Pins: The board has 4 channels of Pulse Width Modulation
(PWM). The PWM output can be implemented programmatically and
used for driving digital motors and LEDs. PWM frequency range is
adjustable from 1000 μs to 10000 μs, i.e., between 100 Hz and 1 kHz.
• Control Pins: Are used to control ESP8266. These pins include chip
Enable pin (EN), Reset pin (RST) and WAKE pin.
• EN pin: The ESP8266 chip is enabled when EN pin is pulled HIGH.
When pulled LOW the chip works at minimum power.
• RST pin: RST pin is used to reset the ESP8266 chip.
• WAKE pin: Wake pin is used to wake the chip from deep-sleep.
1662/TRG/2018/G Page | 12
IoT BASED ROBOT ARM CONTROL
1662/TRG/2018/G Page | 13
IoT BASED ROBOT ARM CONTROL
6.1 INTRODUCTION
1662/TRG/2018/G Page | 14
IoT BASED ROBOT ARM CONTROL
sheets and servo brackets. The end-effector here is the gripper made out
of acrylic material. This robotic arm does pick and place of objects.
6.3.1 INTRODUCTION
Servo motors are DC motors that allows for precise control of angular
position. They are actually DC motors whose speed is slowly lowered by the
gears. The servo motors usually have a revolution cut off from 90° to 180°.
A few servo motors also have revolution cut-off of 360° or more. But servo
motors do not rotate constantly. Their rotation is limited in between the
fixed angles.
1662/TRG/2018/G Page | 15
IoT BASED ROBOT ARM CONTROL
1662/TRG/2018/G Page | 16
IoT BASED ROBOT ARM CONTROL
Advantages:
• If a heavy load is placed on the motor, the driver will increase the
current to the motor coil as it attempts to rotate the motor. Basically,
there is no out-of-step condition.
Disadvantages:
• Higher cost.
• When stopped, the motor’s rotor continues to move back and forth
one pulse, so that it is not suitable if you need to prevent vibration
• Weight: 55 g
• Dimension: 40.7 x 19.7 x 42.9 mm approx.
• Stall torque: 9.4 kgf.cm (4.8 V), 11 kgf.cm (6 V)
• Operating speed: 0.17 s/60º (4.8 V), 0.14 s/60º (6 V)
• Operating voltage: 4.8 V - 7.2 V
• Running Current 500 mA
• Stall Current 2.5 A (6V)
• Dead band width: 5 µs
• Stable and shock proof double ball bearing design
• Temperature range: 0 ºC – 55 ºC
1662/TRG/2018/G Page | 18
IoT BASED ROBOT ARM CONTROL
1662/TRG/2018/G Page | 19
IoT BASED ROBOT ARM CONTROL
7.1 INTRODUCTION
Step 1: Install Blynk from the play-store of Android mobile phone and also
install Blynk library in Arduino software.
Step 2: Open the Blynk app, create or login to the existing account. Select
New project - Name the project - Choose the device - Choose theme - Click
on create.
1662/TRG/2018/G Page | 20
IoT BASED ROBOT ARM CONTROL
Step 3: An authentication token will be sent to registered e-mail id, this will
be useful in coding. Image
Step 4: In the screen add widgets, click on widgets – Select the Slider
widget – Make changes according to the requirement.
1662/TRG/2018/G Page | 21
IoT BASED ROBOT ARM CONTROL
Step 5: Click on slider – Make the settings with appropriate pin selection,
value setting.
For this project six sliders are used for controlling six servos.
1662/TRG/2018/G Page | 22
IoT BASED ROBOT ARM CONTROL
8.1 INTRODUCTION
8.2 DETAILING
• Arduino IDE is an open source software that is mainly used for writing
and compiling the code into the Arduino Module.
• The main code, also known as a sketch, created on the IDE platform
will ultimately generate a Hex File which is then transferred and
uploaded in the controller on the board.
• The IDE environment mainly contains two basic parts: Editor and
Compiler where former is used for writing the required code and later
is used for compiling and uploading the code into the given Arduino
Module.
1662/TRG/2018/G Page | 23
IoT BASED ROBOT ARM CONTROL
• Fusion 360 is the first 3D CAD, CAM, and CAE tool of its kind that
connects entire product development process in a single cloud-based
platform that works on PC, Mac, and mobile devices.
• Fusion 360 offers free use to qualifying hobbyist makers through a
simple 3-step activation process.
1662/TRG/2018/G Page | 24
IoT BASED ROBOT ARM CONTROL
1662/TRG/2018/G Page | 25
IoT BASED ROBOT ARM CONTROL
1662/TRG/2018/G Page | 26
IoT BASED ROBOT ARM CONTROL
10.0 PROGRAM
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <Servo.h>
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
Servo servo5;
Servo servo6;
void setup()
Serial.begin(9600);
1662/TRG/2018/G Page | 27
IoT BASED ROBOT ARM CONTROL
void loop ()
Blynk.run();
BLYNK_WRITE(V1)
servo1.write(param.asInt());
BLYNK_WRITE(V2)
servo2.write(param.asInt());
BLYNK_WRITE(V3)
servo3.write(param.asInt());
BLYNK_WRITE(V4)
servo4.write(param.asInt());
1662/TRG/2018/G Page | 28
IoT BASED ROBOT ARM CONTROL
BLYNK_WRITE(V5)
servo5.write(param.asInt());
BLYNK_WRITE(V6)
servo6.write(param.asInt());
1662/TRG/2018/G Page | 29
IoT BASED ROBOT ARM CONTROL
1662/TRG/2018/G Page | 30
IoT BASED ROBOT ARM CONTROL
11.2 3D STRUCTURE
1662/TRG/2018/G Page | 31
IoT BASED ROBOT ARM CONTROL
12.0 WORKING
The main aim of this project is to control the robotic arm. The project
involves Node MCU – ESP8266 which works as controller as well as wi-fi
module. Six servo motors are used to make robot arm which has six DOF.
Each motor corresponds to 1 DOF. Servo motor enables the movement of
joints which are connected to one another by means of links (here links are
U-type clamps which are made out of aluminium sheets).
The interfacing of the wi-fi module and servos can be observed in the
serial monitor of Arduino IDE. The motor moves in accordance with slider
movement in the app.
Each slider is associated with one motor. Thus, the arm movement is
made and the object can be picked and placed. This can be handled
remotely by making sure that the Node MCU is connected to the wi-fi
mentioned in its program
1662/TRG/2018/G Page | 32
IoT BASED ROBOT ARM CONTROL
PRICE
SL.NO COMPONENT/ ITEM SPECIFICATION QUANTITY
(in
Rs)
1 Node MCU ESP8266 1 280
1662/TRG/2018/G Page | 33
IoT BASED ROBOT ARM CONTROL
1662/TRG/2018/G Page | 34
IoT BASED ROBOT ARM CONTROL
15.1 APPLICATIONS
15.2 ADVANTAGES
1662/TRG/2018/G Page | 35
IoT BASED ROBOT ARM CONTROL
Mechanical
Electrical
Software
Controllers
To make this pick and place robot as a trash collector robot for places
such as campus, auditoriums, stadiums and other places where it picks the
thrash and segregate it into different types such as wet waste, dry waste
and plastic. The information of movement of robot can be monitored using
appropriate sensors.
1662/TRG/2018/G Page | 36
IoT BASED ROBOT ARM CONTROL
17.0 CONCLUSION
IoT based robot arm control is achieved where it does a job of pick
and place. This arm can be used for other purposes also by changing end
effector presently it is a mechanical gripper.
1662/TRG/2018/G Page | 37
IoT BASED ROBOT ARM CONTROL
BIBLIOGRAPHY
1662/TRG/2018/G Page | 38
NETTUR TECHNICAL TRAINING FOUNDATION - DTC (BELUR)
MSD PROJECT PROCESS PLAN 2018-19
GET NAME : JAYASHREE R
PROJECT TITLE : IoT BASED ROBOT ARM CONTROL
DATE
1662/TRG/2018/G
Jun 1st
Jun 9th
May 3rd
May 4th
May 6th
May 7th
May 8th
May 9th
Jun 3rd-
May 2nd
Apr 15th
Apr 16th
Apr 17th
Apr 30th
Jun 12th
May 21st
May 31st
May 10th
May 13th
May 14th
May 15th
May 16th
May 17th
May 18th
May 20th
May 24th
May 25th
May 29th
May 30th
May 23rd
Jun 10th-
May 22nd
June 18th
June 15th -
ACTUAL
PLANNED
Page | 39