Hej!
Har nu ägnat 2 dagar åt att lösa problemet med google och youtube till hjälp. Kanske säger lite om nivån på min kunskap, men frågar nu expertisen här om hjälp
Det jag vill upp nå är en softstart/fade på en pwm utgång. Det har jag lyckats med och det finns massor av exempel.
Men hur jag än försöker så får jag inte till följande:
*Jag vill kunna starta pwm "fade" under en "if" förutsättning (exempel när två ingångar är höga)
*Om förutsättningen inte längre är sann så ska pwm signalen till 0 (ena eller båda signalerna blir låga)
*Kommer pwm signalen upp till full styrka så ska den stanna så tills förutsättningen inte längre är sann.
På alla exempel jag fått fram så stannar man på full styrka genom ett delay och då pausar man väl hela koden och processorn märker inte när förutsättningarna ändras? Vore extremt värdefullt om någon ville ägna någon minut eller två som kan det här bättre än mig
Tack på förhand!
Arduino PWM, hur löser jag detta?
- Klas-Kenny
- Inlägg: 11831
- Blev medlem: 17 maj 2010, 19:06:14
- Ort: Växjö/Alvesta
Re: Arduino PWM, hur löser jag detta?
Någonting i den här stilen borde väl fungera fint, om jag förstått dig korrekt.
Kod: Markera allt
#define LITE_LAGOM 10 // Sätt lagom lång för att dimma lagom snabbt, antal ms per steg
#define PWM_PINNE 0 // Vilken PWM-utgång du använder
unsigned long time = 0;
int dutyCykle = 0;
void setup() {
pinMode(PWM_PINNE, OUTPUT);
delay(LITE_LAGOM); // Delay för att inte millis ska balla ur innan tillräcklig tid gått vid programstart
}
void loop() {
if(a && b) { // Vilket villkor du nu har..
if( (millis()-LITE_LAGOM) > time) {
time = millis();
if(dutyCykle < 255) {
dutyCykle++;
analogWrite(PWM_PINNE, dutyCykle);
}
}
} else {
dutyCykle = 0;
analogWrite(PWM_PINNE, 0);
}
}
Re: Arduino PWM, hur löser jag detta?
Grymt med snabbt svar! Jag ska testa direkt 
Tusen tack!

Tusen tack!