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
Steuerung von mehreren Programmabläufen
04.11.2015, 22:55
Beitrag #17
RE: Steuerung von mehreren Programmabläufen
(04.11.2015 22:43)ardu_arne schrieb:  Aber warum soll das Programm 1 nur einmal laufen wenn du 5 mal die 1 rüberschickst?
Wie oft soll es denn laufen wenn du 10 mal die 1 rüberschickst?
Vlt habe ich mich dabei falsch ausgedrückt. Das Programm soll "Idiotensicher" sein. Es soll einfach nur wenn einer den Startknopf für Programm 1 drückt nur 1 mal durchlaufen egal wie oft man den Startknopf währen des Abllaufes drückt. Erst wenn das Programm einmal durchgelaufen ist, dann soll man es wieder starten können Wink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.11.2015, 23:00 (Dieser Beitrag wurde zuletzt bearbeitet: 04.11.2015 23:02 von ardu_arne.)
Beitrag #18
RE: Steuerung von mehreren Programmabläufen
(04.11.2015 22:55)TimF schrieb:  
(04.11.2015 22:43)ardu_arne schrieb:  Aber warum soll das Programm 1 nur einmal laufen wenn du 5 mal die 1 rüberschickst?
Wie oft soll es denn laufen wenn du 10 mal die 1 rüberschickst?
Vlt habe ich mich dabei falsch ausgedrückt. Das Programm soll "Idiotensicher" sein. Es soll einfach nur wenn einer den Startknopf für Programm 1 drückt nur 1 mal durchlaufen egal wie oft man den Startknopf währen des Abllaufes drückt. Erst wenn das Programm einmal durchgelaufen ist, dann soll man es wieder starten können Wink

Macht meine letzte Programmversion das denn nicht genau so wie gewünscht? Also nur ein mal.
Ich kann es leider nicht selbst ausprobieren da ich die passende Hardware nicht habe.

ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.11.2015, 23:05 (Dieser Beitrag wurde zuletzt bearbeitet: 04.11.2015 23:30 von hotsystems.)
Beitrag #19
RE: Steuerung von mehreren Programmabläufen
Hallo,
mit meinem Vorschlag oben war ich wohl ein wenig schnell, das wird auch nicht funktionieren.
Aber dieses hier sollte jetzt gehen.
Code:
void loop()
{
char data = Serial.read();

   if (Serial.available());
   {        
     if (data =='1' && Prog1 == 1)
      {
         Serial.println("Programm1");
         //Serial.end();
         //Serial.flush();
         motor.step (400,FORWARD,DOUBLE);
         motor.step (400,BACKWARD,DOUBLE);
         //data = '0';
         //Serial.begin(9600);
         Prog1 = 0;
         Prog2 = 1;
      }
  
     if (data =='2' && Prog2 == 1)
       {
         Serial.println("Programm2");
         //Serial.end();
         //Serial.flush();
         motor.step (100,FORWARD,DOUBLE);
         motor.step (100,BACKWARD,DOUBLE);
         //data = '0';
         //Serial.begin(9600);
         Prog1 = 1;
         Prog2 = 0;
       }
    }
}

Die Variable Prog1 und Prog2 muss global sein und wird immer beim Durchlauf gelöscht und beim anderen wieder gesetzt.

Verzwickte Angelegenheit.IdeaHuh

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.11.2015, 23:05 (Dieser Beitrag wurde zuletzt bearbeitet: 04.11.2015 23:17 von TimF.)
Beitrag #20
RE: Steuerung von mehreren Programmabläufen
Doch die Funktioniert Smile (auf arne bezogen) Danke schonmal dafür. Nur der Verständnishalber: Die Verbindung wird hier doch jedesmal unterbrochen und neu aufgebaut oder verstehe ich das falsch?
@hotsystems: Dein Code verhindert zwar, dass das Programm mehrmals ausgeführt wird, allerdings kann ich irgendwie nach dem Ersten Durchlauf nichts mehr machen. Weder Programm 1 noch Programm 2 lässt sich starten.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.11.2015, 23:17 (Dieser Beitrag wurde zuletzt bearbeitet: 04.11.2015 23:26 von ardu_arne.)
Beitrag #21
RE: Steuerung von mehreren Programmabläufen
(04.11.2015 23:05)TimF schrieb:  Doch die Funktioniert Smile (auf arne bezogen) Danke schonmal dafür. Nur der Verständnishalber: Die Verbindung wird hier doch jedesmal unterbrochen und neu aufgebaut oder verstehe ich das falsch?

