delay zeit automatisch vergrößern?

OP #4898321
Lesenswert?
• ▲
▼
Guten Abend Gemeinde,

Da ich neu in dem Bereich bin habe ich eine kleine Frage zum 
Programmieren über Arduino IDE.

Und zwar gibt es ein Befehl womit ich den delay Zeitraum verkleinern 
kann.
z.B. ich habe 3 led,s nebeneinander die sollen alle nach einander 
leuchten, und wieder zurück zum angang also

  digitalWrite(blau, HIGH);
  delay(1000);
  digitalWrite(blau, LOW);
  digitalWrite(gruen, HIGH);
  delay(1000);
  digitalWrite(gruen, LOW);
  digitalWrite(rot, HIGH);
  delay(1000);
  digitalWrite(rot, LOW);
  digitalWrite(gruen, HIGH);
  delay(1000);
  digitalWrite(gruen, LOW);

usw....

nun möchte ich aber die pause, nach jeden Ablauf um ein beliebigen Wert 
z.B. 10ms verkürzen bis ich bei 0 angekommen bin.

Gibt es dafür einen kurzen befehl oder muss ich den Ablauf jetzt 100 mal 
dort hinschreiben und bei jeden Ablauf die Pause verkürzen?

Vielen Dank
#4898337
Lesenswert?
• ▲
▼
Der Grundansatz ist natürlich schon mal Mist, aber der MC sonst nichts 
zu tun kann man das schon so machen.

delay () akzeptiert normalerweise nur Konstanten als Parameter.
Du baust dir also ein Unterprogramm mit einer Schleife und delay (1) und 
übergibst die gewünschte Verzögerungszeit als Argument.
Das UP arbeitet nun delay(1) x mal ab.
Gast #4898341
Lesenswert?
• ▲
▼
delay(x) macht x Millisekunden Pause. Verkleinert man x wird die Pause 
kürzer. Einfach oder?

Man kann für delay auch ohne weiteres eine Variable benutzen, wie:

wartezeit = 1000;
delay(wartezeit);
wartezeit = wartezeit - 10;
usw...
Gast #4898389
Lesenswert?
• ▲
▼
Dirk N. schrieb:
> Nun hapert es noch ein wenig beim aufwärts, sprich wenn er bei der die
> Wartezeit bei 0 angekommen ist soll sie in 10er schritten wieder hoch
> bis 1000ms gehen.
Eine so schlechte Schreibweise ist schon mal erwähnenswert. Und Mut hast 
Du auch, eine so dusselige Frage zu stellen!

Befrage die Suchmaschine nach Arduino und arbeite Grundlagen ab. Arduino 
ist eine ganz tolle Umgebung, die immer wieder durch total faule Leute 
in Mißkredit gebracht wird - fühle Dich angesprochen.
OP #4898468
Lesenswert?
• ▲
▼
Manfred schrieb

> Eine so schlechte Schreibweise ist schon mal erwähnenswert. Und Mut hast
> Du auch, eine so dusselige Frage zu stellen!
>
> Befrage die Suchmaschine nach Arduino und arbeite Grundlagen ab. Arduino
> ist eine ganz tolle Umgebung, die immer wieder durch total faule Leute
> in Mißkredit gebracht wird - fühle Dich angesprochen.


Wieso ist das eine dusselige Frage?
Wie gesagt ich versuche gerade mir ein bisschen Wissen was Arduino 
angeht anzueignen. Und da musst du mir nicht mit irgendwelchen Sprüchen 
kommen.

Wozu sind die Foren denn da? Um Erfahrungen miteinander auszutauschen. 
Und da ich in dem Bereich kaum Erfahrung habe, wende ich mich an euch.

Und jedem können mal Schreibfehler unter kommen.

Und nur zu Info mein Sketch läuft.
Gast #4898524
Lesenswert?
• ▲
▼
Dirk -. schrieb:
> Wieso ist das eine dusselige Frage?
> Wie gesagt ich versuche gerade mir ein bisschen Wissen was Arduino
> angeht anzueignen. Und da musst du mir nicht mit irgendwelchen Sprüchen
> kommen.
Sprüche und Wahrheit sind verschiedene Dinge.

