Forum: Mikrocontroller und Digitale Elektronik Arduino Zeit ändern über Poti?


von R6er R. (r6er)


Lesenswert?

Hey zusammen,

ich hoffe ihr könnt mir weiterhelfen! Ich suche schon seit Ewigkeiten 
aber ich finde leider nichts Passendes! Ich möchte eine 
Auschaltverzögerung mit meinem Arduino realisieren soweit ganz easy nun 
will ich aber über einen Poti die Zeit verändern aber ich weiß nicht 
wie? Sollte ich es dann anderst machen als über "delay"?

mfg

von Stefan F. (Gast)


Lesenswert?

Du verwendest das Poti als Spannungsteiler an einem analogen Eingang. 
Entsprechen dem gemessenen Wert (0-1023) machst du dann eine 
Verzögerungsschleife.

von Harald W. (wilhelms)


Lesenswert?

R6er Rj05 schrieb:

> Ich möchte eine
> Auschaltverzögerung mit meinem Arduino realisieren soweit ganz easy nun
> will ich aber über einen Poti die Zeit verändern aber ich weiß nicht
> wie?

Wenn Du sowieso über Poti und nicht digital die Zeit ändern willst,
warum nimmst Du dann nicht gleich ein Monoflop-IC?

von R6er R. (r6er)


Lesenswert?

Das ganze soll so günstig wie möglich gehalten werden deswegen will ich 
auch nur die Bauteile verwenden die wirklich notwendig sind!

Also ich glaub ich hab das von dir Stefan nicht ganz kapiert...?

Ich hab da aber noch eine Idee, ich lese den Wert des Poti's ein und 
vergleich einfach also, Funktionen nutzen z.b.

[c]
if (analogRead(1)>500) {
  digitalWrite(ledPin,HIGH);
  } else {
  digitalWrite(ledPin,LOW);

}

if (analogRead(1)<500) {
  digitalWrite(ledPin,HIGH);
  } else {
  digitalWrite(ledPin,LOW);
[c/]

so möglich? Kann es gerade leider nicht testen!

mfg

von Physiologist (Gast)


Lesenswert?

R6er Rj05 schrieb:
> [c]
> if (analogRead(1)>500) {
>   digitalWrite(ledPin,HIGH);
>   } else {
>   digitalWrite(ledPin,LOW);
>
> }
>
> if (analogRead(1)<500) {
>   digitalWrite(ledPin,HIGH);
>   } else {
>   digitalWrite(ledPin,LOW);
> [c/]

Hmm... Ich dachte, du wolltest eine potiabhängige Verzögerung bauen, und 
nicht abhängig von der Potistellung eine LED ein- und ausschalten. Denke 
da nochmal drüber nach...

R6er Rj05 schrieb:
> Das ganze soll so günstig wie möglich gehalten werden deswegen will ich
> auch nur die Bauteile verwenden die wirklich notwendig sind

In diesem Fall empfehle ich dir den Tipp von Harald Wilhelms:
> Wenn Du sowieso über Poti und nicht digital die Zeit ändern willst,
> warum nimmst Du dann nicht gleich ein Monoflop-IC?

von m.n. (Gast)


Lesenswert?

R6er Rj05 schrieb:
> so möglich? Kann es gerade leider nicht testen!

Für diese beiden Zustände braucht man kein Poti. Da reicht eine einfache 
Abfrage eines Input-Pins.
Aber für den 3. Zustand analogRead(1) == 500 sollte man sich etwas 
einfallen lassen ;-)

von Harald W. (wilhelms)


Lesenswert?

R6er Rj05 schrieb:

> Das ganze soll so günstig wie möglich gehalten werden deswegen will ich
> auch nur die Bauteile verwenden die wirklich notwendig sind!

...und warum dann einen teuren Arduino?

von R6er R. (r6er)


Lesenswert?

Nein das da oben war nur ein Beispiel!

Ich hab 2 festgelegte Zeiten 50ms und 70ms.
nun will ich diese über einen Poti verstellen (nur sprünge also von 50 
auf 70 )

[c]
 if ((analogRead(1)>500)&&(digitalRead(2)==HIGH)
   digitalWrite(outPin,HIGH);
   delay (0050);
   digitalWrite(outPin,low);
   } else {
   digitalWrite(ledPin,low);
}
 if ((analogRead(1)<500)&&(digitalRead(2)==HIGH)
   digitalWrite(outPin,HIGH);
   delay (0070);
   digitalWrite(outPin,low);
   } else {
   digitalWrite(ledPin,low);

[c/]

also so :D


PS: Prototyp, hatte den Arduino noch Zuhause der fliegt dann auch noch 
raus!

von Dave C. (dave_chappelle)


Lesenswert?

Also das mit dem Poti sollte ja schon klar sein.
Wenn du nur zwei Zeiten hast (50ms und 70ms) dann ist die Lösung wie von 
dir oben beschrieben so i.O. (Syntax kenne ich nicht genau).

Ich würde allerdings auf einen delay verzichten und das mit einem Timer 
lösen -> genauer und der Controller "verblödelt" keine Zeit.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.