กลับไปหน้ารวมไฟล์
unleash-creativity-with-easy-arduino-led-control-8dc2bd-en.md

Control WS2812B LEDs easily via a powerful RESTful server running on Arduino. Unleash creativity by executing complex programs with a simple file upload in Light Definition Language (LDL). This project differs from other LED controllers: end users need minimal technical knowledge and user-friendly tools can generate the LDL that can be sent to the server.

Example: switch between red/blue every 1 second forever:

Example: a more complex Christmas lights program

{

"name": "Bottle Program",

"instructions": [

{

"repeat": {

"times": 0,

"instructions": [

{

"repeat": {

"times": 10,

"instructions": [

"0505000003FF00000099003333FF"

]

}

},

"0401000005000000000FF00",

"0401000005133FF33000000",

"04010000050000000FF0000",

"04010000051FF0000000000",

"040100000500000003333FF",

"040100000513333FF000000",

"030100000101919FF000000FF00",

"030100000111919FF000000FF00",

"070100000A3C104FF00000099003333FFFFFF00"

]

}

}

]

}

Project goal

Empower creativity and bring lighting designs to life with a user-friendly LED driver! Program stunning light displays using the intuitive Light Definition Language (LDL) - accessible to everyone, regardless of technical expertise.

  1. Unleash lighting potential with a standard and powerful Light Definition Language (LDL) for LED control.
  1. Empower users of all technical abilities with intuitive tools for crafting stunning LED programs in LDL.
  1. Experience seamless LED control with simple HTTP commands to interact with the server.
  1. Elevate the LED experience with consumer-friendly touches - including effortless setup via Wifi hotspot, automatic server discovery with UDP, and automatic updates for seamless operation.
  1. Bringing light design to all for free with this open-source project.

Overview

RESTful server to drive WS2812B LEDS. Light-server programs are writtern in Light Definition Language (LDL) using JSON.

Features:

  1. UDP server network discovery
  2. Light Definition Language (LDL) permits complex programs
  3. WiFi set up mode displays a simple web page to the user on 192.168.4.1:
  1. allow WiFi SSID to be selected and password entered
  2. allow a 2nd WiFi SSID
  3. specify number of connected LEDs
  1. WiFi automatically re-connects or joins 2nd SSID
  1. 8 major rendering effects presently supported by LDL
  1. RESTful interface supports 8 commands
  1. an LDL program can be saved to device memory; it will reload even after restarting the device.

The LDL program editor can be used to visually create programs and upload them to LDL servers. See the GitHub project: https://github.com/KevinWhite-KWS/Light-Server-Front-End

The main GitHub project explains things in much more detail: https://github.com/KevinWhite-KWS/Light-Server

Images of running servers

Running on a prototying board

Running ona string of LEDs - these can be used on a Christmas tree

String of LEDs running in a bottle

EXPANDED TECHNICAL DETAILS

Visual Logic & Pattern Design

This project provides a foundational framework for creating complex, synchronized LED art and lighting displays.

  • Addressable LED Control: Uses the WS2812B (NeoPixel) protocol. The Arduino sends a high-speed data stream down a single wire, addressing each LED's 24-bit color individually.
  • FastLED Library Integration: Leverages mathematical functions for color blending, gradient fills, and trigonometric waves (like sine and cosine) to create organic, pulsing light effects without manual frame-by-frame coding.

Interactive Creativity

  • Serial Pattern Switcher: Includes a PC-side control panel (processing or Python) that allows users to design patterns on their screen and upload them instantly to the Arduino for real-time visual feedback.

ข้อมูล Frontmatter ดั้งเดิม

title: "Unleash Creativity with Easy Arduino LED Control"
description: "Get ready to unleash your creativity and illuminate your space with ease! With this cutting-edge project, controlling WS2812B LEDs has never been easier, thanks to a powerful RESTful server running on Arduino. Whether you're a tech whiz or a beginner, you can upload complex Light Definition Language (LDL) programs with a simple file upload and watch your LED creations come to life. And the best part? You don't need any technical knowledge, as user-friendly tools can generate the LDL files for you. So let your imagination run wild and light up your world like never before!"
author: "bode_uk"
category: "Lights & LEDs"
tags:
  - "Lights"
  - "Internet Of Things"
  - "Smart appliances"
views: 1407
likes: 0
price: 299
difficulty: "Intermediate"
components:
  - "1x blockly"
  - "1x Visual Studio"
  - "1x LEDs"
  - "1x Electron"
  - "1x Arduino MKR 1010 Wifi"
tools: []
apps:
  - "1x Windows 10"
downloadableFiles:
  - "https://github.com/KevinWhite-KWS/Light-Server"
documentationLinks: []
passwordHash: "5d20d67f1ec4206cea30fb2c8ebe8c3441908b48dd4ff18d2b1ca7d5ea17bbc1"
encryptedPayload: "U2FsdGVkX1/w6js9ojf5gxV1iJOkHw6hrGxn9nHCqjramnidjjwYrzglevvukZmqkM5a5QBcXVLPNIj9RwZftkmnXXECG1ffpRNerDWqe+4="
seoDescription: "Control WS2812B LEDs easily with an Arduino RESTful server and LDL. Perfect for beginners and experts to create custom lighting effects."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/unleash-creativity-with-easy-arduino-led-control-8dc2bd_cover.png"
lang: "en"