> Wozu sind die Foren denn da? Um Erfahrungen miteinander auszutauschen.
Eben, Erfahrungen auszutauschen.

> Und da ich in dem Bereich kaum Erfahrung habe, wende ich mich an euch.
Du hast nicht "kaum Erfahrung", Du hast schlicht und einfach garkeine. 
Du hast noch nicht einmal einfachste_Grundlagen durchgearbeitet!

Ich habe mir 2015 zwei China-Unos kommen lassen, vier LEDs dran gelötet 
und Lauflicht gespielt. Dann habe ich stundenlang diverse 
Anfängerscripte bespielt, mir zwei Bücher besorgt und eigenständig 
"Blink ohne delay" bespielt, ein Display angesteuert, ein Drehpoti 
abgefragt und und und - ohne im Forum herumzukaspern. Dein "Problem" ist 
dermaßen billig, dass man es an einem Nachmittag eigenständig lösen 
kann.

Ich hätte bei meinen letzten zwei Projekten 17 Threads aufmachen können, 
was nicht erwartungsgemäß funktioniert. Ich habe es nicht getan, habe 
stattdessen Beschreibungen gesucht ('ergooglet') und mir eigenes Wissen 
erarbeitet. Gucke ich auf meine ehemaligen Lehrlinge, die waren im 
Endefekt stolz, Lösungen selbst gefunden zu haben anstatt dass ich sie 
ihnen vorgekaut hätte.

> Und jedem können mal Schreibfehler unter kommen.
Ich zähle die jetzt nicht durch und einzeln auf, aber mehr als ein 
Schreibfehler war das schon.
Gast #4898627
Lesenswert?
• ▲
▼
Hallo Dirk,

F1 schrieb
>wartezeit = 1000;
>delay(wartezeit);
>wartezeit = wartezeit - 10;
>usw...

Du kannst in etwa das Beispiel von F1 nehmen und die folgende Zeite ein 
wenig abändern:
1
wartezeit = wartezeit - aenderung;

Für das langsamer werden
1
aenderung = 10;

Für das schneller werden
1
aenderung = -10;

Dann musst du nur noch die Grenzen überprüfen:
1
if(wartezeit<0) aenderung = 10;
2
if(wartezeit>1000) aenderung = -10;

Viel Spaß damit.
OP #4900901
Lesenswert?
• ▲
▼
ChrisMicro schrieb
> Hallo Dirk,
>
> F1 schrieb
>>wartezeit = 1000;
>>delay(wartezeit);
>>wartezeit = wartezeit - 10;
>>usw...
>
> Du kannst in etwa das Beispiel von F1 nehmen und die folgende Zeite ein
> wenig abändern:
> wartezeit = wartezeit - aenderung;
>
> Für das langsamer werdenaenderung = 10;
>
> Für das schneller werden
> aenderung = -10;
>
> Dann musst du nur noch die Grenzen überprüfen:
> if(wartezeit<0) aenderung = 10;
> if(wartezeit>1000) aenderung = -10;
>
> Viel Spaß damit.

Das werde ich mal testen bzw. versuchen zu schreiben.



> Nur ist mir nicht bekannt, wie die Absolut-Funktion des Arduino heißt
> (also vorzeichenlose Zahl)

Was meinst du damit?


>       Hallo,
> ich würde dir dies hier gerne aufs Herz legen :-))
>
> http://www.mikrocontroller.net/attachment/279643/Arduino_Kochbuch__super_.pdf

Danke, Habe ich heruntergeladen und werde mir mal die Zeit nehmen und 
mir das durchlesen.

Thomas Eckmann schreibt

>       Manfred schrieb:
>> Ich zähle die jetzt nicht durch und einzeln auf, aber mehr als ein
>> Schreibfehler war das schon.
>
> Genau:
>
> Manfred schrieb:
>> , Du
>
> Manfred schrieb:
>> garkeine.
>
> Manfred schrieb:
>> Endefekt
>
> Aber sonst bist du ein ziemlich toller Typ.

Genau Thomas so sieht es aus, Manfred sollte erst die Fehler bei sich 
selbst suchen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren