Oh dat is raar ...???
Declareren van "void setAll()" hoort niet in de "void setup()" te staan en als je goed kijkt, dan staat deze ook niet in setup() in jouw code.
Weet je zeker dat je niet iets anders over het hoofd hebt gezien?
(voor andere voorbeelden, zie ook dit LED effects artikel)
Als ik jouw code zie, dan (na herformateren):
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800);
void setup()
{
strip.begin();
strip.show(); // Initialize all pixels to ‘off’
Serial.begin(9600);
ir_receiver.enableIRIn(); // Start the receiver
}
void setAll(byte red, byte green,byte blue) {
for (int i = 0; i < NUM_LEDS; i++ ) {
strip.setPixelColor(i, strip.Color(red, green, blue));
strip.show();
}} // <---- fout!!!
en dan zie ik ook meteen waar je een type fout hebt staan: een sluiten accolade tussen setPixelColor en strip.show>
In jouw code blijft setAll inde for-loop herhaaldelijk strip.show() aanroepen en dat is niet efficient.
Beter is:
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800);
void setup()
{
strip.begin();
strip.show(); // Initialize all pixels to ‘off’
Serial.begin(9600);
ir_receiver.enableIRIn(); // Start the receiver
}
void setAll(byte red, byte green,byte blue){
for (int i = 0; i < NUM_LEDS; i++ ) {
strip.setPixelColor(i, strip.Color(red, green, blue));
} // <--------- deze accolade staat in jouw code fout!
strip.show();
}
Ik neem dan ook maar even aan dat je de code overtypt, en niet met copy/paste in de IDE plakt?
Probeer eens de code met copy en paste in de IDE te plakken (waarbij je alles in de "lege" sketch vervangt door de code die ik eerder gaf).
Meestal heeft een sketch de volgende opmaak:
1. Definieer includes
2. Definieer compiler constanten (#define), globale constanten en variabelen
3. void setup()
4. void loop()
5. Definieer eigen functies (die geen "return" waarde hebben, dus zoiets als "void mijnfunctie()")
Mocht je functies definieren met return variabelen dan moet dit voor de setup kenbaar gemaakt worden, maar als je daar aan gaat beginnen, dan is het beter om je even wat meer in de taal C te verdiepen.
Vandaar dus dat een "lege" sketch er zo uit ziet:
// <-- hier include, define en globale constanten en variablen
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
// <-- hier jouw eigen functies