LED Strip maneter kostym med Arduino & LPD8806 ledde remsor (5 / 6 steg)
Steg 5: kod
-Först installera https://github.com/adafruit/LPD8806 biblioteket i biblioteksmappen. Igen Adafruit är de att göra alla magin här, jag känner mig skyldig (plus beklagande som nämnts) att jag inte beställer ledde remsor från dessa killar. Du kan byta namn på mappen till något som "LPD" men det spelar ingen roll mycket.
Sedan ladda upp koden till din Arduino:
#include "LPD8806.h" S1 variabler void setup() {
#include "SPI.h"
LPD8806 s1 = LPD8806(160,2,3);
int s1track [200];
unsigned int s1ti = 0;
unsigned int s1tf = 0;
int sx = 0;
KONTROLLER.
int s1speed = 50; Hur långt ifrån varandra är mönstren på en enda rad?
int s1sep = 30. Hur många led mellan varje mönster?
Serial.BEGIN(9600);
S1.BEGIN();
för (int jag = 0; jag < s1.numPixels () + 40; i ++) {
s1track [i] = 0;
}
för (int jag = 0; jag < s1.numPixels(); i ++) {
S1.setPixelColor (i, s1. Color(127,0,0));
}
S1.show();
}
void loop() {
s1speed = analogRead(A0);
s1speed = map(s1speed,0,1023,10,500);
Serial.println(s1speed);
s1strip();
S1.show();
}
void s1strip() {
om (s1ti == 0) {s1ti = millis();}
s1tf = millis();
om (s1tf-s1ti > = s1speed) {
Serial.println(s1speed);
s1ti = millis();
om (sx == 0) {
s1track [0] = 1;
}
för (int jag = 0; jag < s1.numPixels () + 40; i ++) {
om (s1track [i] == 1) {
s1track [i] = 2;
för (int z = 0, z < 3, z ++) {
S1.setPixelColor (i-z, s1. Color(0,0,127));
}
för (int z = 3; z < 8; z ++) {
S1.setPixelColor (i-z, s1. Color(127,0,127));
}
för (int z = 8; z < 11; z ++) {
S1.setPixelColor (i-z, s1. Color(127,0,0));
}
för (int z = 11; z < 13; z ++) {
S1.setPixelColor (i-z, s1. Color(0,0,0));
}
för (int z = 13; z < 14; z ++) {
S1.setPixelColor (i-z, s1. Color(127,0,0));
}
}
}
för (int jag = 0; jag < s1.numPixels () + 40; i ++) {
om (s1track [i] == 2) {
s1track [i] = 0;
s1track [jag + 1] = 1;
}
}
SX ++;
om (sx == s1sep) {
SX = 0;
}
}
}