SPLENDIDA LED Projects on Arduino
by sharepksn in Circuits > Arduino
20 Views, 0 Favorites, 0 Comments
SPLENDIDA LED Projects on Arduino

Wokwi Arduino Simulator is built on an open-source AVR8js engine. The spirit of the open-source Arduino simulator have kindled many great programming and design artists and all of their great arts together to create this wonderful splendid 😀
This instructable is an introduction to the resources sued to build this project
Supplies
https://www.wokwi.com
People Involved and Who Brought Their Beautiful Art Works


from Discord channel
@ldir
@wokwi
@Elliott
@Costyn
@Urish
@Stepko
@arcostasi
@sutaburi
@stevesigma
@sutaburosu
you are invited to
This Is a Project Built Upon Smart LEDs







This project is based on Arduino and any MCUs ATtiny85, ATmega128 can support it. The program can easily run on Arduino UNO, Arduino Mega without any problems.
Here are the basic information
- 256 WS2812B-B RGB LEDs
- 256 100nF decoupling capacitors
- 2 sets of 3-pin header connectors with standard 0.1" spacing:
- 5V, DIN, GND
- 5V, DOUT, GND
- 172mm board diameter
- 3xM3 mounting holes (81.5mm from centre)
- Hypnotic skull spiral decoration 💀
You Can Find the Resources and Design Files Used in the Project


GitHub: https://github.com/wokwi/splendida
Splendida 3D Model (OpenSCAD source code)
Diffuser by ldirko (also available on Thingiverse)
The PCB was designed with KiCad and laid out using a Python script.
The design was inspired by Evil Genious Labs' Fibonacci 256.
Examples Projects to Tinker With



Flying Splendida layout
https://wokwi.com/arduino/projects/288956459033559...
//F_lying fibonacci 256
//Fastled fibonacci 256 RGB leds demo //Yaroslaw Turbin, 28.01.2020 //https://vk.com/ldirko //https://www.reddit.com/user/ldirko/
#include "FastLED.h"
// Matrix size #define NUM_ROWS 20 #define NUM_COLS 20 // LEDs pin #define DATA_PIN 3 // LED brightness #define BRIGHTNESS 255
// Define the array of leds CRGB leds[257];
void setup() { FastLED.addLeds(leds, 256); FastLED.setBrightness(BRIGHTNESS); }
void loop() { static byte hue = 0; EVERY_N_MILLISECONDS(30) { hue++; //30 - speed of hue change }
byte x1 = beatsin8 (18, 0, (NUM_COLS - 1)); byte x2 = beatsin8 (23, 0, (NUM_COLS - 1)); byte x3 = beatsin8 (27, 0, (NUM_COLS - 1)); byte x4 = beatsin8 (31, 0, (NUM_COLS - 1)); byte x5 = beatsin8 (33, 0, (NUM_COLS - 1));
byte y1 = beatsin8 (20, 0, (NUM_ROWS - 1)); byte y2 = beatsin8 (26, 0, (NUM_ROWS - 1)); byte y3 = beatsin8 (15, 0, (NUM_ROWS - 1)); byte y4 = beatsin8 (27, 0, (NUM_ROWS - 1)); byte y5 = beatsin8 (30, 0, (NUM_ROWS - 1));
CRGB color = CHSV (hue, 255, BRIGHTNESS);
fadeToBlackBy (leds, 256, 40 );
mydrawLine(x1, y1, x2, y2, color, 1); mydrawLine(x2, y2, x3, y3, color, 1); mydrawLine(x2, y2, x4, y4, color, 1); mydrawLine(x3, y3, x4, y4, color, 1); mydrawLine(x3, y3, x1, y1, color, 1); mydrawLine(x4, y4, x1, y1, color, 1);
FastLED.show();
} //loop
void mydrawLine (byte x, byte y, byte x1, byte y1, CRGB color, bool dot) { // my ugly line draw function )))
byte xsteps = abs8(x - x1) + 1; byte ysteps = abs8(y - y1) + 1; byte steps = xsteps >= ysteps ? xsteps : ysteps;
for (byte i = 1; i <= steps; i++) { byte dx = lerp8by8 (x, x1, i * 255 / steps); byte dy = lerp8by8 (y, y1, i * 255 / steps); leds[XY(dx, dy)] += color; // change to += for brightness look }
if (dot) { //add white point at the ends of line leds[XY(x, y)] += CRGB ::White; leds[XY(x1, y1)] += CRGB ::White; } }
uint16_t XY(byte x, byte y) { static const uint16_t FibonPlanarTable[] PROGMEM = { 256, 256, 256, 256, 256, 256, 256, 256, 36, 39, 38, 37, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 13, 34, 35, 40, 256, 58, 59, 60, 61, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 14, 33, 256, 41, 56, 57, 68, 67, 66, 65, 64, 63, 256, 256, 256, 256, 256, 256, 256, 12, 15, 32, 42, 55, 256, 69, 256, 79, 80, 81, 82, 83, 62, 256, 256, 256, 256, 256, 11, 16, 31, 256, 43, 54, 70, 77, 78, 94, 93, 92, 91, 90, 84, 85, 256, 256, 256, 255, 10, 17, 30, 44, 53, 71, 76, 256, 95, 256, 101, 102, 103, 104, 89, 88, 256, 256, 256, 254, 9, 18, 29, 45, 52, 72, 75, 96, 256, 100, 120, 119, 118, 117, 105, 106, 87, 256, 256, 253, 8, 19, 28, 46, 256, 51, 73, 97, 99, 121, 124, 125, 126, 256, 116, 256, 107, 86, 232, 252, 7, 20, 256, 27, 47, 256, 50, 74, 122, 123, 145, 144, 256, 127, 256, 115, 256, 108, 233, 251, 6, 256, 21, 256, 26, 48, 49, 256, 98, 146, 147, 148, 143, 256, 128, 256, 114, 109, 231, 234, 250, 5, 256, 22, 23, 25, 24, 0, 195, 171, 170, 169, 149, 142, 256, 129, 113, 110, 230, 235, 256, 249, 4, 3, 2, 1, 244, 243, 256, 194, 172, 256, 168, 150, 141, 130, 112, 256, 256, 229, 236, 256, 248, 247, 246, 245, 242, 220, 219, 196, 193, 173, 167, 151, 140, 131, 111, 256, 256, 208, 228, 237, 238, 239, 240, 241, 256, 221, 218, 197, 192, 174, 166, 152, 139, 132, 256, 256, 256, 256, 209, 227, 226, 256, 256, 256, 222, 256, 217, 198, 191, 175, 165, 153, 138, 133, 256, 256, 256, 256, 207, 210, 211, 225, 224, 223, 215, 216, 199, 256, 190, 176, 164, 154, 137, 134, 256, 256, 256, 256, 256, 206, 205, 212, 213, 214, 201, 200, 256, 189, 177, 163, 256, 155, 136, 256, 256, 256, 256, 256, 256, 256, 256, 204, 203, 202, 256, 187, 188, 178, 162, 256, 156, 135, 256, 256, 256, 256, 256, 256, 256, 256, 256, 183, 184, 185, 186, 180, 179, 161, 256, 157, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 182, 181, 159, 160, 256, 158, 256, 256, 256, 256, 256, 256, 256 }; return pgm_read_word (FibonPlanarTable + y * 20 + x); }