Hey Hannes,
danke für die Hilfe.
Bei mir wird 0 und 100 % geschaltet, aber beim PWM 1-99% macht er irgendwie nichts.
Stelle ich den Ausgang so richtig auf PWM um ?
Code:void writePwm(float _percent) { if (_percent == 0) { pinMode(ledPin, OUTPUT); digitalWrite(ledPin, HIGH); } else if (_percent == 100) { pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); // Setzt den Digitalpin 13 auf HIGH = "Ein" } else if (_percent > 0 && _percent < 100) { //Ausgang auf PWM stellen, Vorgabewert in OCR1A schreiben (1...414) pinMode(ledPin, OUTPUT); // Set digital pin to an output TCCR1A = _BV(COM1A1) | _BV(COM1A0) | _BV(WGM11); // Enable the PWM output OC1A on digital pins and invert output TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS12); // Set fast PWM and prescaler of 256 on timer 1 ICR1 = 415; // Set the PWM frequency to 150Hz: 16MHz/(256 * 150Hz) - 1 => (16000000/38400)-1 => 416,667 -1 => 415,667 => 415 OCR1A = (415 / 100) * _percent; } }







Zitieren

Lesezeichen