Timer erstellen

Hi Leute :slight_smile:

Bin neu hier, und habe direkt mal eine frage:

Ich möchte einen Moving-Head bauen, der nach Musik oder per Zufall ein paar bewegungen macht. Dafür werden Servos verwendet, dessen "Ansteuerung" im Programm auch schon einwandfrei funktioniert. Nun möchte ich aber zufällig z.B. einen Timer erstellen, hab aber keine Ahnung wie ich einen Timer erstellen kann, bzw nicht so einfach. Habe vorher mit PAWN, LUA, MySQL, ein bischen VB und C++ Consolenanwendung geproggt/gelernt. In PAWN (Scriptsprache für GTA:SA:MP Server) kann man einfach Timer mit "SetTimer(Timername,Zeit in ms, wiederholen=ja/nein)" erstellen. Ich würde auch gerne so eine Funktion erstellen, nur weiß noch nichteinmal wie sowas aussehen würde. Delay will/kann ich nicht verwenden, da das gesamte programm ja dann warten muss und ich die Servo-Positionen nicht Updaten kann.

Könntet ihr mir evtl helfen? :slight_smile:

MFG, Robdeflop®

Hallo Robdeflop,
guckst du hier: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1283694806

könnte hilfreich sein

Hi

Heißt das man kann mit der Funktion "millis" einen Timer "Erstellen"? Und wenn ich richtig verstanden hab geht das so:

iwo Lokal:
long TimerZeit = 1000; //Eine Sekunde
iwo Lokal:
long VordereZeit = 0;

im Loop:

unsigned long AkuelleZeit = millis();

Dann im loop als Abfrage:

if(AktuelleZeit - VordereZeit > TimerZeit)

Dann die "Vordere" Zeit wieder mit der aktuellen milli´s ersetzen wa? Richtig so? Wenn ja wärs gut, klingt im moment nämlich logisch xD

MFG, Robdeflop®

Ja, genau so oder so ähnlich :wink:
Im genannten Thread sind ja viele Beispiele dabei, diese schau dir mal genau an. Daraus kannst du dann vermutlich dein eigenes Programm zusammenstricken.

Oder besser gesagt: Probier einfach mal drauf los. Wenns wo hängt dann poste Code und frag weiter... Ich bin nicht so der Sketchkenner, aber hier gibts einige "Softwarecracks" im Forum.

Ich könnts dir auf der Stelle in Delphi-Language schreiben :sunglasses:

Hi

Nene, delphi brauch ich net^^ Aber vielen dank schonmal :slight_smile: Werd mal sehen was ich draus machen kann. Will eine Funktion schreiben die bei bestimmter zeit halt einfach eine andere Funktion aufruft. So bin ich es von PAWN gewöhnt und das finde ich auch am besten, als immer mit loop rumzufuchteln :slight_smile:

MFG, Robdeflop®

Du schreibst u.a.

Ich möchte einen Moving-Head bauen, der nach Musik oder per Zufall ein paar bewegungen macht.

Ich würde persönlich Musik bevorzugen.
Bandpässe (Equalizer) verwenden und mit dem Trigger aus den verschiedenen Frequenzbereichen verschiedene Servos ansteuern (Headbanging)

:wink:

Hi

Danke für deine Antwort erstmal :slight_smile:

Also ich habe beides vor, per Zufall und per Musik. Bei mir geht es nicht um um das was bei rauskommt, sondern auch um den Lerneffekt. Ich schreibe viele unnütze sachen. Das mach ich aber um draus zu lernen, wie man was macht, weil man es evtl mal für irgendwas gebrauchen kann :wink:

An nen Equalizer hab ich auch schon gedacht^^ Sollte ich hoffendlich hinbekommen.

MFG, Robdeflop®

Für Zeitsteuerung: hast du diese 2 Bibliotheken mal angeschaut?
http://www.arduino.cc/playground/Code/Metro
oder
http://www.arduino.cc/playground/Main/MsTimer2
Grüße Uwe

Hi :slight_smile:

Vielen Vielen dank, das zweite ist genau richtig, so wollte ich es haben^^

Danke nochmals :wink:

MFG, Robdeflop®

gut