Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Arduino robotarm besturen via speciale Android-app

Onderdelen en benodigdheden

  • 1× LittleArm
  • 1× Arduino UNO
  • 1× HC-05 Bluetooth-module
  • 1× Android-apparaat
  • 1× LittleArm Complete Kit

Apps en online services

  • Android
  • Arduino IDE

Over dit project

De LittleArm wordt traditioneel bestuurd via een gratis desktopapplicatie (Windows/Linux), wat een verbonden computer vereist. Nu is er een Android-app die Bluetooth-besturing mogelijk maakt.

De app stelt je in staat om alle vrijheidsgraden van de arm te besturen, maar ook reeksen commando's op te nemen en af te spelen. De Arduino-code wijzigt niet ten opzichte van de traditionele softwarepakketten.

De LittleArm-app kan hier gedownload worden.

Arduino robotarm besturen via speciale Android-app

Code

#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);

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;
  }
}

Schema's

Arduino robotarm besturen via speciale Android-app

Productieproces

  1. Universele Android-afstandsbediening bouwen met Arduino, 1Sheeld en IR-besturing
  2. Slimme spaarpot bouwen: Muntenacceptor besturen met Arduino Nano
  3. Externe IoT-besturing van een zelfgebouwde robotarm
  4. Servo-gestuurde obstakelvermijdende robot: Bouw met Arduino & HC-SR04
  5. Een LED bedienen via Bluetooth met Arduino – Eenvoudige DIY Handleiding
  6. Bestuur Je Roomba Create 2 Met Arduino En Android: Stapsgewijze Handleiding
  7. Arduino-gebaseerde 6-DoF Robotarm Gestoeerd met Wii Nunchuk
  8. Twee Stappenmotors Sturen met Arduino Nano & Joystick – Simpele Tutorial
  9. LittleArm 2C: Bouw een Duurzame 3D-geprinte Arduino Robotarm voor STEM Onderwijs
  10. ThimbleKrox: Vingergemonteerde Muizenbesturing met Arduino Micro & MPU-6050
  11. DIY Arduino Kakerlakbesturingssysteem – Bouw voor minder dan $30