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
Weichensteuerung mit Servo
22.08.2015, 09:40
Beitrag #1
Weichensteuerung mit Servo
Hallo zusammen, folgendes Programm Kommt zur Anwendung



#include <Servo.h>

int pos = 0;
int sw1 = 4;
int sw2 = 5;
int sw1status =0;
int sw2status =0;

void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to the servo object
pinMode(sw1,INPUT_PULLUP);
pinMode(sw2,INPUT_PULLUP);
}


void loop()
{
sw1status = digitalRead(sw1);
sw2status = digitalRead(sw2);
if (sw1status == LOW){
for(pos = 0; pos < 45; pos += 1)
{
myservo.write(pos);
delay(50);
}
}
if (sw2status == LOW){
for(pos = 45; pos>=0; pos-=1)
{
myservo.write(pos);
delay(50);
}
}
}

Wenn Taster SW1 auf Minus gelegt wird, geht die Weiche auf Abbiegen und mit
Sw2 auf Minus in Geradeausposition.
Funktioniert soweit gut.Nur wenn der Arduino angeschaltet wird, nimmt das Servo eine 90° Position ein. ist damit natürlich komplett aus der Postion.
Hat jemand einen Vorschlag wie das zu Verhindern ist?
Vielen Dank

Mit freundlichen Grüßen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.08.2015, 09:49
Beitrag #2
RE: Weichensteuerung mit Servo
(22.08.2015 09:40)RCudino schrieb:  ....
Nur wenn der Arduino angeschaltet wird, nimmt das Servo eine 90° Position ein. ist damit natürlich komplett aus der Postion.
Hat jemand einen Vorschlag wie das zu Verhindern ist?
Vielen Dank

Moin,
nun du kannst nach jedem verstellen die aktuelle Position im EEPROM ablegen und beim Systemstart da wieder auslesen und den Servoimpuls mit dem alten Wert wieder herstellen. Nur nach ca. 10000 Schaltspielen wird das EEPROM dann den Geist aufgeben...aber das liese sich Softwaremäßig erhöhen indem man einfach dann eine andere Speicherstelle nimmt.
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.08.2015, 11:38 (Dieser Beitrag wurde zuletzt bearbeitet: 22.08.2015 11:42 von fraju.)
Beitrag #3
RE: Weichensteuerung mit Servo
Code:
void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to the servo object
________________________________________________________________
Hier könnte ein befehl rein damit der Servo beim Start auf eine Position läuft.
Musst  du testen.
Geht natürlich auch in void
________________________________________________________________
pinMode(sw1,INPUT_PULLUP);
pinMode(sw2,INPUT_PULLUP);
}

Wenn du eine Bahnsteuerung aufbauen willst , müssen später sowieso alle Situationen
beim abschalten gespeichert werde.
Mann kann aber auch mit einer Startposition arbeiten, welche dann immer gleich ist.

Der Weg ist das Ziel!

Nicht jeder Neuling in einem Forum hat keine Ahnung über die Materie!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.08.2015, 16:48
Beitrag #4
RE: Weichensteuerung mit Servo
Vielen Dank für eueren Input

Ich habe in der void setup die Zeile:

myservo.write(pos);

eingefügt. Damit geht das Servo in meinem Fall in die
Geradeausweichenstellungposition, wenn der Arduino angeschaltet wird[/b]. So soll es sein.

Vielleicht hilft es anderen auch weiter

Mit freundlichen Grüßen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.08.2015, 22:17
Beitrag #5
RE: Weichensteuerung mit Servo
Was du machen willst und die Ergebnisse kannst du hier öffentlich machen, würde mich interessieren.

Nicht jeder Neuling in einem Forum hat keine Ahnung über die Materie!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.01.2016, 12:31
Beitrag #6
RE: Weichensteuerung mit Servo
Guten morgen und ein frohes neues Jahr,

ich habe ein ähnliches Programm für meinen Arduino gebastelt. Zusätzlich wollte ich jedoch über eine LED den jeweiligen Zustand angezeigt bekommen. Dazu wollte ich die jeweiligen Tastereingänge nutzen. Also Taster gedrückt, LED soll leuchten bis anderer Taster betätigt.

Leider drehe ich mich dort im Kreis, denn wenn ich die Eingänge auf LOW lege wird dies ja auch las Tasterdruck gewertet. Hat da jemand eine Idee?

Besten Dank
Markus
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.01.2016, 12:44
Beitrag #7
RE: Weichensteuerung mit Servo
(01.01.2016 12:31)Markus0815 schrieb:  ich habe ein ähnliches Programm für meinen Arduino gebastelt. Zusätzlich wollte ich jedoch über eine LED den jeweiligen Zustand angezeigt bekommen. Dazu wollte ich die jeweiligen Tastereingänge nutzen. Also Taster gedrückt, LED soll leuchten bis anderer Taster betätigt.

