Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Contrôlez votre bras robot Arduino via une application Android dédiée

Composants nécessaires

Applications et logiciels

Principe de fonctionnement

Le bras robot LittleArm est habituellement piloté par une application PC (Windows/Linux) via USB. Ce projet ajoute une connexion Bluetooth (HC-05) pour permettre un contrôle sans fil depuis un smartphone Android. L'application Android envoie des commandes série (angles des 3 articulations + pince + délai) que l'Arduino interprète pour déplacer les servos en douceur. Le code Arduino est compatible avec les deux modes (USB ou Bluetooth) sans modification.

Câblage

Code Arduino

#include 
#include 
#define PI 3.141

Servo baseServo, shoulderServo, elbowServo, gripperServo;

struct JointAngle { int base; int shoulder; int elbow; };
JointAngle desiredAngle;
int desiredGrip, desiredDelay;
int servoSpeed = 15;
int ready = 0;

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'); // acquittement
    }
  }

  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 && status2 && status3 && status4) done = 1;
  }
}

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

Application Android

L'application "LittleArm" (développée par Slant Concepts) permet :

Téléchargez l'APK depuis la page du projet Hackster ou le site de Slant Concepts.

Schéma de câblage

Voir l'image du schéma dans la section "Schematics" du projet original.

Améliorations possibles

Processus de fabrication

  1. Construire une télécommande Android universelle avec Arduino, 1Sheeld et contrôle IR
  2. Construire une Tirelire Intelligente : Contrôler un Accepteur de Pièces avec Arduino Nano
  3. Contrôle IoT à Distance d'un Bras Robotique Personnalisé avec Arduino MKR1000
  4. Robot Évitement d'Obstacles Piloté par Servomoteur : Construction avec Arduino et HC-SR04
  5. Contrôler une LED par Bluetooth avec Arduino et MIT App Inventor
  6. Contrôlez votre Roomba Create 2 avec Arduino et Android – Guide pas à pas
  7. Bras robotique 6 DoF piloté par Nunchuk Wii – Kit Arduino Mega
  8. Contrôler 2 moteurs pas-à-pas avec Arduino Nano et joystick – Tutoriel Visuino
  9. LittleArm 2C : Bras Robot 3D Imprimé Arduino pour Éducation STEM