Hardware Arduino

Als blutiger Anfänger möchte ich Wissen, ob beim Testen eines aufgespielten Sketches immer alle Taster/Servos angeschlossen sein müssen?
Ich habe folgendes Problem:
Ich möchte sechs Servos getrennt über Taster ansteuern. Die sechs Servos sollen langsam laufen...Habe das Problem "einfach" über "Delay" gelöst.
Wenn ich den Sketch nur für einen Servo auf den Arduino übertrage funktioniert der Test einwandfrei.
Der geschriebene Sketch für sechs Servos wird auch auf den Arduino übertragen, aber er funktioniert nicht beim Testen. Hier habe ich aber nur zwei Taster und ein Servo angeschlossen....
Muss alles angeschlossen sein ?
Ist der Zyklus des Arduinos zu langsam oder wo ist mein Denkfehler? Delay ????
Ich Danke schon einmal für die Antworten.

Keine Ahnung, was du falsch machst...

Ich sehe keine Servos, kein Schaltplan, kein Programm.

Bedenke:
Du siehst das, was ich nicht sehe.

#include <Servo.h>

int tasterPin1 = 2; //Taster1 an Pin 2 angeschlossen //92 Grad
int tasterPin2 = 3; //Taster2 an Pin 3 angeschlossen //70 Grad
int tasterPin3 = 4; //Taster3 an Pin 4 angeschlossen //92 Grad
int tasterPin4 = 5; //Taster4 an Pin 5 angeschlossen //70 Grad
int tasterPin5 = 6; //Taster5 an Pin 6 angeschlossen //92 Grad
int tasterPin6 = 7; //Taster6 an Pin 7 angeschlossen //70 Grad
int tasterPin7 = 8; //Taster7 an Pin 8 angeschlossen //92 Grad
int tasterPin8 = 9; //Taster8 an Pin 9 angeschlossen //70 Grad
int tasterPin9 = 10; //Taster9 an Pin 10 angeschlossen //92 Grad
int tasterPin10 = 11; //Taster10 an Pin 11 angeschlossen //70 Grad
int tasterPin11 = 12; //Taster11 an Pin 12 angeschlossen //92 Grad
int tasterPin12 = 13; //Taster12 an Pin 13 angeschlossen //70 Grad


int tasterStatus1, tasterStatus2, tasterStatus3, tasterStatus4, tasterStatus5, tasterStatus6, tasterStatus7,
tasterStatus8,tasterStatus9, tasterStatus10, tasterStatus11, tasterStatus12, tasterStatus13;


Servo meinServo;
Servo meinServo2;
Servo meinServo3;
Servo meinServo4;
Servo meinServo5;
Servo meinServo6;

void setup()
{
pinMode(tasterPin1, INPUT); //tasterPin1 (Pin 2) wird als INPUT definiert
pinMode(tasterPin2, INPUT); //tasterPin2 (Pin 3) wird als INPUT definiert
pinMode(tasterPin3, INPUT); //tasterPin1 (Pin 4) wird als INPUT definiert
pinMode(tasterPin4, INPUT); //tasterPin2 (Pin 5) wird als INPUT definiert
pinMode(tasterPin5, INPUT); //tasterPin1 (Pin 6) wird als INPUT definiert
pinMode(tasterPin6, INPUT); //tasterPin2 (Pin 7) wird als INPUT definiert
pinMode(tasterPin7, INPUT); //tasterPin1 (Pin 8) wird als INPUT definiert
pinMode(tasterPin8, INPUT); //tasterPin2 (Pin 9) wird als INPUT definiert
pinMode(tasterPin9, INPUT); //tasterPin1 (Pin 10) wird als INPUT definiert
pinMode(tasterPin10, INPUT); //tasterPin2 (Pin 11) wird als INPUT definiert
pinMode(tasterPin11, INPUT); //tasterPin1 (Pin 12) wird als INPUT definiert
pinMode(tasterPin12, INPUT); //tasterPin2 (Pin 13) wird als INPUT definiert



meinServo.attach(14); //Servomotor wurde an Pin 14 (A00) angeschlossen
meinServo2.attach(15); //Servomotor wurde an Pin 15 (A01) angeschlossen
meinServo3.attach(16); //Servomotor wurde an Pin 16 (A02) angeschlossen
meinServo4.attach(17); //Servomotor wurde an Pin 17 (A03) angeschlossen
meinServo5.attach(18); //Servomotor wurde an Pin 18 (A04) angeschlossen
meinServo6.attach(19); //Servomotor wurde an Pin 19 (A05) angeschlossen

}

