Add readme to neopixel

This commit is contained in:
Michal Moskal
2016-04-05 18:21:24 -07:00
parent 715771b991
commit 948b0ef304
4 changed files with 90 additions and 88 deletions

View File

@@ -1,92 +1,47 @@
basic.showLeds(`
# . . . .
. . . . .
. . # . .
. . . . .
. . . . #
`)
console.log("Start")
let strip = neopixel.create(24);
let br = 100;
strip.setBrigthness(100);
input.onButtonPressed(Button.B, () => {
br = br + 20;
if (br > 255) {
br = 5;
}
strip.setBrigthness(br);
});
// Create a NeoPixel driver - specify the number of LEDs:
let strip = neopixel.create(7);
let rotationMode = false;
input.onButtonPressed(Button.A, () => {
rotationMode = !rotationMode;
if (rotationMode) {
basic.showLeds(`
. # # # .
# . . . #
# . . . #
# . . . #
. # # # .
`);
} else {
basic.showLeds(`
. . # . .
. . . # .
# # # # #
. . . # .
. . # . .
`);
// If your strip is not at P0, specify the pin.
strip.setPin(DigitalPin.P0)
}
});
// Brightness defaults to 255 (very bright); 0 is completely off.
strip.setBrigthness(20)
// Set pixels - pixel number, followed by red, green and blue values, between 0 and 255.
strip.setPix(0, 255, 255, 255);
strip.setPix(1, 0, 255, 255);
strip.setPix(2, 255, 0, 255);
strip.setPix(3, 255, 255, 0);
console.log("Send!")
// Send the image to the strip.
strip.display();
basic.pause(500);
console.log("Sent!")
// Green light travelling the strip:
for (let l = 0; l < strip.length(); l++) {
strip.clear();
strip.setPix(l, 0, 255, 0);
while (true) {
let x = input.acceleration(Dimension.X) / 2
let y = input.acceleration(Dimension.Y) / 2
let z = input.acceleration(Dimension.Z) / 2
if (rotationMode) {
strip.rotate();
} else {
strip.setPix(0, x, y, -z);
strip.shift(1);
}
strip.display();
basic.pause(100);
}
let special = false;
let numcol = 0;
input.onButtonPressed(Button.A, () => {
special = true;
let r = 0;
let g = 0;
let b = 0;
if (numcol == 0) {
r = 255;
g = 255;
b = 255;
} else if (numcol == 1) {
r = 255;
} else if (numcol == 2) {
b = 255;
} else if (numcol == 3) {
r = 255;
g = 255;
} else if (numcol == 4) {
r = 10;
g = 10;
b = 10;
}
numcol = (numcol + 1) % 5;
for (let k = 0; k < 7; k++) {
strip.setPix(k, r, g, b);
}
strip.display();
});
control.inBackground(() => {
for (let j = 0; j < 2000000; j++) {
if (special) {
basic.pause(100);
continue;
}
let r1 = (0 + j * 2) & 63;
let g1 = (20 + j * 1) & 63;
let b1 = (30 + j * 3) & 63;
for (let i = 0; i < strip.length(); i++) {
strip.setPix(i, (r1 - i) * 20, (g1 - i) * 20, (b1 - i) * 20);
}
strip.display()
basic.pause(60);
}
});
control.inBackground(() => {
while (true) {
basic.showString("XMAS!", 150);
}
});