SPLENDIDA LED Projects on Arduino

by sharepksn in Circuits > Arduino

20 Views, 0 Favorites, 0 Comments

SPLENDIDA LED Projects on Arduino

wokwi Arduino simulator 8.gif

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

image0.jpg
unknown.png

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

wokwi Arduino simulator 7.gif
wokwi Arduino simulator 6.gif
wokwi Arduino simulator 5.gif
wokwi Arduino simulator 4.gif
wokwi Arduino simulator 3.gif
wokwi Arduino simulator 2.gif
wokwi Arduino simulator 1.gif

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

Splendida ✨
Splendida with diffuser

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

2021-03-13_00h53_11.png
2021-03-13_00h53_21.png
2021-03-13_00h53_31.png

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); }