void loop()
{
tasterStatus1 = digitalRead(tasterPin1); // Tasterstatus wird als digitaler Kontakt festgelegt
tasterStatus2 = digitalRead(tasterPin2); // Tasterstatus wird als digitaler Kontakt festgelegt
tasterStatus3 = digitalRead(tasterPin3); // Tasterstatus wird als digitaler Kontakt festgelegt
tasterStatus4 = digitalRead(tasterPin4); // Tasterstatus wird als digitaler Kontakt festgelegt
tasterStatus5 = digitalRead(tasterPin5); // Tasterstatus wird als digitaler Kontakt festgelegt
tasterStatus6 = digitalRead(tasterPin6); // Tasterstatus wird als digitaler Kontakt festgelegt
tasterStatus7 = digitalRead(tasterPin7); // Tasterstatus wird als digitaler Kontakt festgelegt
tasterStatus8 = digitalRead(tasterPin8); // Tasterstatus wird als digitaler Kontakt festgelegt
tasterStatus9 = digitalRead(tasterPin9); // Tasterstatus wird als digitaler Kontakt festgelegt
tasterStatus10 = digitalRead(tasterPin10); // Tasterstatus wird als digitaler Kontakt festgelegt
tasterStatus11 = digitalRead(tasterPin11); // Tasterstatus wird als digitaler Kontakt festgelegt
tasterStatus12 = digitalRead(tasterPin12); // Tasterstatus wird als digitaler Kontakt festgelegt




if (tasterStatus1 == 0)
{
meinServo.write(70); //Dreht nach rechts
delay(200);
meinServo.write(73); //Dreht nach rechts
delay(200);
meinServo.write(76); //Dreht nach rechts
delay(200);
meinServo.write(79); //Dreht nach rechts
delay(200);
meinServo.write(82); //Dreht nach rechts
delay(200);
meinServo.write(85); //Dreht nach rechts
delay(200);
meinServo.write(92); //Dreht nach rechts
delay(50);
}

if (tasterStatus3 == 0)
{
meinServo2.write(70); //Dreht nach rechts
delay(200);
meinServo2.write(73); //Dreht nach rechts
delay(200);
meinServo2.write(76); //Dreht nach rechts
delay(200);
meinServo2.write(79); //Dreht nach rechts
delay(200);
meinServo2.write(82); //Dreht nach rechts
delay(200);
meinServo2.write(85); //Dreht nach rechts
delay(200);
meinServo2.write(92); //Dreht nach rechts
delay(50);
}

if (tasterStatus5 == 0)
{
meinServo3.write(70); //Dreht nach rechts
delay(200);
meinServo.write(73); //Dreht nach rechts
delay(200);
meinServo3.write(76); //Dreht nach rechts
delay(200);
meinServo3.write(79); //Dreht nach rechts
delay(200);
meinServo3.write(82); //Dreht nach rechts
delay(200);
meinServo3.write(85); //Dreht nach rechts
delay(200);
meinServo3.write(92); //Dreht nach rechts
delay(50);
}

if (tasterStatus7 == 0)
{
meinServo4.write(70); //Dreht nach rechts
delay(200);
meinServo4.write(73); //Dreht nach rechts
delay(200);
meinServo4.write(76); //Dreht nach rechts
delay(200);
meinServo4.write(79); //Dreht nach rechts
delay(200);
meinServo4.write(82); //Dreht nach rechts
delay(200);
meinServo4.write(85); //Dreht nach rechts
delay(200);
meinServo4.write(92); //Dreht nach rechts
delay(50);
}

if (tasterStatus9 == 0)
{
meinServo5.write(70); //Dreht nach rechts
delay(200);
meinServo5.write(73); //Dreht nach rechts
delay(200);
meinServo5.write(76); //Dreht nach rechts
delay(200);
meinServo5.write(79); //Dreht nach rechts
delay(200);
meinServo5.write(82); //Dreht nach rechts
delay(200);
meinServo5.write(85); //Dreht nach rechts
delay(200);
meinServo5.write(92); //Dreht nach rechts
delay(50);
}

if (tasterStatus11 == 0)
{
meinServo6.write(70); //Dreht nach rechts
delay(200);
meinServo6.write(73); //Dreht nach rechts
delay(200);
meinServo6.write(76); //Dreht nach rechts
delay(200);
meinServo6.write(79); //Dreht nach rechts
delay(200);
meinServo6.write(82); //Dreht nach rechts
delay(200);
meinServo6.write(85); //Dreht nach rechts
delay(200);
meinServo6.write(92); //Dreht nach rechts
delay(50);
}




if (tasterStatus2 == 0)
{
meinServo.write(92); //Dreht nach links
delay(200);
meinServo.write(89); //Dreht nach links
delay(200);
meinServo.write(86); //Dreht nach links
delay(200);
meinServo.write(83); //Dreht nach links
delay(200);
meinServo.write(80); //Dreht nach links
delay(200);
meinServo.write(77); //Dreht nach links
delay(200);
meinServo.write(70); //Dreht nach links
delay(200);
}

if (tasterStatus4 == 0)
{
meinServo2.write(92); //Dreht nach links
delay(200);
meinServo2.write(89); //Dreht nach links
delay(200);
meinServo2.write(86); //Dreht nach links
delay(200);
meinServo2.write(83); //Dreht nach links
delay(200);
meinServo2.write(80); //Dreht nach links
delay(200);
meinServo2.write(77); //Dreht nach links
delay(200);
meinServo2.write(70); //Dreht nach links
delay(200);
}

if (tasterStatus6 == 0)
{
meinServo3.write(92); //Dreht nach links
delay(200);
meinServo3.write(89); //Dreht nach links
delay(200);
meinServo3.write(86); //Dreht nach links
delay(200);
meinServo3.write(83); //Dreht nach links
delay(200);
meinServo3.write(80); //Dreht nach links
delay(200);
meinServo3.write(77); //Dreht nach links
delay(200);
meinServo3.write(70); //Dreht nach links
delay(200);
}

if (tasterStatus8 == 0)
{
meinServo4.write(92); //Dreht nach links
delay(200);
meinServo4.write(89); //Dreht nach links
delay(200);
meinServo4.write(86); //Dreht nach links
delay(200);
meinServo4.write(83); //Dreht nach links
delay(200);
meinServo4.write(80); //Dreht nach links
delay(200);
meinServo4.write(77); //Dreht nach links
delay(200);
meinServo4.write(70); //Dreht nach links
delay(200);
}

if (tasterStatus10 == 0)
{
meinServo5.write(92); //Dreht nach links
delay(200);
meinServo5.write(89); //Dreht nach links
delay(200);
meinServo5.write(86); //Dreht nach links
delay(200);
meinServo5.write(83); //Dreht nach links
delay(200);
meinServo5.write(80); //Dreht nach links
delay(200);
meinServo5.write(77); //Dreht nach links
delay(200);
meinServo5.write(70); //Dreht nach links
delay(200);
}

if (tasterStatus12 == 0)
{
meinServo6.write(92); //Dreht nach links
delay(200);
meinServo6.write(89); //Dreht nach links
delay(200);
meinServo6.write(86); //Dreht nach links
delay(200);
meinServo6.write(83); //Dreht nach links
delay(200);
meinServo6.write(80); //Dreht nach links
delay(200);
meinServo6.write(77); //Dreht nach links
delay(200);
meinServo6.write(70); //Dreht nach links
delay(200);
}


delay(100);

}

