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
Arduino Multitasking
05.12.2020, 21:47
Beitrag #17
RE: Arduino Multitasking
Also die erste Seite des Therdes habe ich bis jetzt verstanden und Switch case ist ja nichts weiter wie mehrere Zustands Funktionen einer ändernden variable die somit unterschiedlich befehle ausführen kann oder nicht.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.12.2020, 18:16
Beitrag #18
RE: Arduino Multitasking
Ich hätte eine frage hier zu wie das hier funktioniert im void loop

Code:
void loop() {
    // Tabellengesteuerte Ampel
    if( !AmpelTimer.running() ) {
        // Zeit abgelaufen
        // Ampel schalten
        hRot.write( hauptRot[ampelTabIx] );
        hGelb.write( hauptGelb[ampelTabIx] );
        hGruen.write( hauptGruen[ampelTabIx] );
        nRot.write( nebenRot[ampelTabIx] );
        nGelb.write( nebenGelb[ampelTabIx] );
        nGruen.write( nebenGruen[ampelTabIx] );
        // Zeit setzen ( da der Timer in ms rechnet, müssen die Tabellenwerte mit 1000
        // multipliziert werden )
        AmpelTimer.setTime( zeitDauer[ampelTabIx] * 1000 );
        // Merker weiterrückem
        if( ampelTabIx >= tabMax ) {
            // Tabellenende erreicht
            ampelTabIx = 0;
        } else {
            ampelTabIx++;
        }
    }
}

Das verstehe ich noch nicht ganz das andere sind ja nur variablen arrys und byts setzen. Wäre nett wenn mir jemand helfen könnte, hier geht's zum Stummi Forum
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.12.2020, 18:34
Beitrag #19
RE: Arduino Multitasking
Was genau davon verstehst Du nicht?

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.12.2020, 18:53
Beitrag #20
RE: Arduino Multitasking
Das in der if () und das in den klammern nach wirte und das kleine stück AmpelTimer.setTime( zeitDauer[ampelTabIx] * 1000 );
// Merker weiterrückem
if( ampelTabIx >= tabMax ) {
// Tabellenende erreicht
ampelTabIx = 0;
} else {
ampelTabIx++;
}
}
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.12.2020, 21:55 (Dieser Beitrag wurde zuletzt bearbeitet: 06.12.2020 21:58 von MicroBahner.)
Beitrag #21
RE: Arduino Multitasking
(06.12.2020 18:53)Arduino DMX Master schrieb:  Das in der if ()
Die Bedingung im if wird wahr, wenn die Zeit für die laufende Ampelphase abgelaufen ist. Während die Zeit läuft, passiert im loop gar nichts. Der läuft 'leer' durch. Wenn sie nicht mehr läuft ( !..running() ) wird die Ampeln entsprechend der nächste Ampelphase geschaltet.
(06.12.2020 18:53)Arduino DMX Master schrieb:  das in den klammern nach wirte
Das musst Du in Zusammenhang mit der Tabelle sehen, die die Ampelphasen definiert und die auch oben in deinem Link steht: Da werden die Werte für die neue/aktuelle Ampelphase aus der Tabelle gelesen. Der Zeiger in der Tabelle steht schon auf diesen Werten ( s.u. )
(06.12.2020 18:53)Arduino DMX Master schrieb:  AmpelTimer.setTime( zeitDauer[ampelTabIx] * 1000 );
Da wird die Zeit für die aktuelle Ampelphase aufgezogen, und während die läuft passiert im loop wieder nichts ( s.o. )
Was danach kommt, rückt den Zeiger für die Ampelphase eins weiter. Dabei muss matürlich auch geprüft werden, ob das Ende der Tabelle erreicht ist, denn dann geht es wieder von vorne los. Der zeigt dann schon auf die Werte für die nächste Ampelphase.

Gruß, Franz-Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.12.2020, 22:10
Beitrag #22
RE: Arduino Multitasking
A jetzt habe ichs im Kasten [-:, Noch eine kleine fragen kann man den servo Speed mit deiner lib in der Loop schleife noch mal ändern oder mehr mals da das bei mir igw. nicht klappt habe mir auch das servo bsp 1 mal angesehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.12.2020, 23:08 (Dieser Beitrag wurde zuletzt bearbeitet: 07.12.2020 08:54 von MicroBahner.)
Beitrag #23
RE: Arduino Multitasking
(06.12.2020 22:10)Arduino DMX Master schrieb:  kann man den servo Speed mit deiner lib in der Loop schleife noch mal ändern oder mehr mals
Du kannst die Geschwindigkeit des Servo jederzeit ändern - sogar während es sich noch bewegt.

Gruß, Franz-Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.12.2020, 14:15
Beitrag #24
RE: Arduino Multitasking
Okay super. Könnte man mit der Lib eine Decoder für weichen programmieren, besitze einen Piko Digital Decoder mit Fernbedienung lässt sich so was realisieren
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Wert von einem Arduino zu einem zweiten Arduino senden Thorsten_S 9 3.602 14.10.2019 14:48
Letzter Beitrag: Thorsten_S
  Firmata (Daten senden an den Arduino und empfangen vom Arduino) comfan 6 6.339 29.04.2017 14:29
Letzter Beitrag: hotsystems
  Arduino Ethernet mit USB 2 Serial Converter/Welche Einstellungen im Arduino-Sketch lociluke 1 5.170 05.05.2015 13:40
Letzter Beitrag: Bitklopfer
  Multitasking mit millis statt delay LEDstar 2 3.779 15.04.2015 11:25
Letzter Beitrag: Bitklopfer
  Arduino Mega-Projekt mit EEPROM auf Arduino Due portieren Foto-Ralf 17 13.825 16.03.2015 12:06
Letzter Beitrag: Foto-Ralf
  preemptives Multitasking: ERIKA / ARTE tito-t 5 3.017 25.09.2014 07:40
Letzter Beitrag: tito-t

Gehe zu:


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