|
zwei Befehle paralell
|
|
|
19.04.2014, 16:02
Beitrag #1
|
|||
|
|||
|
zwei Befehle paralell
Hallo, ich bin neu hier, kenne C/C++ nur aus den Arduino-Fachbücher und solche Hilfe, welche ich bis jetzt nicht gefunden habe. Ich möchte gerne auf dem Arduino-UNO folgenden Sketch betreiben: über einen Schalter gebe ich ein Startsignal ins UNO-Board. Dann soll ein Wechselblinker starten und paralell dazu mit einer Verzögerung von 1 Sekunde zwei Servomotoeren angesteurt und betrieben werden.
Kann mir da jemand helfen? Den Sketch für den Wechselblinker habe ich aus einer Bibliothek gezogen. Den Rest habe ich noch nicht gefunden. Danke für Eure Hilfe. Oberlaender |
|||
|
20.04.2014, 00:29
Beitrag #2
|
|||
|
|||
|
RE: zwei Befehle paralell
Hallo Oberlaender,
"parallel" (ao wie du es wohl meinst) gibt es beim Arduino nicht. Warum das so ist erfährst du ua. hier: http://www.arduinoforum.de/arduino-Threa...ithreading Um dir helfen zu können wäre es gut den Code für den Wechselblinker reinzustellen (allein da gibts zig Möglichkeiten). Dann solltest du noch genauer beschreiben was mit Zitat: Dann soll ein Wechselblinker starten und paralell dazu mit einer Verzögerung von 1 Sekunde zwei Servomotoeren angesteurt und betrieben werden.gemeint ist. Grüße Ricardo Nüchtern betrachtet...ist besoffen besser
|
|||
|
21.04.2014, 08:28
Beitrag #3
|
|||
|
|||
|
RE: zwei Befehle paralell
Guten Morgen rkuehle,
danke dass Du mir helfen willst. Was will ich: ich möchte einen Bahnübergang ansteuern, welche folgenden Arbeitsablauf beinhaltet. Kippschalter EIN; Wechselblinker (rote LED) startet; ca 500ms(variabel) verzögert, schliessen zwei Servomotoren die Barriere; wenn Barriere zu, Kontrollblinker (gelbe LED) startet. -Zug fährt durch- Kippschalter AUS; gelbe Kontrollblinker stoppen und die beiden Servos öffnen die Barriere; ca 500ms(variabel) verzögert stellt der Wechselblinker ab. Mit parallel meinte ich, dass der Wechselblinker durchläuft und andere Befehle hinzukommen (also so quasi parallel). Ich hoffe, du verstehst was ich meine. Der Ablauf scheint einfach, vielleicht ist er aber für das Arduino komplex. Ich danke Dir auf jeden Fall jetzt schon für deinen Input. Hier der Sketch, wie ich ihn momentan habe: int tasterPin = 6; //Kippschalter-Pin 6 int ledPin[] = {1,2,8,9}; //Wechselblinker rote und gelbe(8+9) LED int analogPin[] = {10,11}; //Servo für Schlagbäume void setup(){ pinMode(6, INPUT); //Kippschalter-Pin als Eingang pinMode(1, OUTPUT); //rote LED Wechselblinker pinMode(2, OUTPUT); //rote LED Wechselblinker pinMode(8, OUTPUT); //gelbe LED Kontrollblinker pinMode(9, OUTPUT); //gelbe LED Kontrollblinker pinMode(10, OUTPUT); //Servo für Schlagbäume pinMode(11, OUTPUT); //Servo für Schlagbäume } void loop(){ if(tasterPin = HIGH); //Schrankenwärter schliesst Nü digitalWrite(1, HIGH); // schaltet den Wechselblinker ein delay(1000); digitalWrite(1, LOW); delay(1000); digitalWrite(2, HIGH); delay(1000); digitalWrite(2, LOW); delay(1000); } Gruss und Danke Oberlaender |
|||
|
21.04.2014, 10:10
Beitrag #4
|
|||
|
|||
|
RE: zwei Befehle paralell
Hallo!
..mit Delay stoppt der Programmablauf, also nicht geeignet. Schau die mal unter Beispiele/Digital/BlinkWithoutDelay an. Wennst noch einen Zähler für jedes LED==HIGH hochlaufen lässt, sollte das mit dem Timing der Schranken auch gehen, den man auch in kleinen Schritten steuern sollte, um die Geschwindigkeit der Barriere anzupassen. mfg Martin |
|||
|
21.04.2014, 19:00
(Dieser Beitrag wurde zuletzt bearbeitet: 22.04.2014 07:05 von rkuehle.)
Beitrag #5
|
|||
|
|||
|
RE: zwei Befehle paralell
Hallo Oberlaender,
ich habe mal deinen Code genommen und daraus eine Mischung aus echtem Code und Kommentaren / Pseudocode gemacht. Dadurch sollte ersichtlich sein wie man so etwas steuern kann (nicht muss).Aus deiner Abfolge war nicht richtig zu erkennen ob die rote LED weiterläuft. Daher wird Sie im Beispiel nach 1000 ms abgeschaltet. Code: int tasterPin = 6; //Kippschalter-Pin 6Code: if (tasterPin = HIGH)Hope it helps! Grüße Ricardo Nüchtern betrachtet...ist besoffen besser
|
|||
|
23.04.2014, 20:38
Beitrag #6
|
|||
|
|||
|
RE: zwei Befehle paralell
Hallo rkuehnle,
die roten LEDs laufen durch, bis vom Kippschalter der Befehl "aus" (low) kommt. Während die Schranken öffnen, sollen die roten LEDs abstellen. Entschuldige wenn es unklar war. Aber Danke für Deine Hilfestellung und den Sketch. Gruss Roland |
|||
|
10.05.2014, 02:23
Beitrag #7
|
|||
|
|||
|
RE: zwei Befehle paralell
he gibt es da jetzt auch einen fertigen sketch zu?
fände es schade wenn immer nur die probleme aber die lösungen nie zu sehen wären
Nicht denken,... ...nachdenken... ![]() Smarter - LiveData - KLAMM.de |
|||
|
10.05.2014, 07:50
Beitrag #8
|
|||
|
|||
|
RE: zwei Befehle paralell
Hallo Higi,
schau Dir mal das Sketchen von Ricardo an. Da ist die Lösung doch drinnen. Wenn zum Schranken schliessen Modellbau Servos zum Einsatz kommen, könnte man die servo.h, die standartmässig bei der IDE mitinstalliert wird, nutzen. Damit könnte dann noch der verstellwinkel sowie die Geschwindigkeit gesteuert werden . Gruß Sven Nichts auf der Welt ist unnütz, es kann im schlimmsten Fall immer noch als schlechtes Beispiel dienen. |
|||
|
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste







