Weichensteuerung mit Servo
|
02.01.2016, 18:18
Beitrag #17
|
|||
|
|||
RE: Weichensteuerung mit Servo
(02.01.2016 15:41)RCudino schrieb: Wie hast du es jetzt hardwaremäßig gelöst? Habe nochmal umgestrickt, so gefällt es mir bislang ganz gut. Schaltung: http://prntscr.com/9l9n7a Sketch: #include <Servo.h> Servo myservo; int tast1 = 3; int tast2 = 4; int LED1 = A0; int Servo1 = 9; int Stellung1 = 90; int Stellung2 = 10; int Ruhestellung; const int Warten = 19; void Servo_move(int servo,int Stellung_Neu); //------------------------------------------------------------- void setup() { pinMode(tast1, INPUT); pinMode(tast2, INPUT); pinMode(LED1, OUTPUT); digitalWrite(tast1,HIGH); digitalWrite(tast2,HIGH); pinMode(Servo1,OUTPUT); Ruhestellung=Stellung1; } //------------------------------------------------------------- void loop() { if (digitalRead(tast1) == LOW) { Servo_move(Servo1, Stellung1); digitalWrite(LED1, HIGH); } if (digitalRead(tast2) == LOW) { Servo_move(Servo1, Stellung2); digitalWrite(LED1, LOW); } delay(20); } //------------------------------------------------------------- /*** Timingverhalten!!! ***/ void Servo_move(int servo,int Stellung_neu){ int Schritt; if (Stellung_neu == Ruhestellung) return; Schritt = (Stellung_neu > Ruhestellung) ? 1 : -1; while(Ruhestellung != Stellung_neu){ Ruhestellung+=Schritt; // Servo stellen digitalWrite(servo,HIGH); delayMicroseconds((Ruhestellung * 10)+500); digitalWrite(servo,LOW); delay(Warten); } } Wird noch umgebaut auf nen Array, aber zum testen OK soweit. Reicht dann für 4 Weichen und 2 Servos, die ein Fahrzeug oder was auch immer bewegen.. |
|||
04.01.2016, 22:05
(Dieser Beitrag wurde zuletzt bearbeitet: 04.01.2016 22:07 von fraju.)
Beitrag #18
|
|||
|
|||
RE: Weichensteuerung mit Servo
Nicht jeder Neuling in einem Forum hat keine Ahnung über die Materie! |
|||
05.01.2016, 02:12
Beitrag #19
|
|||
|
|||
RE: Weichensteuerung mit Servo
(04.01.2016 22:05)fraju schrieb: Zu meinen Verständnis, erkläre bitte die Funktion deiner Schaltung! ...interessante Schaltung....VCC wird da dann auf nominal 1,4V begrenzt...bis eine Diode aufgibt weil If zu groß war... lgbk 1+1 = 10 ![]() ![]() |
|||
05.01.2016, 08:10
(Dieser Beitrag wurde zuletzt bearbeitet: 05.01.2016 08:25 von Markus0815.)
Beitrag #20
|
|||
|
|||
RE: Weichensteuerung mit Servo
(05.01.2016 02:12)Bitklopfer schrieb:(04.01.2016 22:05)fraju schrieb: Zu meinen Verständnis, erkläre bitte die Funktion deiner Schaltung! Ich sehe da gerade kein Problem, egal wie groß mein if wird. Der Ausgang des Arduino bietet max die Betriebsspannung an, also 5V. Somit liegen max 5v über R und der LED an. Und das der Ausgang tiefer als 0V bei LOW sinkt ist auch eher unwahrscheinlich. Also max 5V über R und LED. Behelfsweise einfach mal 5v bzw 0V anstelle von Arduino A0 da oben ranschreiben. Vielleicht erklärt es sich dann besser. Normalerweise sperrt eine Diode wenn sie den Geist aufgibt. Bedeutet in dem Fall ganz simpel sie leuchtet eben nicht. Und sorry, ja ich habe die netten Pfeile bei den LED's weggelassen. |
|||
05.01.2016, 16:05
Beitrag #21
|
|||
|
|||
RE: Weichensteuerung mit Servo
[/quote]
Und sorry, ja ich habe die netten Pfeile bei den LED's weggelassen. [/quote] Dann wird es verständlicher! ![]() Nicht jeder Neuling in einem Forum hat keine Ahnung über die Materie! |
|||
05.01.2016, 18:04
(Dieser Beitrag wurde zuletzt bearbeitet: 05.01.2016 22:20 von Markus0815.)
Beitrag #22
|
|||
|
|||
RE: Weichensteuerung mit Servo
Und sorry, ja ich habe die netten Pfeile bei den LED's weggelassen.
[/quote] Dann wird es verständlicher! ![]() [/quote] Dann bin ich ja beruhigt ![]() Auch wenn die Schaltung nicht ganz die feine ist, aber minimalistisch eben. Hätte nur noch eine Frage bezüglich meines geplanten Array. Wollte das ganze so aufstellen: int Tast1[4]={1,4,8,A3}; //Definition Taster 1 int Tast2[4]={2,7,12,A4}; //Definition Taster 2 int Servo[4]={3,5,6,9}; //PWM Ausgang Servo int LED[4]={A0,A1,A2,A5}; //Analogausgang für LED Statusanzeige Ist der Mischmasch bei den Tasten, also Digital sowie Analog so zulässig? Ich habe leider erst 2 Servos zum testen da und bin nur am umstecken... Der Count soll von 0-3 gehen, also 4 Plätze halt. Die Stellwinkel denke ich müßen nicht unbedingt in ein Array, 2-3 Grad Abweichung spielen bei einem federnden Draht keine Rolle. |
|||
|
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste