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

Precisie joystick-controller voor MeArm-robot – Coördinaten opnemen & afspelen met Arduino Uno

Onderdelen en benodigdheden

Arduino UNO 1
Analoog joystick (Generiek) 2
Weerstand 10k ohm 2
Weerstand 680 ohm 1
5 mm LED: Rood 1
Micro servo SG90 4

Apps en online diensten

  • Arduino IDE

Over dit project

Arduino Uno joystick-controller voor robotarm (MeArm®) met opname van coördinaten. Laat toe om opgenomen coördinaten één keer af te spelen bij druk op knop, of herhaaldelijk. Gebruikt Arduino Uno basisbord zonder extra borden. Vereist USB-verbinding (2A) of 6V / 2A voeding. Getest met vier SG90-servos.

Druk op knop op joystick1 om opname van coördinaten te starten. Druk opnieuw op knop op joystick1 om opname te stoppen.

Druk op knop op joystick2 om afspelen van opgenomen coördinaten te starten. Druk opnieuw op knop op joystick2 om afspelen te stoppen. Houd knop op joystick2 ingedrukt om automatisch in cyclus af te spelen.

Memo: We hebben ook een eenvoudigere versie van deze software gemaakt die geen extra weerstanden en LED-diode vereist: MeArm Robot - Recording of Coordinates (Minimalized Version).

Als je een MeArm-joystickbord hebt, is er een versie voor jou: MeArm 1.6.1 Robot Joystick Board Recording Movements (IR).

Code

Arduino Joystick-controller voor MeArm® robot met opname van coördinaten (versie 1.3.1)

/* meArm analog joysticks versie 1.3.1 - UtilStudio.com Dec 2018
   Gebruikt twee analoge joysticks en vier servos.
   In versie 1.3 was opname van coördinaten verbeterd. Enkele bugs verwijderd.
   ...
*/
#include <Servo.h>
bool repeatePlaying = false;
int delayBetweenCycles = 2000;
int basePin = 11;
int shoulderPin = 10;
int elbowPin = 9;
int gripperPin = 6;
int xdirPin = 0;
int ydirPin = 1;
int zdirPin = 3;
int gdirPin = 2;
int pinRecord = PD2;
int pinPlay = PD3;
int pinLedRecord = PD4;
bool useInternalPullUpResistors = false;
const int buffSize = 512;
int startBase = 90, startShoulder = 90, startElbow = 90, startGripper = 0;
int posBase = 90, posShoulder = 90, posElbow = 90, posGripper = 0;
int lastBase = 90, lastShoulder = 90, lastElbow = 90, lastGripper = 90;
int minBase = 0, maxBase = 150;
int minShoulder = 0, maxShoulder = 150;
int minElbow = 0, maxElbow = 150;
int minGripper = 0, maxGripper = 150;
const int countServo = 4;
int buff[buffSize];
int buffAdd[countServo];
int recPos = 0, playPos = 0;
int buttonRecord = HIGH, buttonPlay = HIGH;
int buttonRecordLast = LOW, buttonPlayLast = LOW;
bool record = false, play = false, debug = false;
String command = "Manual";
int printPos = 0;
int buttonPlayDelay = 20, buttonPlayCount = 0;
bool ledLight = false;
Servo servoBase, servoShoulder, servoElbow, servoGripper;

void setup() {
  Serial.begin(9600);
  if (useInternalPullUpResistors) {
    pinMode(pinRecord, INPUT_PULLUP);
    pinMode(pinPlay, INPUT_PULLUP);
  } else {
    pinMode(pinRecord, INPUT);
    pinMode(pinPlay, INPUT);
  }
  pinMode(xdirPin, INPUT);
  pinMode(ydirPin, INPUT);
  pinMode(zdirPin, INPUT);
  pinMode(gdirPin, INPUT);
  pinMode(pinLedRecord, OUTPUT);
  servoBase.attach(basePin);
  servoShoulder.attach(shoulderPin);
  servoElbow.attach(elbowPin);
  servoGripper.attach(gripperPin);
  StartPosition();
  digitalWrite(pinLedRecord, HIGH);
  delay(1000);
  digitalWrite(pinLedRecord, LOW);
}

void loop() {
  // ... (volledige code zoals in origineel)
}

Schema's

Joystick-controller voor MeArm® robot met opname van coördinaten - schematisch diagram

Testbord met alleen twee servos aangesloten. Zie schematisch diagram om 4 servomotoren aan te sluiten.

Productieproces

  1. DIY Arduino USB Gaming Controller – Bouw Je Eigen High-Performance Gamepad
  2. MeArm robotarm V1.0 – Bouw je eigen Arduino- en Raspberry Pi-aangedreven robotarm
  3. Een oude RC-auto ombouwen tot joystick-gestuurd voertuig met Arduino
  4. Bouw Een Autonome Lijnvolgende Robot Met Arduino UNO
  5. Bouw een eenvoudige rekenmachine met Arduino UNO – Makkelijk project
  6. Bouw een Stemgecontroleerde Robot met Arduino Nano
  7. Een draagbaar Persistence-of-Vision-display bouwen met Arduino UNO en ATtiny85
  8. Bouw een Aangepaste Arduino Joystick Stuurwiel voor Gaming
  9. Arduino DMX-512 Tester Controller – Complete Onderdelenkit voor Betrouwbare Verlichtingsbesturing
  10. Slimme temperatuurbewaking met Arduino en Bluetooth op smartphone
  11. Slim Indoor Navigatie Robot Kit voor Arduino Projecten