OPEN_ROBO_HUB Back to Dashboard
Module 06 // Kinematics

Bluetooth 4-Axis Kinematic Arm

Parses custom serial data arrays over an HC-05 Bluetooth transceiver to drive four isolated high-torque servo axes smoothly.

HC-05 & Servo Interface Topography

Component Node Vector Target Uno Pin
HC-05 TXD====>Digital Pin 0 (RX)
HC-05 RXD<====Digital Pin 1 (TX)
Base Servo PWM<====Digital Pin 3 (PWM)
Claw Servo PWM<====Digital Pin 9 (PWM)

Production Firmware Code

#include <Servo.h>

Servo baseServo, shoulderServo, elbowServo, gripperServo;
char data;

void setup() {
 Serial.begin(9600);
 baseServo.attach(3);
 shoulderServo.attach(5);
 elbowServo.attach(6);
 gripperServo.attach(9);
}

void loop() {
 if (Serial.available() > 0) {
  data = Serial.read();
  if (data == 'L') baseServo.write(45);
  if (data == 'R') baseServo.write(135);
  if (data == 'U') shoulderServo.write(120);
  if (data == 'D') shoulderServo.write(60);
  if (data == 'O') gripperServo.write(10);
  if (data == 'C') gripperServo.write(90);
 }
}