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.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
2 Servos mit einem Kippschalter steuern
01.11.2015, 20:12
Beitrag #9
RE: 2 Servos mit einem Kippschalter steuern
Zitat:Wichtig für ein besseres Verständnis wäre eine Beschreibung im Sketch was die einzelnen Befehle bewirken sollen, das macht es uns einfacher.
Hier:

Code:
#include "TimerOne.h"
#include <Servo.h>

Servo servo;

// Mit einem Kippschalter(Angschlossen an A3)soll ein Flügeltor geöffnet oder geschlossen werden. Schalter an =Tore auf, Schalter aus =Tore zu


const int buttonPin = A3;     //Anschluss Kippschalter, Eingang in A3
const int ledPin =  13;   // BetriebsLED

int Servo_Tor_links = A4; // Servo links
int Servo_Tor_rechts = A5;// Servo Rechts


int Tor_rechts_offen = 05; // Servo Variablen für das Linke Tor
int Tor_rechts_geschlossen = 90; //
int Tor_rechts_soll = Tor_rechts_geschlossen;

int Tor_links_offen = 120; // Servo Variablen für das Linke Tor
int Tor_links_geschlossen = 90; //
int Tor_links_soll = Tor_links_geschlossen; //?

void setup() {

  Timer1.initialize(1000000); // Zaehler Imput ? Zeitbestimmung für die Toröffnung
  Timer1.attachInterrupt(Zaehler);
  
pinMode(ledPin, OUTPUT);      //Für dieBetriebsLED13

pinMode(buttonPin, INPUT);  // AnschlussKippschalter

digitalWrite(buttonPin, HIGH); // PULLUP ?
}

void Zaehler() //?
{
}
void Tor_links_auf() //Dies beschreibt wie langsam der Servo das Tor öffnet, sonst geht der ja ruckzuck auf

{  servo.attach(Servo_Tor_links);
  while (Tor_links_soll > Tor_links_offen)
  {
    Tor_links_soll--;
    servo.write(Tor_links_soll);
    delay(50);
    if (Tor_links_soll == Tor_links_offen)
    {
      delay(300);
      servo.detach();//Servo Motor ausstellen
    }
  }
}

void Tor_links_zu() //Dies beschreibt wie langsam der Servo das Tor schliesst, sonst geht der ja ruckzuck zu

{  servo.attach(Servo_Tor_links);
  while (Tor_links_soll < Tor_links_geschlossen)
  { Tor_links_soll++;
    servo.write(Tor_links_soll);
    delay(50);
    if (Tor_links_soll == Tor_links_geschlossen)
    {
      delay(300);
      servo.detach();//Servo Motor ausstellen

    }
  }
}
void Tor_rechts_zu() //Dies beschreibt wie langsam der Servo das Tor schliesst, sonst geht der ja ruckzuck zu

{ servo.attach(Servo_Tor_rechts);
  while (Tor_rechts_soll > Tor_rechts_geschlossen)
  {
    Tor_rechts_soll--;
    servo.write(Tor_rechts_soll);
    delay(50);
    if (Tor_rechts_soll == Tor_rechts_geschlossen)
    {
      delay(300);
      servo.detach();//Servo Motor ausstellen
    }

  }

}

void Tor_rechts_auf() //Dies beschreibt wie langsam der Servo das Tor öffnet, sonst geht der ja ruckzuck auf

{ servo.attach (Servo_Tor_rechts);
  while (Tor_rechts_soll < Tor_rechts_offen)
  { Tor_rechts_soll++;
    servo.write(Tor_rechts_soll);
    delay(50);
    if (Tor_rechts_soll == Tor_rechts_offen)
    {
      delay(300);
      servo.detach();//Servo Motor ausstellen
    }
  }
}

void loop()

{
   digitalWrite(ledPin, !digitalRead(buttonPin)); //Auslesen des Kippschalters an A3

  if (buttonPin == LOW)//Hier steckt vermutlich der Fehler, Wenn Kein Impuls vom Schalter kommt, dann sollen die Toren öffnen
{
  digitalWrite(ledPin, LOW); //BetriebsLED 13 ist aus, Zeigt gleichzeit an ob Strom fließt oder nicht,zum Testen ob Schalter funktioniert
  Tor_rechts_auf ();//  1.Tor geht auf
  delay(2000);// 2 sekunden warten
  Tor_links_auf (); //2.Tor geht auf
  delay(30000);
}

if (buttonPin == HIGH)// Wenn Impuls( Strom) vom Schalter kommt, dann sollen die Tore schließen
{
  digitalWrite(ledPin, HIGH);//BetriebsLED 13 ist an
  Tor_links_zu (); //1. Tor geht zu
  delay(2000);// 2 sekunden warten
  Tor_rechts_zu ();// 2.Tor geht zu
}
}
intTor_rechts_geschlossen=0ist noch nicht eingefügt, hol ich nach.
[/quote][/code]
Gruss Felix
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.11.2015, 22:47
Beitrag #10
RE: 2 Servos mit einem Kippschalter steuern
Dank des in Code-Tags eingefügten Sketches konnte ich jetzt auch alles gut lesen. Auch die Dokumentation hat geholfen.

Die von mir angemerkten, fehlenden Definitionen hast du oben schon eingefügt, hatte ich zuvor nicht gesehen.

In deiner Loop hast du allerdings den "digitalRead(buttonPin" nur für die Led ausgelesen, aber an die if-Anweisung für die Servos nicht weiter gegeben.
Hier fehlt noch die Übergabe an eine neue Variable, da diese einen anderen Namen erhalten sollte.

Code:
int ValButtonPin = digitalRead(buttonPin)); //Auslesen des Kippschalters an A3
  if (ValButtonPin == LOW)//So sollte es sein!  Hier steckte vermutlich der Fehler

Dies ist für HIGH und LOW notwendig.

Und dann bitte beschäftige dich mit den delays, die sind sehr störend.
Hier
http://www.arduinoforum.de/arduino-Threa...kl%C3%A4rt
findest du eine gute Beschreibung.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
Question Mehrere HX711 an einem Arduino Nano Lambacher 16 368 22.09.2017 12:22
Letzter Beitrag: Binary1
  Schrittmotor Geschwindigkeit mit Wägezelle + HX711 Modul steuern Schrittmotor 10 1.032 30.08.2017 23:45
Letzter Beitrag: hotsystems
  Servo mit einem Taster und 433mhz steuern Thor Wallhall 63 2.634 29.07.2017 11:02
Letzter Beitrag: Thor Wallhall
  2 Servos ohne delay steuern Ratlos 27 1.881 26.07.2017 20:43
Letzter Beitrag: MicroBahner
  Roboter kompassgestützt steuern Snörb 5 666 22.07.2017 12:16
Letzter Beitrag: Snörb
  Neo Pixel Clone mit 7 2812B Steuern Lil-De 8 474 12.06.2017 22:02
Letzter Beitrag: Lil-De
  Probleme mit einem Sketch für einen LED Cube 5x5x5 Frank1234 5 431 13.03.2017 12:12
Letzter Beitrag: Tommy56
  RGB Animation über Serial Steuern Medolino 5 558 20.02.2017 16:14
Letzter Beitrag: Medolino
  Mehrere HX711 mit einem Arduino Uno be14b029 5 630 08.02.2017 18:09
Letzter Beitrag: Binatone
  8 Taster an einem Pin Kitt 9 804 04.02.2017 18:51
Letzter Beitrag: ardu_arne

Gehe zu:


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