Stap 2: Programmeren van de Arduino
Download de Code hier
De code die ik gebruikte is eenvoudig als u eenmaal het begrijpt
Eerst moet u de strip params definiëren:
Adafruit_NeoPixel strip = Adafruit_NeoPixel (graaf, PIN, NEO_GRB + NEO_KHZ800);
Start de strip-bibliotheek:
strip.begin();
So ten slotte kunt u de kleur van elke pixel:
uint32_t kleur = strip. Kleur (R2, G2, B2);
strip.setPixelColor (Pixel, kleur);
strip.show();
Dit is de code die ik schreef - ik commentaar op elk onderdeel, zodat u kunt begrijpen hoe het werkt!
#include
#define PIN 3 / / de pin uw strip is aangesloten op
#define graaf 36 / / hoeveel led's zijn op die strip
Adafruit_NeoPixel strip = Adafruit_NeoPixel (graaf, PIN, NEO_GRB + NEO_KHZ800); definieert de eigenschappen van de strips
int R;
int G;
int B;
VOID setColor (int Pixel, int R2, int G2, int B2) {}
uint32_t kleur = strip. Kleur (R2, G2, B2); maken van een kleur
strip.setPixelColor (Pixel, kleur); een enkele pixelkleur instellen
strip.show(); bijwerken van de kleuren
}
ongeldig doShow() {}
voor (int i = 0; ik < telling; i ++) {}
setColor (i, 0, 0, 0);
}
voor (int i = 0; ik < telling; i ++) {}
setColor (i, 255, 0, 0); beurt allemaal op rood
delay(50);
}
voor (int i = 0; ik < telling; i ++) {}
setColor (i, 0, 255, 0); Zet alle blauw
delay(50);
}
voor (int i = 0; ik < telling; i ++) {}
setColor (i, 0, 0, 255); alle groene beurt
delay(50);
}
voor (int i = 0; ik < telling; i ++) {}
setColor (i, 255, 247, 0); Draai alle naar geel
delay(50);
}
voor (int i = 0; ik < telling; i ++) {}
setColor (i, 255, 100, 0); beurt alle oranje
delay(50);
}
voor (int i = 0; ik < telling; i ++) {}
setColor (i, 255, 0, 205); Zet alle paars
delay(50);
}
voor (int i = 0; ik < telling; i ++) {}
setColor (i, 213, 0, 255); beurt alle turkoois
delay(50);
}
Als (Serial.available() < 0) {}
doShow();
}
}
VOID Setup {}
strip.begin(); Start van de strip
strip.show(); de strip ingesteld op zwart (omdat we het om iets te doen nog niet verteld)
Serial.begin(9600);
Serial.println ("ready to kleur wijzigen");
}
void loop {}
Als (Serial.available() > 0) {/ / als bytes beschikbaar via de seriële poort zijn
char c = Serial.read(); Lees de eerste byte
Als (c == 'R') {}
R = Serial.parseInt(); krijgen de INT
}
Als (c == 'G') {}
G = Serial.parseInt(); krijgen de INT
}
Als (c == 'B') {}
B = Serial.parseInt(); krijgen de INT
}
Als (c == 'P') {}
setColor(Serial.parseInt(), R, G, B);
}
Als (c == de ') {}
doShow();
}
}
}