Giter Club home page Giter Club logo

octowifi-leds-controller's Introduction

OctoWifi-LEDs Controller

https://antoine.doussaud.org/esp32_LED

You must install https://platformio.org/

Feature

  • Can drivve x8 WS2812b LEDs strip at the same time
  • Can drive 8000 WS2812 LEDs at 30Hz or 4000 WS2812 LEDs at 60Hz
  • Compatible Art-Net ( DMX512 )
  • Compatible RGB888
  • Compatible RGB565
  • Compatible Z888

Setting

You can edit setting in src/main.cpp

Wifi setting

Wifi Mode: ( use only one )

#define USE_AP            // The driver start has a WiFi Acess point
#define USE_WIFI          // The driver use WIFI_SSID and WIFI_PASSWORD
#define USE_WIFI_MANAGER  // The driver use Wifi manager
  • AP: the driver is an Wifi Acces Point. You don't need a router
  • WIFI: you must write the SSID and the Password of your wifi directly in the code
  • WIFI_MANAGER: The driver start in AP mode. You can then connect directly to it and select your wifi network using a web page

In AP mode you can edit the AP SSID and password with

#define AP_SSID       "ESP32_LEDs_AP"
#define AP_PASSWORD   "WIFI_PASSWORD"

In Wifi mode you can edit the router SSID and password with

#define WIFI_SSID        "SSID"
#define WIFI_PASSWORD    "PASSWORD"

in Wifi manager mode you can use a button to reset the Wifi config

#define USE_RESET_BUTTON  // Can reset Wifi manager with button'
const int RESET_WIFI_PIN = 23; // GPIO use for Reset button

LEDs setting

You can change the LEDs type and color order

#define LED_TYPE       WS2812B
#define COLOR_ORDER    GRB

You can change the max brightness ( 0-255 )

#define BRIGHTNESS  255

You can activate and set the current limitation here

#define USE_POWER_LIMITER

#define LED_VCC          5    // 5V
#define LED_MAX_CURRENT  2400 // 2400mA

If you want to use 8 strip output you must activate

#define USE_8_OUTPUT // Activate 8 LEDs output

You can edit the LEDs port here:

const int LED_PORT_0 = 16;
const int LED_PORT_1 =  4;
const int LED_PORT_2 =  2;
const int LED_PORT_3 = 22;
const int LED_PORT_4 = 19;
const int LED_PORT_5 = 18;
const int LED_PORT_6 = 21;
const int LED_PORT_7 = 17;

If you don't care about art-net you can set simply set how many LEDs by strip here

const int LED_BY_STRIP = 150;

If you want to use the driver as an art-net node you can edit

const int START_UNI    = 0;
const int UNI_BY_STRIP = 4;
const int LEDS_BY_UNI  = 170;


const int LED_BY_STRIP = (UNI_BY_STRIP*LEDS_BY_UNI);
const int LED_TOTAL    = (LED_BY_STRIP*NUM_STRIPS);

octowifi-leds-controller's People

Contributors

spectrenoir06 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

lgv2018 smvorwerk

octowifi-leds-controller's Issues

drawPixelRGB565 error

Trying to compile this and I keep getting hit with errors.

`src/main.cpp:354:118: warning: format '%d' expects argument of type 'int', but argument 6 has type 'long unsigned int' [-Wformat=]
Serial.printf("ret: %d == %s, compress: %d, uncompress: %d, r: %d\n", ret, mz_error(ret), compress_size, un_size, r);
^

src/main.cpp:359:18: error: 'class MatrixPanel_I2S_DMA' has no member named 'drawPixelRGB565'
dma_display.drawPixelRGB565 (i%MATRIX_WIDTH, i/MATRIX_WIDTH, ((uint16_t*)buff_test)[i]);
^

src/main.cpp: In function 'void udp_receive(AsyncUDP_bigPacket)':

src/main.cpp:591:19: error: 'class MatrixPanel_I2S_DMA' has no member named 'drawPixelRGB565'
dma_display.drawPixelRGB565((i + leds_off) % MATRIX_WIDTH, (i + leds_off) / MATRIX_WIDTH, data16[i]);
^

src/main.cpp:681:21: error: 'class MatrixPanel_I2S_DMA' has no member named 'drawPixelRGB565'
dma_display.drawPixelRGB565(i%128, i/128, ((uint16_t*)leds)[i]);`

Any thoughts or ideas?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.