This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "FastLED.h" | |
// matrix size | |
uint8_t Width = 16; | |
uint8_t Height = 16; | |
uint8_t CentreX = (Width / 2) - 1; | |
uint8_t CentreY = (Height / 2) - 1; | |
// NUM_LEDS = Width * Height | |
#define NUM_LEDS 256 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Matrix effect by Jeremy Williams | |
// Designed for Game Frame | |
// http://www.ledseq.com | |
#include <FastLED.h> | |
// LED setup | |
#define kMatrixWidth 16 | |
#define kMatrixHeight 16 | |
#define DATA_PIN 2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
float speed = 0.3; // speed of the movement along the Lissajous curves | |
float size = 3; // amplitude of the curves | |
for (uint8_t y = 0; y < Height; y++) { | |
for (uint8_t x = 0; x < Width; x++) { | |
float cx = y + float(size * (sinf (float(speed * 0.003 * float(millis() ))) ) ) - 8; // the 8 centers the middle on a 16x16 | |
float cy = x + float(size * (cosf (float(speed * 0.0022 * float(millis()))) ) ) - 8; | |
float v = 127 * (1 + sinf ( sqrtf ( ((cx * cx) + (cy * cy)) ) )); | |
uint8_t data = v; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CRGB ColorFromPalette12(CRGBPalette16 pal, uint16_t index, uint8_t brightness, TBlendType blendType) { | |
//index is a 12-bit number, range 0-4095 | |
//uint8_t hi4 = lsrX4(index); | |
//uint8_t lo4 = index & 0x0F; | |
uint8_t hi4 = (index & 0x0F00) >> 8; //***shift 8 bits to the right instead of 4 | |
uint8_t lo8 = index & 0xFF; //***keep right 8 bytes instead of right 4 bytes | |
// const CRGB* entry = &(pal[0]) + hi4; | |
// since hi4 is always 0..15, hi4 * sizeof(CRGB) can be a single-byte value, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
A FastLED matrix example: | |
A simplex noise field fully modulated and controlled by itself | |
written by | |
Stefan Petrick 2017 | |
Do with it whatever you like and show your results to the FastLED community | |
https://plus.google.com/communities/109127054924227823508 | |
*/ | |
#include "FastLED.h" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void noise_noise1() { | |
CRGBPalette16 Pal( pit ); | |
/* here is how the palette looks like: | |
DEFINE_GRADIENT_PALETTE( pit ) { | |
0, 3, 3, 3, | |
64, 13, 13, 255, // blue | |
128, 3, 3, 3, | |
192, 255, 130, 3, // orange |