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
  Servo über Temperatur steuern querkopf71 3 70 07.12.2016 19:21
Letzter Beitrag: hotsystems
  A4988 Driver mit einem Nema 17 Hangloose 3 140 04.09.2016 21:49
Letzter Beitrag: Hangloose
  Arduino Steuern über eigne Homepage b3ta 8 401 16.08.2016 11:07
Letzter Beitrag: Pit
  PWM-Lüfter mit Adafruit Motor-Shield steuern? phischmi 9 465 22.07.2016 18:06
Letzter Beitrag: phischmi
  Steuern von 4 Servo mittels eines Taster und eines Potis Jackie09 17 758 16.07.2016 11:43
Letzter Beitrag: Binatone
  DC Motor in beide Richtungen steuern WIMunios 5 648 24.03.2016 12:04
Letzter Beitrag: Bitklopfer
  Kann ich mit einem Arduino ein Gyro für Adroid Simulieren? Demitos 0 411 16.03.2016 18:33
Letzter Beitrag: Demitos
  Mit RFID Sensor NFC Tags steuern WIMunios 14 926 15.03.2016 12:07
Letzter Beitrag: WIMunios
  Ansteuerung von einem Relais mit einem PS2 Controller minigarage 2 339 11.03.2016 15:31
Letzter Beitrag: minigarage
  WS2812 Helligkeit einzelner LEDs steuern mavericklp 3 660 11.03.2016 09:32
Letzter Beitrag: torsten_156

Gehe zu:


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