Op en af met een for loop
11 berichten
• Pagina 1 van 2 • 1, 2
- Nightmystic
- Berichten: 133
- Geregistreerd: 10 Jan 2016, 16:39
Op en af met een for loop
Als dit prima werkt:
cpp code
En dit gaat ook:
cpp code
waarom werkt dit dan niet? En hoe kan ik dat oplossen?
cpp code
cpp code
// Fade in all outputs
for(int j=0;j<maxBrightness;j++){
ShiftPWM.SetAll(j);
delay(20);
}
// Fade out all outputs
for(int j=maxBrightness;j>=0;j--){
ShiftPWM.SetAll(j);
delay(20);
}
En dit gaat ook:
cpp code
for(int led = 0; led<16; led++) // Er zijn zestien leds, laat ze oplopend aan gaan
{
for(int z=0;z<255;z++) // Bij 255 is een kleur het meest aanwezig
{
ShiftPWM.SetRGB(led,z,0,z);// RGB kleur instellen, nummer van de led, R, G, B
delay(ledSpeed/100); // Snelheid waarmee de led maximaal paars wordt.
}
}
waarom werkt dit dan niet? En hoe kan ik dat oplossen?
cpp code
for(int led = 16; led>16; led--) // DEZE CODE WERKT NIET
{
for(int z=255;z>0;z--) // Bij 255 is een kleur het meest aanwezig
{
ShiftPWM.SetRGB(led,z,0,z);// RGB kleur instellen, nummer van de led, R, G, B
delay(ledSpeed/100); // Snelheid waarmee de led uitvaagd.
}
}
Advertisement
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Op en af met een for loop
Doe eens een gooi...........
LED is 16, de conditie is NIET groter dan 16... dus...
LED is 16, de conditie is NIET groter dan 16... dus...
- Nightmystic
- Berichten: 133
- Geregistreerd: 10 Jan 2016, 16:39
Re: Op en af met een for loop
Klopt, slordige fout maar
led = 16; led >= 0; led--;
werkt ook niet
led = 16; led >= 0; led--;
werkt ook niet
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Op en af met een for loop
zo als statement zeker niet maar:
cpp code
Werkt als een tierelier hoor.
Dat zeg je tenslotte zelf in het 2e deel van het eerste code fragment van je eigen post.
cpp code
for (int led = 16; led >= 0; led--){
}
Werkt als een tierelier hoor.
Dat zeg je tenslotte zelf in het 2e deel van het eerste code fragment van je eigen post.
- Nightmystic
- Berichten: 133
- Geregistreerd: 10 Jan 2016, 16:39
Re: Op en af met een for loop
Ok dan is het duidelijk dat het zo zou moeten werken en dat het dat niet doet, misschien dat er iets in de library zit dan, wat voorkomt dat het zo kan werken.
Re: Op en af met een for loop
cpp code
for(int led = 0; led<16; led++) // Er zijn zestien leds, laat ze oplopend aan gaan
{
for(int z=0;z<255;z++) // Bij 255 is een kleur het meest aanwezig
{
ShiftPWM.SetRGB(led,z,0,z);// RGB kleur instellen, nummer van de led, R, G, B
delay(ledSpeed/100); // Snelheid waarmee de led maximaal paars wordt.
}
}
for(int led = 16; led>0; led--) // en nu wel denken wij DEZE CODE WERKT NIET
{
for(int z=255;z>0;z--) // Bij 255 is een kleur het meest aanwezig
{
ShiftPWM.SetRGB(led,z,0,z);// RGB kleur instellen, nummer van de led, R, G, B
delay(ledSpeed/100); // Snelheid waarmee de led uitvaagd.
}
}
paul deelen
shooter@home.nl
shooter@home.nl
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Op en af met een for loop
En daar zit gelijk de kernfout... denken dat het mogelijk in de library zit...... gewoon debuggen met serial..... Zolang je niet de library kan lezen en begrijpen, zit het altijd in je eigen code.. Totdat je alle mogelijkheden uitgesloten hebt....Nightmystic schreef:Ok dan is het duidelijk dat het zo zou moeten werken en dat het dat niet doet, misschien dat er iets in de library zit dan, wat voorkomt dat het zo kan werken.
- Nightmystic
- Berichten: 133
- Geregistreerd: 10 Jan 2016, 16:39
Re: Op en af met een for loop
De fout zit inderdaad in mijn code.
Programmeren komt heel precies en met de led++ code kom ik er mee weg dat ik van 0 to 16 heb neergezet.
Maar blijkbaar terug niet (led--)
Ik heb 16 leds en de 0 telt als de eerste led, dus led = 15; led > 0; led--; werkte wel.
Ik had Paul zijn code erin gezet, werkte niet, toen schoot het me te binnen dat de 0 als de eerste led zou kunnen tellen.
Programmeren komt heel precies en met de led++ code kom ik er mee weg dat ik van 0 to 16 heb neergezet.
Maar blijkbaar terug niet (led--)
Ik heb 16 leds en de 0 telt als de eerste led, dus led = 15; led > 0; led--; werkte wel.
Ik had Paul zijn code erin gezet, werkte niet, toen schoot het me te binnen dat de 0 als de eerste led zou kunnen tellen.
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Op en af met een for loop
Weer een reden om de hele sketch te posten.....
Re: Op en af met een for loop
dan is het nog niet goed:
de bovenste telt netjes van 0 tot 15
en de onderste van 15 naar 1 dus 0 daar moet staan led >= 0
cpp code
http://www.elcojacobs.com/shiftpwm-function-reference/
de examples werken wel hoor.
en die kun je eenvoudig aanpassen.
er staat bij deze functie nog wel een opmerking over gaps en offset.
? waarom gebruik je z,0,z en geen z,z,z?
de bovenste telt netjes van 0 tot 15
en de onderste van 15 naar 1 dus 0 daar moet staan led >= 0
cpp code
for(int led = 0; led<=15; led++) // Er zijn zestien leds, laat ze oplopend aan gaan
{
for(int z=0;z<255;z++) // Bij 255 is een kleur het meest aanwezig
{
ShiftPWM.SetRGB(led,z,0,z);// RGB kleur instellen, nummer van de led, R, G, B
delay(ledSpeed/100); // Snelheid waarmee de led maximaal paars wordt.
}
}
for(int led = 15; led>=0; led--) {
for(int z=255;z>0;z--) // Bij 255 is een kleur het meest aanwezig
{
ShiftPWM.SetRGB(led,z,0,z);// RGB kleur instellen, nummer van de led, R, G, B
delay(ledSpeed/100); // Snelheid waarmee de led uitvaagd.
}
}
http://www.elcojacobs.com/shiftpwm-function-reference/
de examples werken wel hoor.
en die kun je eenvoudig aanpassen.
er staat bij deze functie nog wel een opmerking over gaps en offset.
? waarom gebruik je z,0,z en geen z,z,z?
paul deelen
shooter@home.nl
shooter@home.nl
11 berichten
• Pagina 1 van 2 • 1, 2
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 19 gasten