Disculpas por el video - tendrás que verlo en HD, y aun así puede no ser capaz de hacer superior a todo el código.
Necesitarás:
- Una Junta de STM32F4DISCOVERY
- Un conversor USB-TTL - esto no es vital, sin ella que el LED parpadeará cuando USB esté enchufado, pero una vez que se saca va a estar bien
- Una cadena de WS2811 LED
- Un Resistor dependiente de luz (LDR) y la correspondiente resistencia normal (en mi caso 200k)
- El intérprete de Espruino JavaScript Software
Conectado:
- Los cables rojos de blanco + de la WS2811s a 0v y 5v
- El cable verde de la LDR al pin PA7
- La LDR entre tierra y pin PC1
- Un resistor 200kOhm entre PC3 y PC1
Hay más información sobre control y cableado para las luces en el tutorial de Espruino para WS2811s. Es el código real que se necesita para copiar y pegar en:
función onInit() {}
SPI1.Setup ({velocidad: 3200000, mosi:A7});
C3.set(); Tire el divisor potencial del sensor de luz hasta 3, 3V
}
onInit();
luz var = 0.0; un promedio
función getPattern() {}
var lightInstant = analogRead (C1) * 3;
luz = lightInstant * 0,1 + luz * 0,9;
Collados var = [];
para (var i = 0; i < 50; i ++) {}
var c = (-Math.abs(i-25)*10) + luz * 1024-200;
Si (c < 0) c = 0;
Si (c > 255) c = 255;
cols.Push(c);
c = (-Math.abs(i-25)*10) + luz * 1024-450;
Si (c < 0) c = 0;
Si (c > 255) c = 255;
cols.Push(c);
c = (-Math.abs(i-25)*10) + luz * 1024-600;
Si (c < 0) c = 0;
Si (c > 255) c = 255;
cols.Push(c);
}
volver cols;
}
función doLights() {}
SPI1.send4bit(getPattern(), 0b0001, 0b0011);
}
setInterval (doLights, 50);
Y trabajo hecho! Si escribe 'save()' a seguir trabajando incluso después de energía.