Toutes mes excuses pour la vidéo - vous aurez besoin pour la voir en HD, et même dans ce cas, vous ne serez pas capable faire haut sur tout le code.
Vous aurez besoin :
- Un Comité de STM32F4DISCOVERY
- Un convertisseur USB-TTL - ce n’est pas indispensable, sans elle que les LED cligno quand USB est branché, mais une fois que vous la supprimiez ils sera très bien
- Une chaîne de WS2811 LED
- Une résistance dépendant de la lumière (LDR) et une résistance normale correspondante (dans mon cas, 200k)
- Le logiciel de l’interpréteur Espruino JavaScript
J’ai branché :
- Les fils rouges blanc + de le WS2811s à 0 v et 5 v
- Le fil vert de la LDR à broche PA7
- Le LDR entre la masse et la broche PC1
- Une résistance de 200kOhm entre le PC3 et PC1
Il n’y a plus d’informations sur le contrôle et le câblage des lumières sur le tutoriel de Espruino pour WS2811s. Vous devez copier et coller dans le code est :
fonction onInit() {}
SPI1.Setup ({baud : 3200000, mosi:A7}) ;
C3.Set() ; Enlever du capteur de lumière potentiel jusqu'à 3.3V
}
événements onInit() ;
lumière de var = 0.0 ; une moyenne
function getPattern() {}
var lightInstant = analogRead (C1) * 3 ;
lumière = lightInstant * 0,1 + lumière * 0,9 ;
cols du var = [] ;
pour (var i = 0; i < 50; i ++) {}
var c = (-Math.abs(i-25)*10) + lumière * 1024-200 ;
Si (c < 0) c = 0 ;
Si (c > 255) c = 255 ;
cols.push(c) ;
c = (-Math.abs(i-25)*10) + lumière * 1024-450 ;
Si (c < 0) c = 0 ;
Si (c > 255) c = 255 ;
cols.push(c) ;
c = (-Math.abs(i-25)*10) + lumière * 1024-600 ;
Si (c < 0) c = 0 ;
Si (c > 255) c = 255 ;
cols.push(c) ;
}
retour des cols ;
}
function doLights() {}
SPI1.send4bit(GetPattern(), 0b0001, 0b0011) ;
}
setInterval (doLights, 50) ;
Et le travail fait ! Si vous tapez « save() » il va continuer à travailler même après puissance hors tension.