Richtig erkannt. Die Verbindung wird gekappt während ein Programm läuft und eventuell noch im Puffer stehende Daten werden gelöscht. Wenn das Programm dann durch ist, wird die Verbindung wieder gestartet.

Noch eine etwas aufgeräumte und "entklammerte" Verison. Ich hoffe die tut es auch noch.
Code:
#include <AFMotor.h>

AF_Stepper motor(200, 2);


void setup()

{
  motor.setSpeed (30);
  Serial.begin(9600);
}

void loop()
{

  if (Serial.available());
    char data = Serial.read();

  if (data =='1')
  {
    Serial.println("Programm1");
    Serial.end();
    Serial.flush();
    motor.step (400,FORWARD,DOUBLE);
    motor.step (400,BACKWARD,DOUBLE);
    data = '0';
    Serial.begin(9600);
  }
  
  if (data =='2')
  {
    Serial.println("Programm2");
    Serial.end();
    Serial.flush();
    motor.step (100,FORWARD,DOUBLE);
    motor.step (100,BACKWARD,DOUBLE);
    data = '0';
    Serial.begin(9600);
  }

}

ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.11.2015, 23:28 (Dieser Beitrag wurde zuletzt bearbeitet: 04.11.2015 23:32 von hotsystems.)
Beitrag #22
RE: Steuerung von mehreren Programmabläufen
(04.11.2015 23:05)TimF schrieb:  @hotsystems: Dein Code verhindert zwar, dass das Programm mehrmals ausgeführt wird, allerdings kann ich irgendwie nach dem Ersten Durchlauf nichts mehr machen. Weder Programm 1 noch Programm 2 lässt sich starten.
Ja, das ist es wenn man es selbst nicht testen kann.
Normalerweise sollte es eine Wechselschaltung sein, daher die gegenseitige Verriegelung.

Lass es bei dem von Arne, es funktioniert ja wie es soll.

Aaaahhh...
ich habe gesehen, den üblichen Fehler: Statt "Prog1 = 0" habe ich "Prog1 == 0" geschrieben.
Habe ich oben geändert.

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
  MP3 Player mit mehreren Ordner Matthias Wehrli 2 58 Gestern 02:07
Letzter Beitrag: Matthias Wehrli
  Infrarot zu RS232 für Steuerung DG0JG 46 687 22.10.2016 11:35
Letzter Beitrag: hotsystems
  Slider Steuerung, Programmierung blueblack 21 616 16.10.2016 22:31
Letzter Beitrag: blueblack
  Hilfe: IR Remote Steuerung, MSGEQ7 + RGB-LED Streifen dastob 1 121 14.10.2016 21:40
Letzter Beitrag: hotsystems
  Hilfe bei Servo-steuerung Innocence 7 812 23.02.2016 11:00
Letzter Beitrag: hotsystems
  Steuerung eines Remotekopfes mit Joystick, 2Stck DC Motore und Arduino max123 6 608 30.12.2015 14:56
Letzter Beitrag: max123
  Milight Openmili Steuerung gronph 22 3.437 23.12.2015 11:18
Letzter Beitrag: Phil333
  propleme beim programmieren einer steuerung für funksteckdosen purzele06 18 3.667 19.11.2015 11:06
Letzter Beitrag: Phil94
  Komplexer Kamera Timelaeps Steuerung (Gimbal/Slider Kombination) fknobel 6 817 25.10.2015 14:25
Letzter Beitrag: Klaus(i)
  Pendelbahn (Seilbahn) Steuerung K@mi 34 5.030 30.07.2015 08:15
Letzter Beitrag: fraju

Gehe zu:


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