Arduino Projekte: Servo ansteuern

Поділитися
Вставка
  • Опубліковано 13 гру 2024

КОМЕНТАРІ • 68

  • @jurgenfrey5814
    @jurgenfrey5814 Рік тому +1

    Ich fang gerad erst an mit der Elektronik und muss agen, das hier ist für mich eines der besten Einführungen in das Thema Arduino und technische Wissen. Danke dafür!

  • @florianschuehle5014
    @florianschuehle5014 8 років тому +3

    Hallo gutes Video sehr gut erklärt. Gibt es eine Möglichkeit den Servo vom pc direkt anzusteuern in einem nich auf Text basierendem Programm ?

  • @Paul-wr7mk
    @Paul-wr7mk 7 років тому +2

    Dankeschön für das gute Tutorial!

  • @markusguder1604
    @markusguder1604 9 років тому +2

    sehr gutes video :) einfach gehalten aber trotzdem strukturiert erklärt :)

  • @BerlinerARdrone
    @BerlinerARdrone 8 років тому

    Danke für den Einblick die Steuerung.

  • @jofe701
    @jofe701 Рік тому

    So ein gutes Video.
    Vielen Dank!!

  • @matthiasweidl7249
    @matthiasweidl7249 Рік тому

    Tolles Video! Eine Frage hätte ich allerdings. Wenn ich das Potentiometer durch eine MESA 7i96s ersetzte, kann ich diesen auch mit einem analogen Signal steuern oder brauche ich ein Potentiometer, um die Spannung zu steuern, da der Winkel in Abhängigkeit der Spannung am Servo eingestellt wird?

  • @heinzhamster1381
    @heinzhamster1381 9 років тому

    Arduino: 1.6.0 (Windows 8), Board: "Arduino Uno"
    servocontrol1.0.ino:1:20: error: missing terminating > character
    servocontrol1.0.ino:1:20: fatal error: Servo.ha: No such file or directory
    compilation terminated.
    Error compiling.
    This report would have more information with
    "Show verbose output during compilation"
    enabled in File > Preferences.
    Was heißt das? Und was hab ich falsch gemacht?

  • @r.neesemann3851
    @r.neesemann3851 5 років тому +1

    Vielen Dank!

  • @rudolf8757
    @rudolf8757 3 роки тому

    tolles Video, habe das Programm übernommen, Hab aber ein Problem mit der Drehrichtungsänderung
    (val = -map(val, 0, 1023, 0, 180); ich hab Änderungen vorgenommen,aber ohne Erfolg. Was kann man noch tun?

  • @Mailo65
    @Mailo65 5 років тому

    Hallo, für mein Projekt würde ich zwei Poti anschließen wollen um den Servo von zwei Positionen zu steuern, ist das möglich??

  • @kennethmanheim265
    @kennethmanheim265 7 років тому +1

    kannst du auch ein Video mit nem 360° Servo machen???

  • @Creepy-Risto
    @Creepy-Risto 9 місяців тому

    Super Video. Reicht dem Servo die 5 V die der Arduino abgibt? Oder sollte man die Servos mit einen extra 5 Volt Netzteil betreiben? Ich frag nur weil mein Arduino gerade anscheinden wegen sowas durchgebrannt ist... der Servos ging 5 mal und dann ist es durch gebrannt. Hat er vllt zu viel Strom gezogen?

    • @MakerblogAt
      @MakerblogAt  8 місяців тому

      Die Miniservos, die vielen Starterkits beiliegen, können eigentlich problemlos über den Arduino versorgt werden. Größere Servos brauchen eine eigene Stromversorgung.
      Welchen Servo hast du angeschlossen und wie wurde der Arduino zu dem Zeitpunkt mit Strom versorgt - per 12V Buchse oder 5V USB?

  • @aibarandolf
    @aibarandolf 7 років тому +2

    Es interessiert mich schon länger wie man Servos steuern kann, ich würde gern mal einen Roboter in Menschlicher Form bauen, habe aber keine Ahnung was man da für Servos benutzen sollte, für das Skelett würde ich PVC Rohre verwenden, aber da habe ich auch keine Ahnung wie man diese an den Servos, oder die Servos an den Rohren befestigen müsste. Kennst du dich damit etwas aus, oder kennst du jemanden der sich mit sowas auskennt? Wäre sehr interessant ein einfaches bewegliches Skelett aufzubauen das mit Servos bewegt wird und dann irgendwann immer weiter auszubauen.

    • @tobinator2775
      @tobinator2775 7 років тому +1

      Aiba Randolf Kauf dir nen günstigen 3D Drucker wie den Anet A8 und du kannst dir das ganze Skelett passend für deine Servos ausdrucken :D

    • @ONeill45
      @ONeill45 6 років тому

      Aiba Randolf wird aber jede Menge Geld verschlingen

    • @labydev7168
      @labydev7168 6 років тому

      auch wenn es bischen spät ist einfach ausprobieren

  • @TonySwitzerland
    @TonySwitzerland 7 років тому +1

    Danke!

  • @a68k_de
    @a68k_de 3 роки тому

    Genial! Gesucht, gefunden, genau was wir brauchen! 👍
    Aber ginge auch ein mini Arduino?
    ("Arduino Pro Mini" oder so?)

  • @DieSachsenBahn
    @DieSachsenBahn 10 років тому +1

    Wenn ich nun eine Weiche auf meiner Modellbahn damit ansteuern möchte, wie sag ich dann dem Servo, dass er sich langsam bewegen soll?

    • @MakerblogAt
      @MakerblogAt  10 років тому

      Also, die meisten Servos haben eine bestimmte fixe Geschwindigkeit, mit der sie die Zielposition anfahren. Möglich wäre z.B. die Endposition nicht direkt anzusteuern, sondern aus dem Programmcode in Teilschritten, die sich der Zielposition nähern. Das wird wahrscheinlich aber eine etwas ruckelige Bewegung zur Folge haben.

  • @emkey5972
    @emkey5972 8 років тому

    Hallo, die Ansteuerung funktioniert soweit wunderbar, allerdings habe ich einen Taster, wenn ich den Taster gedrückt halte, arbeitet der Servo, jetzt möchte ich aber ganz gern, das der Servo nach loslassen des Tasters in seine Ausgangsstellung geht, gibt es da eine Möglichkeit?

    • @Abcdefg25152
      @Abcdefg25152 7 років тому

      em key klar

    • @shirkanesi
      @shirkanesi 6 років тому

      myservo.write(map(digitalRead(TASTER_PIN), 0, 1, 0, 180));
      Wenn ich dich richtig verstehe, soll der Servo beim Drücken sich ausfahren und danach zurück?!? Dann sollte das hier funktionieren.

  • @SoaringExperience
    @SoaringExperience 7 років тому

    Scheint ja zu funktionieren, nur hab ich gehört (absoluter Arduino Anfänger), dass man nicht mehr als 20mA über das Board laufen lassen soll. Aber eigentlich ziehen Servos schnell mehr als 20mA. Oder sind die beiden gewählten Pins am Board dafür genau ausgelegt?

    • @MakerblogAt
      @MakerblogAt  7 років тому

      Zur Stromversorgung des Servos werden die +5V/GND Pins des Arduino verwendet, die vertragen laut Datenblatt bis zu 200mA (wahrscheinlich eher mehr, in manchen Foren ist von bis zu 400mA die Rede). Beim PWM-Pin für das Steuersignal selbst wird dann keine so große Leistung benötigt.

  • @Pasce97
    @Pasce97 6 років тому

    Deine Schaltung und die Art wie du alles erklärt hast finde ich super! Der Servo dreht bei mir nur durch sobald ich den Potti zu weit aufdrehe. :/
    Könntest du oder Jemand anderes mir sagen woran das liegen könnte? Ist der Servo kaputt?
    schonmal Danke und Liebe Grüße!

  • @MRTz_music
    @MRTz_music 8 років тому

    Bei mir iat der servo aus dem arduino stqrter kit kaput der hat sich wtändig über die maximalposition hinqus gedreht und jetzt ist das getriebe kaputt

    • @mv746
      @mv746 6 років тому

      hahahaahaha *auslach*

  • @ManiacSamurai1
    @ManiacSamurai1 9 років тому

    hallo, tolles video!
    kannst du mir vielleicht ein gutes arduino/elektronik- buch empfehlen?

    • @MakerblogAt
      @MakerblogAt  9 років тому +1

      Hi! Das beste deutschsprachige Einsteigerbuch ist aktuell "Die elektronische Welt mit Arduino entdecken" von Erik Bartmann. Weitere Bücher siehe hier: www.makerblog.at/arduino-buchtipps/

  • @DosenmilchxD
    @DosenmilchxD 10 років тому

    Kann man das Potentiometer so einstellen, bzw programmieren das es nur in einem Drehwinkel von .. 40-60° wirkt? Also das der Servo bei 60° voll ausgefahren ist?

    • @MakerblogAt
      @MakerblogAt  10 років тому

      Hi, der Zusammenhang zwischen den 10-bit (0-1023) vom Potentiometer und den 0-180 Grad, die an den Servo gesendet werden ist ein rein rechnerischer. Über die Zeilen val = map(val, 0, 1023, 0, 180); im Arduino Sketch lässt sich das gut steuern, wenn man da z.B. den max. Ausschlag von 1023 durch einen niedrigeren Wert ersetzt, dann reagiert der Servo empfindlicher auf die Drehung am Potentiometer. So lässt sich auch das von dir gewünschte Verhalten einstellen.

    • @janborggreven8664
      @janborggreven8664 9 років тому

      Makerblog.at - Arduino & Co
      Hallo,
      habe einen Joystick, also quasi zwei Potentiometer.
      Kann ich (wie beschrieben) einfach den map(val, wert1, wert2) ändern, damit die ansteuerug feiner wird? Also zb. (0, 500) ??
      Und dann wäre noch die Frage, ob man den servo mit einer if-Bedingung, beim drücken des Joystick (Switch), dazu bringen kann, dass er nicht zurük in die Ausgangsposition geht?? Versuche seit Tagen einen Code dafür zu finden.
      Danke schon einmal im Vorraus

    • @MakerblogAt
      @MakerblogAt  9 років тому

      Jan Borggreven Hallo Jan, wenn du die Ansteuerung feiner haben willst, dann brauchst du das map() eigentlich gar nicht. Der Wert vom Potentiometer wird vom Analogpin des Arduino als 10bit-Wert (0-1023) geliefert, den könntest du ja direkt nehmen. Feiner geht es allerdings auf diesem Weg nicht mehr.
      Für jeden anderen Wertebereich, in den du den Potentiometerwert umwandeln möchtest, kannst du wie von dir geschrieben einfach das 180 durch das Maximum des Wertebereichs Wert ersetzen.

  • @iTzDaniel27
    @iTzDaniel27 9 років тому

    Hallo, bei mir funktioniert das Programm leider nicht wie gewollt.
    Ich habe alles wie im Video angeschlossen, benutze allerdings einen Tower Pro SG 90 Servo,
    sobald ich das Programm starte dreht sich der Servo in eine Richtung bis zum Anschlag und bleibt dann stehen (bzw will weitere drehen was aber durch den mechanischen Anschlag verhindert wird)
    Was muss ich ändern, dass mein Servo auf die vom Poti vorgegebene Position fährt?

    • @iTzDaniel27
      @iTzDaniel27 9 років тому

      +DanNi S. Was ich noch vergessen habe zu erwähnen ist, dass sich durch ein Drehen am Poti während des Verfahrens lediglich die Geschwindigkeit verändert mit der der Servo bis zum Anschlag fährt.
      Es wäre super wenn mir jmd helfen kann

    • @MakerblogAt
      @MakerblogAt  9 років тому +2

      +DanNi S. Was schickst du den an den Servo? Hast du dir den Wert mal über Serial.print() angeschaut und ausgeben lassen? Ist die Steuerleitung des Servo auch sicher an einem der PWM-Pins angeschlossen? Normalerweise funktionieren diese kleinen Zwerge recht zuverlässig, da gibts nicht viel was man falsch machen kann. Notfalls Foto des Aufbaus und Arduino Sketch an mich mailen, meine Mail findest du auf meinem Blog.

  • @karamba234
    @karamba234 3 роки тому

    Tolles Video.
    Aber irgendwie hat mein regler begonnen zu rauchen. Was ist passiert? LG

    • @MakerblogAt
      @MakerblogAt  3 роки тому

      Mit Regler meinst du das Potentiometer oder die Servos? Mit den 5V vom Arduino und ohne Kurzschluss sollte eigentlich nichts rauchen :)

    • @karamba234
      @karamba234 3 роки тому

      Ich habe einen Potentiometer verwendet. Vielleicht hab ich die Kontakte falsch angeschlossen oder es war ein Produktionsfehler. Bin eben kein Experte
      ¯\_(ツ)_/¯

  • @andreasgfoller3774
    @andreasgfoller3774 8 років тому

    Ok danke

  • @marlonjareck7367
    @marlonjareck7367 5 років тому +1

    Digga nice, Danke!

  • @scratchop6863
    @scratchop6863 8 років тому

    Ich bin Anfänger und wollte es mit einem 360 Grad Towerpro md 995 testen, jedoch dreht er sich die ganze Zeit und ändert beim Drehen am Potentiometer nur die Richtung oder bleibt steht bei Mittelstellung des Potentiometers.
    MfG

    • @scratchop6863
      @scratchop6863 8 років тому

      Also er regelt sozusagen nur die Spannung in höher oder niedriger und positiv und negativ

    • @MakerblogAt
      @MakerblogAt  8 років тому

      Das ist glaub ich ein 360 Grad Continous Servo, oder? Da funktioniert das etwas anders, mit dem Beispielcode würde er sich immer weiter drehen, also ähnlich wie bei dir beschrieben. Allerdings hab ich so einen Servo noch nicht ausprobiert, kann da also keiner wirklich zuverlässige Aussage machen. Auf arduino.cc heisst es dazu beim write()-Befehl: "On a continuous rotation servo, this will set the speed of the servo (with 0 being full-speed in one direction, 180 being full speed in the other, and a value near 90 being no movement)."

    • @scratchop6863
      @scratchop6863 8 років тому

      Makerblog.at - Arduino & Co okay ich werde mal weiter sehen habe auch win motorshield muss mal sehen, ob man darüber es so hinbekommt wie ich es mir vorstelle

    • @scratchop6863
      @scratchop6863 8 років тому

      Makerblog.at - Arduino & Co trotzdwm vielen Dank

  • @theturk3820
    @theturk3820 7 років тому

    Wie könnten ich den Arduino und den Servo ausser der USB Schnittstelle versorgen ?

    • @peterklaus3318
      @peterklaus3318 7 років тому

      An jedem Arduino ist eine Buchse für ein Steckernetzteil.

  • @immo.r.z.h.77
    @immo.r.z.h.77 8 років тому

    Ich bekomme eine Fehlermeldung "(sketch_jul03a.ino:17:1: error: expected ‘;’ before ‘Serial’) " woran liegt das ?
    ich hab alles genau so gemacht !

    • @ehrenschwan
      @ehrenschwan 8 років тому

      kommt jetzt wahrscheinlich spät aber irgendwo in deinem Code wird ein semikolon (dieses Zeichen ;) welches du am Ende jeder Zeile machen musst

    • @ehrenschwan
      @ehrenschwan 8 років тому

      fehlen

  • @michaelburner2301
    @michaelburner2301 8 років тому

    wieso braucht man bei einem Schrittmotor ein Schutz wie Motor ics für den arduino aber beim servo Motor nicht?

    • @shirkanesi
      @shirkanesi 6 років тому

      Weil du Schrittmotoren direkt über die Output-Pins mit Spannung (und Strom) versorgst, allerdings ziehen die definitiv mehr Strom als 20mA. Der Servo braucht nur ein ganz schwaches PWM-Steuersignal

  • @andreasgfoller3774
    @andreasgfoller3774 8 років тому

    wie muss ich den Code schreiben wenn ich das ganze mit einen zweiten Servo und einen 2 Potentiometer machen will

    • @MakerblogAt
      @MakerblogAt  8 років тому +4

      Zweiten Servo und weiteres Poti auf anderen Pins anschliessen, diese passend initialisieren. Dann ein weiteres Servoobjekt Servo myservo1; und eine weitere Variable int val1; einführen und im loop() alle Zeilen bis aufs delay() angepasst auf die Variablen und Pins der 2. Poti/Servo-Einheit verdoppeln. Das müsste dann schon funktionieren, das kriegst du sicher hin.

  • @Mikitho26
    @Mikitho26 10 років тому

    hallo ich habe mal eine frage und zwar habe ich ein programm geschrieben und es funktioniert nur zur hälfte und zwar geht alles bis zu myservo2 und der dritte soll sich mit dem taster 7=pin6 und 8=pin7 langsam nach links und langsam nach rechts bewegen jedoch macht dieser nix und fehler zeigt es auch nicht hier schonmal der Code wenn Sie mir helfen können :)
    // Programm: mit 4 servos und 8 tastern
    // Author: Arduino and Co.
    #include
    // Stellwinkel des Servos (Startposition: mittig)
    int angle = 45;
    // Lag zum warten auf den Servo
    int lag = 10;
    Servo myservo, myservo1, myservo2, myservo3;
    int val;
    int keyone = 0; // Pin an nr. 0
    int Keytwo = 1; // Pin an nr. 1
    int keythree = 2; // Pin an nr. 2
    int keyfour = 3; // Pin an nr. 3
    int keyfive = 4; // Pin an 4
    int keysix = 5; // Pin an 5
    int keyseven = 6; // Pin an 6
    int keyeight = 7; // Pin an 7
    void setup ()
    {
    // Servo an Pin 11 angeschloßen
    myservo.attach (11);
    // Set the pin as input
    pinMode (keyone, INPUT);
    // Crank internal pull-up resistor
    digitalWrite (keyone, HIGH);
    pinMode (Keytwo, INPUT);
    digitalWrite (Keytwo, HIGH);
    pinMode (keythree, INPUT);
    digitalWrite (keythree, HIGH);
    pinMode (keyfour, INPUT);
    digitalWrite (keyfour, HIGH);
    // Servo an Pin 10 angeschloßen
    myservo1.attach (10);
    // Set the pin as input
    pinMode (keyone, INPUT);
    // Crank internal pull-up resistor
    digitalWrite (keyone, HIGH);
    pinMode (Keytwo, INPUT);
    digitalWrite (Keytwo, HIGH);
    pinMode (keythree, INPUT);
    digitalWrite (keythree, HIGH);
    pinMode (keyfour, INPUT);
    digitalWrite (keyfour, HIGH);
    // Servo an Pin 9 angeschloßen
    myservo2.attach (9);
    // Set the pin as input
    pinMode (keyfive, INPUT);
    // Crank internal pull-up resistor
    digitalWrite (keyfive, HIGH);
    pinMode (keysix, INPUT);
    digitalWrite (keysix, HIGH);
    // Servo an Pin 8 angeschloßen
    myservo3.attach (8);
    // Set the pin as input
    pinMode (keyseven, INPUT);
    // Crank internal pull-up resistor
    digitalWrite (keyseven, HIGH);
    pinMode (keyeight, INPUT);
    digitalWrite (keyeight, HIGH);
    }
    void loop ()
    {
    // Le the value of the Left Key (On / Off)
    val = digitalRead (keyone);
    // If the key is pressed, move the servo
    if (val!=1)
    {
    myservo.write (45); // Move the servant to the angle of 60 degrees
    delay (15); // Delay for the servant reach the position
    }
    val = digitalRead (Keytwo);
    if (val!=1)
    {
    myservo.write (90); // Move the servant to the angle of 90 degrees
    delay (15);
    }
    val = digitalRead (keythree);
    if (val!=1)
    {
    myservo.write (180); // Move the servant to the angle of 120 degrees
    delay (15);
    }
    val = digitalRead (keyfour);
    if (val!=1)
    {
    myservo.write (60); // Move the servant to the angle of 120 degrees
    delay (15);
    }
    val = digitalRead (keyone);
    // If the key is pressed, move the servo
    if (val!=1)
    {
    myservo1.write (45); // Move the servant to the angle of 60 degrees
    delay (15); // Delay for the servant reach the position
    }
    val = digitalRead (Keytwo);
    if (val!=1)
    {
    myservo1.write (45); // Move the servant to the angle of 90 degrees
    delay (15);
    }
    val = digitalRead (keythree);
    if (val!=1)
    {
    myservo1.write (45); // Move the servant to the angle of 120 degrees
    delay (15);
    }
    val = digitalRead (keyfour);
    if (val!=1)
    {
    myservo1.write (45); // Move the servant to the angle of 120 degrees
    delay (15);
    }
    val = digitalRead (keyfive);
    if (val!=1)
    {
    myservo2.write (15); // Move the servant to the angle of 120 degrees
    delay (15);
    }
    val = digitalRead (keysix);
    if (val!=1)
    {
    myservo2.write (150); // Move the servant to the angle of 120 degrees
    delay (15);
    }
    val = digitalRead (keyseven);
    if(val!=1){
    if(angle > 0){
    angle = angle-1;
    delay(lag);}
    myservo3.write(10);
    delay (15);{
    }
    val = digitalRead (keyeight);
    if(val!=1){
    if(angle < 180){
    angle = angle+1;
    delay(lag);}
    myservo3.write(180);
    delay (15);
    }
    }
    }

    • @MakerblogAt
      @MakerblogAt  10 років тому

      Hi. Du änderst bei den beiden Tasten (am Ende des Codes) zwar den angle-Wert, schickst dann aber immer 10 oder 180 über myservo3.write an den Servo? Ich denke da gehört ein .write(angle) hin, dann sollte sich schon was tun.
      Außerdem müsstest du bei den anderen Keys auch jeweils den Wert angle auf den an den Servo geschickten Wert setzen, sonst kann es dann sein, dass beim ersten Klick auf Key7 oder Key8 zwar der neue angle=46 berechnet wird, der Servo von Key6 aber noch auf 150 steht und dann nicht eine kleine Bewegung macht sondern zuerst von 150 auf 46 Grad zurückfährt.

    • @Mikitho26
      @Mikitho26 10 років тому

      hallo danke für die schnelle antwort aber das mit dem write zuangle hab ich schon versucht aber das geht nicht und es soll ja nur servo3 feingesteuert werden die anderen 3servos sollen bestimmte positionen fahren und stehen bleiben ich möchte mit diesen programm in meinem auto die heitzung mit servos ansteuern und da soll servo 0 und 1 die reglung für die luft steuern also frontscheibe oder füsse und servo 2 soll außen und ihnen luft steuern und servo 3 warm und kalt und da bei warm und kalt der servo sich nur langsam bewegen soll brauch ich eine lösung am liebsten wäre mir wenn ich dazu noch 3 rote led´s und 3 blaue led´s ansteuern könnte also wenn der servolangsam zu heiß wechselt eine rote led nach der anderen aufleuchtet bis der servo anhält und und alle roten led´s leuchten für voll heiß und anders herum zu den blauen für kalt. Mein problem ist ich hab den arduino erst seit einer woche und kenn mich da nicht so aus und weis nicht ob das machbar ist (ich hab ein Arduino Mega 2560) würde mich freuen wenn sie mein programm ein wenig ändern könnten aber wenn nicht dank ich ihnen trotzdem :)

    • @MakerblogAt
      @MakerblogAt  10 років тому

      Michael Thomas Hallo Michael, OK, ich glaub jetzt versteh ich was du meinst. Trotzdem, wenn du den angle bei myservo3.write() nicht mitgibst (und dieser sich nicht langsam ändert) dann wird der Servo immer so schnell wie möglich zum Endpunkt fahren.
      Hast du schon probiert, in den beiden if{} für keyseven und keyeight und am Ende vom loop() eine Ausgabe des aktuellen angle-Wertes über Serial.println auf den Seriellen Monitor am PC zu machen? Dann kannst du dir zumindest sicher sein, dass die Buttonklicks richtig erkannt und der angle jeweils um 1 erhöht oder erniedrigt wird.

    • @Mikitho26
      @Mikitho26 10 років тому

      // Ansteuern von 4 servos
      #include
      int posmyservo3 = 45; //StartpositionH
      int delayPeriod = 10; // Geschwindigkeit
      Servo myservo, myservo1, myservo2, myservo3;
      int val;
      int keyone = 0; // Pin an nr. 0
      int Keytwo = 1; // Pin an nr. 1
      int keythree = 2; // Pin an nr. 2
      int keyfour = 3; // Pin an nr. 3
      int keyfive = 4; // Pin an 4
      int keysix = 5; // Pin an 5
      int keyseven = 6; // Pin an 6
      int keyeight = 7; // Pin an 7
      void setup ()
      {
      // Servo an Pin 11 angeschloßen
      myservo.attach (11);
      // Set the pin as input
      pinMode (keyone, INPUT);
      // Crank internal pull-up resistor
      digitalWrite (keyone, HIGH);
      pinMode (Keytwo, INPUT);
      digitalWrite (Keytwo, HIGH);
      pinMode (keythree, INPUT);
      digitalWrite (keythree, HIGH);
      pinMode (keyfour, INPUT);
      digitalWrite (keyfour, HIGH);
      // Servo an Pin 10 angeschloßen
      myservo1.attach (10);
      // Set the pin as input
      pinMode (keyone, INPUT);
      // Crank internal pull-up resistor
      digitalWrite (keyone, HIGH);
      pinMode (Keytwo, INPUT);
      digitalWrite (Keytwo, HIGH);
      pinMode (keythree, INPUT);
      digitalWrite (keythree, HIGH);
      pinMode (keyfour, INPUT);
      digitalWrite (keyfour, HIGH);
      // Servo an Pin 9 angeschloßen
      myservo2.attach (9);
      // Set the pin as input
      pinMode (keyfive, INPUT);
      // Crank internal pull-up resistor
      digitalWrite (keyfive, HIGH);
      pinMode (keysix, INPUT);
      digitalWrite (keysix, HIGH);
      // Servo an Pin 8 angeschloßen
      myservo3.attach (8);
      pinMode (keyseven, INPUT);
      pinMode (keyeight, INPUT);
      }
      void loop ()
      {
      // Le the value of the Left Key (On / Off)
      val = digitalRead (keyone);
      // If the key is pressed, move the servo
      if (val!=1)
      {
      myservo.write (45); // Move the servant to the angle of 60 degrees
      delay (15); // Delay for the servant reach the position
      }
      val = digitalRead (Keytwo);
      if (val!=1)
      {
      myservo.write (90); // Move the servant to the angle of 90 degrees
      delay (15);
      }
      val = digitalRead (keythree);
      if (val!=1)
      {
      myservo.write (180); // Move the servant to the angle of 120 degrees
      delay (15);
      }
      val = digitalRead (keyfour);
      if (val!=1)
      {
      myservo.write (60); // Move the servant to the angle of 120 degrees
      delay (15);
      }
      val = digitalRead (keyone);
      // If the key is pressed, move the servo
      if (val!=1)
      {
      myservo1.write (45); // Move the servant to the angle of 60 degrees
      delay (15); // Delay for the servant reach the position
      }
      val = digitalRead (Keytwo);
      if (val!=1)
      {
      myservo1.write (45); // Move the servant to the angle of 90 degrees
      delay (15);
      }
      val = digitalRead (keythree);
      if (val!=1)
      {
      myservo1.write (45); // Move the servant to the angle of 120 degrees
      delay (15);
      }
      val = digitalRead (keyfour);
      if (val!=1)
      {
      myservo1.write (45); // Move the servant to the angle of 120 degrees
      delay (15);
      }
      val = digitalRead (keyfive);
      if (val!=1)
      {
      myservo2.write (15); // Move the servant to the angle of 120 degrees
      delay (15);
      }
      val = digitalRead (keysix);
      if (val!=1)
      {
      myservo2.write (150); // Move the servant to the angle of 120 degrees
      delay (15);
      }
      if(digitalRead(6) == HIGH){
      if (posmyservo3 < 170){
      posmyservo3=posmyservo3+1;
      digitalWrite(12,HIGH);
      }
      }
      if(digitalRead(7) == HIGH){
      if (posmyservo3 > 30){
      posmyservo3=posmyservo3-1;
      digitalWrite(12,HIGH);
      }
      }
      myservo3.write(posmyservo3);
      delay(delayPeriod);
      digitalWrite(12,LOW);
      }

  • @halloherbert7683
    @halloherbert7683 6 років тому

    servus allesamt,
    hab ne frage zu meinem Projekt,
    ich bin gerade an einer Steuerung zur Füllstandskontrolle in einem Behälter.
    Dieser bei einem gewissen Füllstand von einer Impellerpumpe abgepumpt wird.
    Jetzt mein Problem ich will einen Not-Aus Schalter in meine Schaltung einbauen der den Pumpvorgang unterbricht und den Code vom Arduino unterbricht , und eine Fehlermeldung an ein Display schickt. Wer kann mir helfen?

    • @karamba234
      @karamba234 3 роки тому

      Ich weiß, es kommt SEHR spät.
      Aber du könntest machen, dass wenn der schalter gedrückt wird, eine Variable zu null gesetzt wird und die Variable ist die Pumpgeschwindigkeit.
      LG

  • @rudichristiani2656
    @rudichristiani2656 Рік тому

    Arduino Servos

  • @michaelbaur5954
    @michaelbaur5954 5 років тому +1

    Besser kann's nicht erklärt werden 😀👍