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
Schaltverzögerung per Potentiometer einstellen
04.03.2020, 22:50
Beitrag #1
Schaltverzögerung per Potentiometer einstellen
Hallo,
ich würde gerne die Zeitverzögerung zum schalten mit Hilfe eines Poti einstellen.

Code:
int pot1 = A0; // Pin zur Messung
int pot1_wert = 0; // Messung auf 0

void setup() {
   Serial.begin(9600); // Starte Serialmonitor
}

void loop() {
   pot1_wert = analogRead(pot1); // Variable pot1_wert für den Wert des Potis speichert
   pot1_wert = map(pot1_wert, 0, 1023, 0, 1000); // Skalierung der Werte von 0-1023 auf 0-1000.
   Serial.print("P1 = "); // Der Serialmonitor soll vor dem Wert des ersten Potis "P1 =" anzeigen,
   Serial.println(pot1_wert); // Nun wird der Wert ausgegeben und die Zeile des Serialmonitors beendet.
   delay(100); // Zwischen jeder Messung wird jetzt eine Pause von 100ms eingelegt
}

Da der Poti Analog ausgelesen wird 0-1023 wird duch die Skalierung von 0-1000 das ganze in Millis umgerechnet/ umgesetzt ?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.03.2020, 23:00
Beitrag #2
RE: Schaltverzögerung per Potentiometer einstellen
Das könnte sein, aber warum willst Du mit delay arbeiten?

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
04.03.2020, 23:09 (Dieser Beitrag wurde zuletzt bearbeitet: 04.03.2020 23:12 von senseman.)
Beitrag #3
RE: Schaltverzögerung per Potentiometer einstellen
Das delay ist nur zur Ausgabe auf den Serial Montior kann auch direkt weg weil für`s testen ist es uninteressant ob er wartet mit der Ausgabe oder nicht, fällt hinterher weg. Eigentlich der komplette SerialMonitorteil, da das ganze auf einem Attiny85 laufen soll.
Mir ginge es erstmal darum zu verstehen was hier passiert.
Code:
pot1_wert = map(pot1_wert, 0, 1023, 0, 1000); // Skalierung der Werte von 0-1023 auf 0-1000.


Mir geht es am ende darum die "30000" durch einen Poti zu ersetzen, so das ich diese Zeit zwischen 0-30Sek. variabel einstellen kann, ist mir mitllerweile etwas müssig wenn ich das Projekt testen will die Wartezeit immer rauf und runter zu drehen per. Software und diese einzuspielen. Gedanke wäre jetzt das mit einem Poti zu realisieren.

Code:
else                                                   //
    if (now - LastChangeTime >= 30000) {                // Bleibt NewLightDetectorState und LightDetectorState 30 sek ungleich so wird…..
      digitalWrite(relais, LightDetectorState);        // LightDetectorState je nach Zustand des LightDetector an bzw. aus geschaltet.
      //Bei Verwendung einer BWP34 Fotodiode Anweisung  digitalWrite(relais, LightDetectorState == 0); Bei nutzung eines LDR digitalWrite(relais, LightDetectorState);
    }
}
Also diese Zeile
Code:
if (now - LastChangeTime >= 30000)
durch
Code:
if (now - LastChangeTime >= pot1_wert)
ersetzen

Dazu müsste man aber wissen was mit der Skalierung umgerechnet wird.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.03.2020, 23:18
Beitrag #4
RE: Schaltverzögerung per Potentiometer einstellen
Warum schaust Du nicht in die Referenz? Faulheit?
Da steht sogar der Code von map drin.

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
04.03.2020, 23:25
Beitrag #5
RE: Schaltverzögerung per Potentiometer einstellen
Weil ich leider nicht verstehe, was man mir mit den Informationen in der Referenz sagen möchte.
Das einzige was ich verstehe ist das ein zugeordneter Wert zurück gegeben wird also 0=0, 1023=30000. Ok. Soweit so gut und wie kann man diesem Wert nun einer Zeit zuordnen ?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.03.2020, 23:31
Beitrag #6
RE: Schaltverzögerung per Potentiometer einstellen
Der Wert ist erst mal nur ein Wert. Was Du damit machst, obliegt Dir.

Z.B. könntest Du diesen Wert als Intervall in einer millis-Abfrage verwenden (evtl. mit einem Faktor multipliziert - den könntest Du aber auch im map mit unterbringen, je nachdem, was Du willst).

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
05.03.2020, 13:52
Beitrag #7
RE: Schaltverzögerung per Potentiometer einstellen
(04.03.2020 23:09)senseman schrieb:  Dazu müsste man aber wissen was mit der Skalierung umgerechnet wird.
Es wird einfach ein Zahlenbereich in einen anderen Zahlenbereich umgerechnet. Was Du mit dem Ergebnis machst, bzw. wie Du das interpretierst ( z.B. als millisekunden ) bleibt dir überlassen. Eigentlich hast Du doch schon alles geschrieben - wo ist also dein Problem?

Gruß, Franz-Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.03.2020, 19:18
Beitrag #8
RE: Schaltverzögerung per Potentiometer einstellen
Mein Problem ist das ich gerne 30sec. über den Poti einstellen möchte. Und irgendwie nicht weiss wie. Es erschliesst sich mir nicht aus den Bsp. die ich finden kann.
nehmen wir z.b. den Servo.

Mit dieser Zeile:
Code:
val = map(val, 0, 1023, 0, 180); // rechnet den Wert in den Wertebereich des Servomotors (zwischen 0 und180)

Wird der Wert des Poti in Grad des Servo umgerechnet soweit so klar. Bei den Sekunden erschliest sich mir das nicht.

Ich möchte eine zeit Variabel mit einem Poti machen 0-30Sekunden.
LDR Dunkel dann nach Zeit0-30 zieht ein Relais an. LDR hell dann fällt das Relais nach0-30sek. wieder ab.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  von delay auf millis umgestellt, klappt nur nicht. Servo Geschwindigkeit einstellen. gutschy 8 394 21.02.2021 15:22
Letzter Beitrag: gutschy
  Potentiometer als Trigger für Counter rainscheist 1 2.291 23.01.2020 12:53
Letzter Beitrag: unkreativ
  Einen Startwert für den Millis() Zähler einstellen?? Franz54 9 3.979 01.04.2018 17:01
Letzter Beitrag: Franz54
Question Potentiometer abnullen nur wie? M3tzl3r 3 1.847 20.02.2018 19:59
Letzter Beitrag: Tommy56
  digitales Potentiometer ( MCP 4161 ) Clubsport 4 2.656 07.06.2016 18:12
Letzter Beitrag: Clubsport
  Größe des Editor-Meldungs-Fensters fest einstellen? HaWe 0 1.787 14.05.2015 21:22
Letzter Beitrag: HaWe
  Arduino Software Deutsch einstellen maierreini 2 9.779 14.05.2015 20:12
Letzter Beitrag: memeqri
  Zahlenwerte mit Drehknopf einstellen und auf Display anzeigen Cray-1 12 10.811 10.08.2014 08:01
Letzter Beitrag: Bitklopfer

Gehe zu:


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