Stap 2: Stap 2: Arduino en de Neopixels
Klinkt als een goede band? Nou nee. Om te beginnen van Adafruit beschikt over een prachtige bibliotheek waarmee u kunt aan de slag. We beginnen met het koppelen van jumper draden aan het begin van uw Neopixels. Alle pijlen zal wijzen naar het einde. Het begin is het gedeelte dat alle jumpers verbinden en sluit aan op de Arduino Uno. Met behulp van elementaire draden, rode is macht, zwart is ground, en wit is gegevens. De rode zal ingaan op de 5V, zwarte gaat naar één van de pinnen van de GND, dan de witte is waar de gegevens vandaan zoals 6.
Zodra u aangesloten ga je gang en haak de printplaat van de Arduino op een computer en schoen opwaarts uw Arduino programmering software hebt. De code is hier:
#include
#define PIN 6
Adafruit_NeoPixel strip = Adafruit_NeoPixel (60, PIN, NEO_GRB + NEO_KHZ800);
void setup {strip.begin(); strip.show(); / / initialiseren van alle pixels op 'off' / / Serial.begin(115200);}
void loop {}
Ruwe versnellingsmeter-gegevens ophalen voor elke as int rawX = analogRead(A0); int rawY = analogRead(A1); int rawZ = analogRead(A2);
Print uit ruwe X, Y, Z versnellingsmeter lezingen / / Serial.print ("X:"); Serial.println(rawX);
Als (rawX > 650|| rawY = > = 650 || rawZ > = 650) {theaterChaseRainbow(25);} else {rainbow(1);}}
De puntjes een na de andere te vullen met een kleur void colorWipe (uint32_t c, uint8_t wachten) {voor (uint16_t i = 0; i
VOID regenboog (uint8_t wachten) {uint16_t i, j;
voor (j = 0; j < 256; j ++) {voor (ik = 0; i
Iets anders, dit maakt de regenboog even verspreid over void rainbowCycle (uint8_t wachten) {uint16_t i, j;
voor (j = 0; j < 256 * 5; j ++) {/ / 5 cycli van alle kleuren op wiel voor (ik = 0; ik < strip.numPixels(); i ++) {strip.setPixelColor (ik, wiel (((i * 256/strip.numPixels()) + j) & 255));} strip.show(); delay(wait);}}
Theatre-style kruipende lichten. VOID theaterChase (uint32_t c, uint8_t wachten) {voor (int j = 0; j < 10; j ++) {//do 10 cycli van achter voor (int q = 0; q < 3; q ++) {voor (uint16_t ik = 0; ik < strip.numPixels(); i = i + 3) {strip.setPixelColor (i + q, c), //turn elke derde pixel op} strip.show();
delay(wait);
voor (uint16_t ik = 0; ik < strip.numPixels(); i = i + 3) {strip.setPixelColor (i + q, 0); //turn elke derde pixel off}}}}
Theatre-style kruipen met regenboog effect ongeldig theaterChaseRainbow (uint8_t wachten) licht {voor (int j = 0; j < 256; j ++) {/ / cyclus van alle 256 kleuren in voor het wiel (int q = 0; q < 3; q ++) {voor (uint16_t ik = 0; ik < strip.numPixels(); i = i + 3) {strip.setPixelColor (i + q, wiel ((i + j) % 255)); //turn elke derde pixel op} strip.show();
delay(wait);
voor (uint16_t ik = 0; ik < strip.numPixels(); i = i + 3) {strip.setPixelColor (i + q, 0); //turn elke derde pixel off}}}}
Invoergegevens naar een waarde van 0 tot 255 om een kleurwaarde. De kleuren zijn een overgang r - g - b - terug naar r. uint32_t wiel (byte WheelPos) {WheelPos = 255 - WheelPos; if(WheelPos < 85) {return strip. Kleur (255 - WheelPos * 3, 0, WheelPos * 3); } if(WheelPos < 170) {WheelPos-= 85; terugkeer strip. Kleur (0, WheelPos * 3, 255 - WheelPos * 3); } WheelPos-= 170; strip retourneren Kleur (WheelPos * 3, 255 - WheelPos * 3, 0);