Die/Der Taster/Servo sind nach "Standart" angeschlossen...

Hallo, setze deinen Sketch bitte in Code-Tags, Schaltfläche </> oben links im Editorfenster, das kannst du auch nachträglich noch mache.
Danach können auch alle den Sketch vernünftig lesen.
So geht das garnicht.

Und was meinst du mit "Standart angeschlossen" ?
Was glaubst du wieviel Möglichkeiten es gibt, die Dinge anzuschließen.

Die/Der Taster/Servo sind nach "Standart" angeschlossen...

Taster-Standard wäre INPUT_PULLUP, das hast du nicht gemacht :wink:
Hast du externe Pullup-Widerstände verwendet?

Habe das Problem "einfach" über "Delay" gelöst.

Hast du mal geschätzt (zusammengezählt) wie selten du deine Tasterstellungen prüfst?

Ich merke schon, hier werden Anfänger nicht erwünscht....
Ich bedanke mich für meine einfache Anfrage....
Erwarte keine Antworten mehr!

Serfofreund:
Ich merke schon, hier werden Anfänger nicht erwünscht....
Ich bedanke mich für meine einfache Anfrage....
Erwarte keine Antworten mehr!

Und was soll das nun wieder ?
Auch Anfänger dürfen sich an die Gepflogenheiten hier im Forum halten.

Serfofreund:
Ich merke schon, hier werden Anfänger nicht erwünscht....
Ich bedanke mich für meine einfache Anfrage....
Erwarte keine Antworten mehr!

Keine Geduld mehr, die jungen Leute.....

die wichtigsten Hinweise sind schon genannt:
Taster ohne externen Pullup funktionieren nur, wenn der pin als INPUT_PULLUP deklariert ist.
Wenn deine Taster ohne pullup angeschlossen sind, und die Pins alle als low eingelesen werden, (was durchaus passieren kann), werden die Taster ca alle 14 sekunden mal abgefragt.