Leider drehe ich mich dort im Kreis, denn wenn ich die Eingänge auf LOW lege wird dies ja auch las Tasterdruck gewertet. Hat da jemand eine Idee?
Hast du dir schon mal die Basics angesehen, da ist alles genau beschrieben.
Um funktionierende Programme für den Arduino zu schreiben, sollten die Grundlagen schon vorhanden sein.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.01.2016, 13:20 (Dieser Beitrag wurde zuletzt bearbeitet: 01.01.2016 13:27 von RCudino.)
Beitrag #8
RE: Weichensteuerung mit Servo
(01.01.2016 12:44)hotsystems schrieb:  
(01.01.2016 12:31)Markus0815 schrieb:  ich habe ein ähnliches Programm für meinen Arduino gebastelt. Zusätzlich wollte ich jedoch über eine LED den jeweiligen Zustand angezeigt bekommen. Dazu wollte ich die jeweiligen Tastereingänge nutzen. Also Taster gedrückt, LED soll leuchten bis anderer Taster betätigt.

Leider drehe ich mich dort im Kreis, denn wenn ich die Eingänge auf LOW lege wird dies ja auch las Tasterdruck gewertet. Hat da jemand eine Idee?
Hast du dir schon mal die Basics angesehen, da ist alles genau beschrieben.
Um funktionierende Programme für den Arduino zu schreiben, sollten die Grundlagen schon vorhanden sein.

Hallo, ich habe gerade diese Problem in meinem Programm gelöst . Programm sieht wie folgt aus.
es wird jetz mit 2 LEDs in meinem Gleisbildstellwerk die Stellung des Servo angezeigt, ob die Weiche in gerader oder abgebogener Position steht. Probiers mal aus.


//31.12.2015
// Stellungsanzeige über LED eingebunden

#include <Servo.h>

// Sweep
// by BARRAGAN <http://barraganstudio.com>
// This example code is in the public domain.


#include <Servo.h>

Servo myservo; // create servo object to control a servo
// a maximum of eight servo objects can be created

int pos = 0; // variable to store the servo position
int sw1 = 4;
int sw2 = 5;
int sw1status =0;
int sw2status =0;
int gerade = 10; // LED Postionsanzeige
int gebogen = 12; // LED Positionsanzeige

void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to the servo object
pinMode(sw1,INPUT_PULLUP);
pinMode(sw2,INPUT_PULLUP);
myservo.write(pos);
pinMode (gerade,OUTPUT);
pinMode (gebogen,OUTPUT);
}


void loop()
{
sw1status = digitalRead(sw1);
sw2status = digitalRead(sw2);
if (sw1status == LOW){
delay(500);
// digitalWrite(gerade,HIGH);
for(pos = 0; pos < 60; pos += 1) // goes from 0 degrees to 180 degrees
{ // in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(50); // waits 15ms for the servo to reach the position
digitalWrite( gebogen,LOW);
delay(50);
digitalWrite(gerade,HIGH);
}
}
if (sw2status == LOW){
// digitalWrite(gebogen,HIGH);
delay(500);
for(pos = 60; pos>=10; pos-=1) // goes from 180 degrees to 0 degrees
{
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(50); // waits 15ms for the servo to reach the position
digitalWrite(gerade,LOW);
delay(50);
digitalWrite(gebogen,HIGH);
}
}
}

Mit freundlichen Grüßen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
Star ATtiny Servo SOS SOS hansanne1310 14 222 Gestern 19:57
Letzter Beitrag: hotsystems
  Servo über Temperatur steuern querkopf71 3 75 07.12.2016 19:21
Letzter Beitrag: hotsystems
  ATtiny und Servo Bibliothek malsehen 9 313 15.10.2016 18:09
Letzter Beitrag: malsehen
  Servo soll nur in Ruhelage stoppen Sven1996 1 241 19.08.2016 14:37
Letzter Beitrag: StephanBuerger
  Steuern von 4 Servo mittels eines Taster und eines Potis Jackie09 17 764 16.07.2016 11:43
Letzter Beitrag: Binatone
  Servo und PWM Ausgabe F2Ingo 4 497 17.06.2016 14:53
Letzter Beitrag: F2Ingo
  Hilfe bei Servo-steuerung Innocence 7 821 23.02.2016 11:00
Letzter Beitrag: hotsystems
  Servo.h lässt sich nicht einbinden ^^ EvilBen 5 706 08.02.2016 18:07
Letzter Beitrag: hotsystems
  Servo per Serieller Mointor ansteuern iggy 1 820 03.08.2015 03:08
Letzter Beitrag: yasi
  Servo.h und Digitalservos fs82 29 6.025 11.06.2015 18:59
Letzter Beitrag: fs82

Gehe zu:


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