INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Thema geschlossen 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
sketch mit 2 anstatt einem joystick
14.03.2020, 23:54
Beitrag #1
sketch mit 2 anstatt einem joystick
Hi Leute,
bin neu hier und leider noch nicht so bewandert mit arduino ich habe ein programm gefunden um mit einem Joystick servomotoren zu steuern so das sie die position beibehalten und wollte zwei weitere einfügen sobald der zweite drinn ist bewegt sich nichts mer Sad
sicher kann jemand der drauskommt das schnell beantworten Smile


#include <Servo.h>
#include <Braccio.h>

Servo base;
Servo shoulder;
Servo elbow;
Servo wrist_rot;
Servo wrist_ver;
Servo gripper;

#define jx1 A0 // Pin A0 - Joystick X
#define jy1 A1 // Pin A1 - Joystick Y
#define j D12 // Joystick Taster

#define jx2 A2 // Pin A2 - Joystick X
#define jy2 A3 // Pin A3 - Joystick Y
#define jD12 // Joystick Taster

#define jx3 A4 // Pin A4 - Joystick X
#define jy3 A5 // Pin A4 - Joystick Y
#define jD12 // Joystick Taster

int pos = 90; // Position (pos), auf 90° initialisert
int dir = 0; // Richtung (dir)
int x1; // x Wert Joystick1
int x1_0; // Nullposition Joystick1
char ausgabe[20]; // für formattierte Ausgabe im Seriellen Monitor (für Testzweck)
int y1;
int y1_0;
int posy1 = 90;
int pos2 = 90;
int x2;
int x2_0;
int y2;
int y2_0;
int pos3 = 90;
int x3;
int x3_0;
int y3;
int y3_0;

void setup() {
Serial.begin(9600);
Braccio.begin();

base.attach (11); // Steuerungsleitung vom Servo wird mit Pin 11 verbunden
//Nullposition Joystick einlesen, liegt plus minus bei 512...
x1_0 = analogRead(jx1); // X-Position des Joysticks abfragen
Serial.println("x1_0: " + String(x1_0));

wrist_ver.attach(5); // Steuerungsleitung vom Servo wird mit Pin 11 verbunden
//Nullposition Joystick einlesen, liegt plus minus bei 512...
x2_0 = analogRead(jx2); // X-Position des Joysticks abfragen
Serial.println("x2_0: " + String(x1_0));


base.attach(11);
shoulder.attach (10);
elbow.attach(9);
wrist_rot.attach(6);
wrist_ver.attach(5);
gripper.attach(3);

}

void loop() {
x2 = analogRead(jx2); // X-Position des Joysticks abfragen
sprintf(ausgabe, "x2:%4d pos:%3d", x2, pos2); // formattierte Ausgabe
Serial.println(ausgabe);

if (x2 < x2_0 - 20) { // Joy links 512 .. 1023
pos2 = pos2 + map(x2, 512, 1023, 1, 5); // erhöhen in 1..5-er Schritten
}
if (x2 > x2_0 + 20) { // Joy rechts 512 .. 0
pos2 = pos2 - map(x2, 512, 0, 1, 5); // verringern in 1..5-er Schritten
}
if (pos2 < 0) { // Damit pos nicht negativ wird
pos2 = 0;
}
if (pos2 > 180) { // Damit pos nicht über 180 geht
pos2 = 180;


x1 = analogRead(jx1); // X-Position des Joysticks abfragen
sprintf(ausgabe, "x1:%4d pos:%3d", x1, pos); // formattierte Ausgabe
Serial.println(ausgabe);

if (x1 < x1_0 - 20) { // Joy links 512 .. 1023
pos = pos + map(x1, 512, 1023, 1, 5); // erhöhen in 1..5-er Schritten
}
if (x1 > x1_0 + 20) { // Joy rechts 512 .. 0
pos = pos - map(x1, 512, 0, 1, 5); // verringern in 1..5-er Schritten
}
if (pos < 0) { // Damit pos nicht negativ wird
pos = 0;
}
if (pos > 180) { // Damit pos nicht über 180 geht
pos = 180;


}

base.write(pos2); // Servo auf Position "pos2" bewegen
delay(50); // für Testzweck
wrist_ver.write(pos); // Servo auf Position "pos" bewegen
}
}
Alle Beiträge dieses Benutzers finden
Thema geschlossen 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Sketch-Ordner mhoeting 8 496 27.01.2021 07:41
Letzter Beitrag: mhoeting
  Sketch auf anderem Rechner Telefonmann 2 428 21.09.2020 17:23
Letzter Beitrag: hotsystems
  DFPlayer hört nach einem Song auf Cobblepot 11 982 19.09.2020 12:48
Letzter Beitrag: hotsystems
  Werte im Sketch in Variablen speichern Bitklopfer 4 799 06.09.2020 10:25
Letzter Beitrag: Bitklopfer
  Sketch von Uno auf Mega portieren Clixmaster 12 1.485 15.08.2020 18:36
Letzter Beitrag: hotsystems
  Zwei Richtungen mit einem Taster FoxFactoy 12 1.714 19.06.2020 13:04
Letzter Beitrag: hotsystems
  Fehlermeldung beim Sketch hochladen heino_m 12 2.135 28.05.2020 18:25
Letzter Beitrag: Tommy56
  map() mit Variablen anstatt Zahlen? Norman 15 1.720 16.05.2020 18:14
Letzter Beitrag: Norman
  Ausgabe auf LCD anstatt in MS Visuals oneill86 10 1.326 03.05.2020 20:42
Letzter Beitrag: hotsystems
Question Sketch compilieren und testen ohne hochladen? Triax16 18 2.566 02.05.2020 12:48
Letzter Beitrag: Bitklopfer

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste