Hallo,
Ich habe mein DUO 4/1 Fahrzeug von 6 auf 12 Volt umgerüstet. Aber den 6 Volt Scheibenwischermotor wollte ich mit PWM in der Drehzahl beschränken. Das klappt auch, nur im Sketch habe ich in map von 0-1023 auf 0-255 runterskaliert. Trotzdem liegt der Wert, den ich in der folgenden "if" angeben muß, überhaupt nicht in dem Bereich 0-255. Auch nicht im 0-1023 Bereich? Eher höher?
Denn 450 entspricht ca 1/3 der Zeit HIGH.
Und 900 entspricht ca 2/3 der Zeit HIGH.
(Zusehen am Oszi)
Danke, ich nehme jeden Fehlerhinweis dankend auf!Code://Konstanten const int wischerPin = 0; // Wischermotor an Pin 0 Attiny angeschlossen const int potiPin = A3 ; // Potenziometer am Pin 3 angeschlossen const int LED = 1; //Kontrollleuchte Pin 1 // Variablen int wischerSpeed = 0; // Variable für die Motorgeschwindigkeit int potiVar = 0 ; // Variable zum speichern des Potentiometers void setup() { pinMode(wischerPin, OUTPUT) ; //Setzt den WischerPin als Ausgang pinMode(potiPin, INPUT) ; //Potipin als Eingang pinMode(LED, OUTPUT); //Setzt den LEDPin als Ausgang } void loop() { potiVar = analogRead(potiPin) ; // Liest das Potentiometer aus wischerSpeed = map(potiVar, 0, 1023, 0, 200); // Setzt den Bereich auf 0-255 if ((potiVar < 450) || (potiVar > 900)) //Unterhalb/Oberhalb soll Motor nicht laufen { digitalWrite(wischerPin, LOW); //Ist aus digitalWrite(LED, HIGH); //deshalb Kontrolle an } else//sonst { analogWrite(wischerPin, wischerSpeed); // Variable Drehzahl mit PWM digitalWrite(LED, LOW); } }
Achim







Zitieren

Lesezeichen