Hallo zusammen,
zunächst einmal Besten Dank für die vielen Hinweise.
Inzwischen bin ich ein gutes Stück weiter, aus meiner Sicht war es hilfreich den Serial Monitor zur Überprüfung der Berechnungen zu verwenden.
Folgendes fehlt noch: ich lege den PWM-Ausgang auf Pin4, nun überprüfe ich dort mit einem Oszi, ob ein PWM-Signal anliegt, wenn ich den Analogeingang mit 1,5V anspreche. Dies ist jedoch nicht der Fall.
Ich dachte mir, ob evtl. die PIN-Zuweisung falsch ist? Ich nutze einen WEMOS D1 MINI. Wird mit der Anweisung int PWMpin=4 dann der PIN D4 als Ausgabepin verwendet, oder gibt es eine andere Zuweisung?
Das ist der Code, das Analogsignal habe ich nich korrigiert, da bereits im Ruhezustand ein Wert von 19 gemessen wurde.
int analogin;
int analogincorr;
float spannung;
int PWMout;
int PWMpin=4;
void setup() {
Serial.begin(9600);
pinMode(PWMpin, OUTPUT);
}
void loop() {
analogin = analogRead(0);
analogincorr=(analogin)-19;
spannung=analogincorr*0.00322265625;
PWMout=map(analogincorr,0,1023,0,255);
analogWrite(PWMpin,PWMout);
Serial.print("Spannungssignal roh: ");
Serial.println(analogin);
Serial.print("Spannungssignal corr: ");
Serial.println(analogincorr);
Serial.print("Spannung: ");
Serial.print(spannung);
Serial.println("[V] ");
Serial.print("PWM: ");
Serial.print(PWMout);
Serial.println("[%] ");
delay(5000);
}
Und hier die Ausgabe des Serial Monitors, wenn ich an A0 eine Spannung anlege:
20:03:48.815 -> Spannungssignal roh: 19
20:03:48.815 -> Spannungssignal corr: 0
20:03:48.848 -> Spannung: 0.00[V]
20:03:48.848 -> PWM: 0[%]
20:03:53.806 -> Spannungssignal roh: 478
20:03:53.806 -> Spannungssignal corr: 459
20:03:53.839 -> Spannung: 1.48[V]
20:03:53.872 -> PWM: 114[%]
Wie gesagt, was noch fehlt, ist die Umsetzung des Signals PWMout auf eine PIN.
Bin wieder für jeden Hinweis dankbar,
Viele Grüße