Arduino Zeit ändern über Poti?

OP #4134163
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
OP #4134201
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
Gast #4134203
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?
OP #4134216
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!
#4134405
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.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.