Excuses voor de video - u zult moeten om het te bekijken in HD, en zelfs dan kunt u mogelijk niet kunnen top maken uit alle van het Wetboek.
Hebt u nodig:
- Een STM32F4DISCOVERY -board
- Een USB-TTL converter - dit is niet noodzakelijk, zonder dat die de LEDs trillen zal wanneer USB ingestopt is, maar zodra u het verwijdert ze zal wel goed
- Een WS2811 LED-tekenreeks
- Een licht afhankelijke weerstand (LDR) en de overeenkomstige normale weerstand (in mijn geval 200k)
- De Software Espruino JavaScript-interpreter
Ik aangesloten:
- De witte + rode draden van de WS2811s naar de 0v en 5v
- De groene draad van de LDR aan pin PA7
- De LDR tussen grond en pin PC1
- De weerstand van een 200kOhm tussen PC3 en PC1
Er is meer informatie over controle en bedrading van de verlichting op de Espruino leerprogramma voor WS2811s. De werkelijke code die u wilt kopiëren en plakken is:
functie onInit() {}
SPI1.Setup ({baud: 3200000, mosi:A7});
C3.set(); Trek de lichtsensor potentiële scheidingslijn tot 3,3 v
}
onInit();
var licht = 0,0; een gemiddelde
functie getPattern() {}
var lightInstant = analogRead (C1) * 3;
licht = lightInstant * 0.1 + licht * 0.9;
var cols = [];
voor (var ik = 0; ik < 50; i ++) {}
var c = (-Math.abs(i-25)*10) + licht * 1024-200;
Als (c < 0) c = 0;
Als (c > 255) c = 255;
cols.push(c);
c = (-Math.abs(i-25)*10) + licht * 1024-450;
Als (c < 0) c = 0;
Als (c > 255) c = 255;
cols.push(c);
c = (-Math.abs(i-25)*10) + licht * 1024-600;
Als (c < 0) c = 0;
Als (c > 255) c = 255;
cols.push(c);
}
retourneren cols;
}
functie doLights() {}
SPI1.send4bit(getPattern(), 0b0001, 0b0011);
}
setInterval (doLights, 50);
En werk! Als u typt 'save()' zal het blijven werken zelfs nadat de stroom uit.