Arduino Polska Forum

Pełna wersja: Sterowanie PWM
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam
Mam problem. Posiadam układ na 4 diodach LED i założenie jest następujące: pierwsza dioda rozjaśnia się do 100% po czym przygasa do 0%, ale w momencie przygasania gdy dojdzie do powiedzmy 10% rozpoczyna się już rozjaśniać druga dioda. Niestety póki co udało mi się tylko opcja w której następna dioda zaczyna się rozjaśniać w momencie gdy poprzednia całkiem wygaśnie. Poniżej kod:



Kod:
int ledPin = 9;
int ledPin1 = 3;
int ledPin2 = 5;
int ledPin3 = 6;

void setup() {
}

void loop() {
  for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 51) {
    analogWrite(ledPin, fadeValue);
    delay(30);
}
  for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 51) {
    analogWrite(ledPin, fadeValue);
    delay(30);
}
  for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 51) {
    analogWrite(ledPin1, fadeValue);
    delay(30);
}
  for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 51) {
    analogWrite(ledPin1, fadeValue);
    delay(30);
}
  for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 51) {
    analogWrite(ledPin2, fadeValue);
    delay(30);
}
  for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 51) {
    analogWrite(ledPin2, fadeValue);
    delay(30);
}
  for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 51) {
    analogWrite(ledPin3, fadeValue);
    delay(30);
}
  for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 51) {
    analogWrite(ledPin3, fadeValue);
    delay(30);
  }
}
A ja proponuję zapoznać się z funkcją millis().