Hallo,
ich bin gerade bei einem Projektt, bei dem ich ein WS2812B Streifen als Bar Graph nutzen möchten.
Es funktioniert auch schon so weit, ist aber nicht besonders schön. Wie kann ich den code optimieren, dass die LEDs ehr ineinander überblenden als das es harte schritte sind (ich hoffe es ist verständlich was ich meine). Aktuell sieht mein Code so aus.
Vielen Dank für Tipps
if (Val >= 99 && Val <= 101) {
strip.clear();
strip.setBrightness(brightness);
strip.setPixelColor(6, 0, 255, 0);
strip.show();
}
else if (Val >= 95 && Val <=98 ){
strip.clear();
strip.setBrightness(brightness);
strip.setPixelColor(5, 255,255,0);
strip.setPixelColor(6, 0, 255, 0);
strip.show();
}
else if (Val >= 91 && Val <=94 ){
strip.clear();
strip.setBrightness(brightness);
strip.setPixelColor(4, 255,255,0);
strip.setPixelColor(5, 255,255,0);
strip.setPixelColor(6, 0, 255, 0);
strip.show();
}
else if (Val >= 87 && Val <=90 ){
strip.clear();
strip.setBrightness(brightness);
strip.setPixelColor(3, 255,255,0);
strip.setPixelColor(4, 255,255,0);
strip.setPixelColor(5, 255,255,0);
strip.setPixelColor(6, 0, 255, 0);
strip.show();
}
else if (Val >= 83 && Val <=86 ){
strip.clear();
strip.setBrightness(brightness);
strip.setPixelColor(2, 255,255,0);
strip.setPixelColor(3, 255,255,0);
strip.setPixelColor(4, 255,255,0);
strip.setPixelColor(5, 255,255,0);
strip.setPixelColor(6, 0, 255, 0);
strip.show();
}
else if (Val >= 79 && Val <=82 ){
strip.clear();
strip.setBrightness(brightness);
strip.setPixelColor(1, 255,255,0);
strip.setPixelColor(2, 255,255,0);
strip.setPixelColor(3, 255,255,0);
strip.setPixelColor(4, 255,255,0);
strip.setPixelColor(5, 255,255,0);
strip.setPixelColor(6, 0, 255, 0);
strip.show();
}
else if (Val >= 75 && Val <=78 ){
strip.clear();
strip.setBrightness(brightness);
strip.setPixelColor(0, 255,0,0);
strip.setPixelColor(1, 255,0,0);
strip.setPixelColor(2, 255,255,0);
strip.setPixelColor(3, 255,255,0);
strip.setPixelColor(4, 255,255,0);
strip.setPixelColor(5, 255,255,0);
strip.setPixelColor(6, 0, 255, 0);
strip.show();
}
else if (Val <75 ){
strip.clear();
strip.setBrightness(brightness);
strip.setPixelColor(0, 255,0,0);
strip.setPixelColor(1, 255,0,0);
strip.setPixelColor(2, 255,0,0);
strip.setPixelColor(3, 255,0,0);
strip.setPixelColor(4, 255,0,0);
strip.setPixelColor(5, 255,0,0);
strip.setPixelColor(6, 0, 255, 0);
strip.show();
}
else if (Val >= 102 && Val <=105 ){
strip.clear();
strip.setBrightness(brightness);
strip.setPixelColor(6, 0, 255, 0);
strip.setPixelColor(7, 255,255,0);
strip.show();
}
else if (Val >= 106 && Val <=109 ){
strip.clear();
strip.setBrightness(brightness);
strip.setPixelColor(6, 0,255,0);
strip.setPixelColor(7, 255,255,0);
strip.setPixelColor(8, 255,255, 0);
strip.show();
}
else if (Val >= 110 && Val <=113 ){
strip.clear();
strip.setBrightness(brightness);
strip.setPixelColor(6, 0, 255, 0);
strip.setPixelColor(7, 255,255,0);
strip.setPixelColor(8, 255,255,0);
strip.setPixelColor(9, 255,255,0);
strip.show();
}
else if (Val >= 114 && Val <=117 ){
strip.clear();
strip.setBrightness(brightness);
strip.setPixelColor(6, 0, 255, 0);
strip.setPixelColor(7, 255,255,0);
strip.setPixelColor(8, 255,255,0);
strip.setPixelColor(9, 255,255,0);
strip.setPixelColor(10, 255,255,0);
strip.show();
}
else if (Val >= 118 && Val <=121 ){
strip.clear();
strip.setBrightness(brightness);
strip.setPixelColor(6, 0, 255, 0);
strip.setPixelColor(7, 255,255,0);
strip.setPixelColor(8, 255,255,0);
strip.setPixelColor(9, 255,255,0);
strip.setPixelColor(10, 255,255,0);
strip.setPixelColor(11, 255,255,0);
strip.show();
}
else if (Val >= 122 && Val <=125 ){
strip.clear();
strip.setBrightness(brightness);
strip.setPixelColor(6, 0, 255, 0);
strip.setPixelColor(7, 255,255,0);
strip.setPixelColor(8, 255,255,0);
strip.setPixelColor(9, 255,255,0);
strip.setPixelColor(10, 255,255,0);
strip.setPixelColor(11, 255,0,0);
strip.setPixelColor(12, 255,0,0);
strip.show();
}
else if (Val >125 ){
strip.clear();
strip.setBrightness(brightness);
strip.setPixelColor(6, 0,255,0);
strip.setPixelColor(7, 255,0,0);
strip.setPixelColor(8, 255,0,0);
strip.setPixelColor(9, 255,0,0);
strip.setPixelColor(10, 255,0,0);
strip.setPixelColor(11, 255,0,0);
strip.setPixelColor(12, 255,0,0);
strip.show();
}