Deine Fehlerbeschreibung "aber er funktioniert nicht beim Testen." läßt viel Raum für Interpretationen offen. Etwas genauer wäre echt hilfreich. Ebenso wie die Aussage "nach Standard angeschlossen" nicht hilft, weil wir deinen Standard nicht kennen.

Serfofreund:
Ich merke schon, hier werden Anfänger nicht erwünscht....
Ich bedanke mich für meine einfache Anfrage....
Erwarte keine Antworten mehr!

Was ist jetzt?
Wir waren weder böse noch gemein noch beleidigend.
Wer un Hilfe bittet kann nicht erwarten, daß hier Hellseher sind die Wissen, was man gemacht hat.
Darum wurdest Du um mehr Infos gefragt.

Wenn Dir das aber schon zu viel ist, dann hast Du recht: es ist besser Du fragst hier nichts mehr und machst mal Erfahrung mit den wirklich bösen Gepflogenheiten in anderen Foren.

Grüße Uwe

Wir waren weder böse noch gemein noch beleidigend

Haben auf jeden Fall kein schlechtes Gewissen deswegen :wink:

Da Serfofreund ja schon weg ist, kann man diesen Thread auch schön für OT-Gequatsche verwenden:

Bei uns hat mal ein Kandidat in einem Bewerbungsgespräch gefragt, ob hier gemobbt würde. Tja, was soll man da antworten. (Er ist sicherheitshalber nicht genommen worden)

Du weißt ja: ,

9 von 10 Befragten finden mobbing gut. <<
:o

Was ich aber noch seltsamer finde 12:00 Frage eingestellt.
=> rückmeldung erhalten präziser zu sein und Infos zugeben
=> 12:37 sich verabschiedet?

Seltsam Seltsam

volvodani:
Was ich aber noch seltsamer finde 12:00 Frage eingestellt.
=> rückmeldung erhalten präziser zu sein und Infos zugeben
=> 12:37 sich verabschiedet?

es hat heute eben keiner mehr Zeit. :wink:

Mir drängt sich der Verdacht auf, es war von vorn herein als Trollerei angelegt.

Gruß Tommy

Das glaube ich nicht.

Bei unserem TE herrscht eher eine Art von "Ichbezogenheit" vor, die wie Blei auf der Kommunikation liegt.
Das ist natürlich frustrierend!
Für alle.

Das "Ich" wird nicht bedient und auch nicht hinterfragt.

Z.B. How to use this forum - please read.
Wird nicht gelesen, u.A. weil es nicht das "Ich" befriedigt, und auch nicht unmittelbar zur Lösung beiträgt.
Damit klebt der Frust an den Helfern.
Das akkumuliert sich mit der Zeit.

Denn der TE ist ja nicht das erste "Ich Wesen", welches dieses ignoriert.
Oder besser: Noch nicht einmal ignoriert.
Denn zum ignorieren müsste es ja wenigstens einmal an der Wahrnehmung vorbei gehuscht sein.

Hi

Da sollten jetzt aber keine Schläuche in irgend einem Getränkeautomat zusammen gedrückt werden, oder?

... dabei hätte aus dem TO so viel werden können ... große Buchstaben, Satzzeichen ... AlLES bereits vorhanden ... NUR, weil IHR nicht schnell und gut genug seit :wink:

So, genug OT, hier sind noch andere Themen, Die eine Antwort verdient haben ... wo sich der TO nicht wie das weltbeste Einzelkind aufführt.

MfG

weil IHR nicht schnell und gut genug seit

Ja, dass das für dich und "die Anderen" gilt, kann ich ja noch vertragen...
Und sowieso habe ich gerne fehlerbehaftete Leute um mich rum.

Aber die Einsicht, dass auch ich irren kann, und eine Tagesform habe, kann ich mir nicht verzeihen.
NIEMALS!

combie:
Ja, dass das für dich und "die Anderen" gilt, kann ich ja noch vertragen...

Aber die Einsicht, dass auch ich irren kann, und eine Tagesform habe, kann ich mir nicht verzeihen.
NIEMALS!

Dann kämpfst Du gegen Dich selbst und das solltest Du Dir nicht antun. :wink:

Gruß Tommy

Ich hab mir die frage zu meiner vollsten Zufriedenheit selbst beantwortet!!!!
Bin auf Eure Antworten(bei solch einfacher Frage) nicht mehr Angewiesen....

Trollt hier weiter so rum, den Anfängern wird's gefallen....