Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Controla tu brazo robótico Arduino con app Android dedicada

Componentes y suministros

Aplicaciones y servicios

Sobre el proyecto

El LittleArm se controlaba tradicionalmente desde una aplicación de escritorio (Windows/Linux) vía USB. Ahora existe una app Android que permite control inalámbrico por Bluetooth, manteniendo el mismo código Arduino.

La app permite controlar todos los grados de libertad, grabar secuencias de comandos y reproducirlas. El código Arduino es compatible tanto con la app de escritorio como la Android, vía Bluetooth o USB.

Código Arduino

#include <Servo.h>
#include <math.h>
#define PI 3.141

Servo baseServo;
Servo shoulderServo;
Servo elbowServo;
Servo gripperServo;

int command;
struct jointAngle {
  int base;
  int shoulder;
  int elbow;
};

int desiredGrip;
int gripperPos;
int desiredDelay;
int servoSpeed = 15;
int ready = 0;
struct jointAngle desiredAngle;

int servoParallelControl(int thePos, Servo theServo, int theSpeed);

void setup() {
  Serial.begin(9600);
  baseServo.attach(9);
  shoulderServo.attach(10);
  elbowServo.attach(11);
  gripperServo.attach(6);
  Serial.setTimeout(50);
  Serial.println("started");
  baseServo.write(90);
  shoulderServo.write(150);
  elbowServo.write(110);
  ready = 0;
}

void loop() {
  if (Serial.available()) {
    ready = 1;
    desiredAngle.base = Serial.parseInt();
    desiredAngle.shoulder = Serial.parseInt();
    desiredAngle.elbow = Serial.parseInt();
    desiredGrip = Serial.parseInt();
    desiredDelay = Serial.parseInt();

    if (Serial.read() == '\n') {
      Serial.flush();
      Serial.print('d');
    }
  }

  int status1 = 0, status2 = 0, status3 = 0, status4 = 0;
  int done = 0;

  while (done == 0 && ready == 1) {
    status1 = servoParallelControl(desiredAngle.base, baseServo, desiredDelay);
    status2 = servoParallelControl(desiredAngle.shoulder, shoulderServo, desiredDelay);
    status3 = servoParallelControl(desiredAngle.elbow, elbowServo, desiredDelay);
    status4 = servoParallelControl(desiredGrip, gripperServo, desiredDelay);

    if (status1 == 1 && status2 == 1 && status3 == 1 && status4 == 1) {
      done = 1;
    }
  }
}

int servoParallelControl(int thePos, Servo theServo, int theSpeed) {
  int startPos = theServo.read();
  int newPos = startPos;

  if (startPos < (thePos - 5)) {
    newPos = newPos + 1;
    theServo.write(newPos);
    delay(theSpeed);
    return 0;
  } else if (newPos > (thePos + 5)) {
    newPos = newPos - 1;
    theServo.write(newPos);
    delay(theSpeed);
    return 0;
  } else {
    return 1;
  }
}

Esquemático

Diagrama de conexiones: Arduino UNO + HC-05 (TX/RX a pines 0/1 o SoftwareSerial) + 4 servos en pines 9, 10, 11, 6.

Enlace a la app

App LittleArm para Android disponible en la página del proyecto.

Proceso de manufactura

  1. Mando universal Android con Arduino, 1Sheeld y control IR
  2. Alcancía Inteligente: Controla un Aceptador de Monedas con Arduino Nano
  3. Control Remoto IoT de Brazo Robótico Personalizado con Arduino MKR1000 y ThingSpeak
  4. Robot evasor de obstáculos con servo: Construcción con Arduino y HC-SR04
  5. Controla un LED por Bluetooth con Arduino – Guía DIY paso a paso
  6. Controla tu Roomba Create 2 con Arduino y Android: Guía Completa
  7. Brazo Robótico de 6 Grados de Libertad Controlado por Nunchuk con Arduino
  8. Controla Dos Motores Paso a Paso con Arduino Nano y Joystick - Tutorial Sencillo
  9. LittleArm 2C: Brazo Robot 3D Imprimible para Educación STEM con Arduino Nano
  10. ThimbleKrox: Control de ratón montado en el dedo con Arduino Micro y MPU-6050
  11. Sistema DIY de Control de Cucarachas con Arduino – Construcción por Menos de $30