From 51a679ed10a222fc102305f302b71e15bf8ea054 Mon Sep 17 00:00:00 2001 From: not-matt <32398028+not-matt@users.noreply.github.com> Date: Mon, 18 Dec 2017 20:46:29 +0000 Subject: [PATCH] Add files via upload Uses NeoPixelBus, now uploaded in the right place too. --- .../ws2812_controller/ws2812_controller.ino | 58 +++++++++---------- 1 file changed, 27 insertions(+), 31 deletions(-) diff --git a/arduino/ws2812_controller/ws2812_controller.ino b/arduino/ws2812_controller/ws2812_controller.ino index e5054e3..0316838 100644 --- a/arduino/ws2812_controller/ws2812_controller.ino +++ b/arduino/ws2812_controller/ws2812_controller.ino @@ -1,38 +1,43 @@ #include #include -#include -#include +//#include +//#include #include -#include "ws2812_i2s.h" +#include // Set to the number of LEDs in your LED strip -#define NUM_LEDS 60 +#define NUM_LEDS 242 // Maximum number of packets to hold in the buffer. Don't change this. -#define BUFFER_LEN 1024 +#define BUFFER_LEN 726 // Toggles FPS output (1 = print FPS over serial, 0 = disable output) #define PRINT_FPS 1 +//NeoPixelBus settings +const uint8_t PixelPin = 3; // make sure to set this to the correct pin, ignored for Esp8266(set to 3 by default for DMA) + // Wifi and socket settings -const char* ssid = "YOUR_WIFI_SSID"; -const char* password = "YOUR_WIFI_PASSWORD"; -unsigned int localPort = 7777; -char packetBuffer[BUFFER_LEN]; +const char* ssid = "ASUS_VIVOBOOK"; +const char* password = "T!PT)Psecret"; +unsigned int localPort = 7778; +byte packetBuffer[BUFFER_LEN]; +RgbColor ledDataBuffer[NUM_LEDS]; // LED strip -static WS2812 ledstrip; -static Pixel_t pixels[NUM_LEDS]; +NeoPixelBus ledstrip(NUM_LEDS, PixelPin); + WiFiUDP port; // Network information // IP must match the IP in config.py -IPAddress ip(192, 168, 0, 150); +IPAddress ip(192, 168, 137, 200); // Set gateway to your router's gateway -IPAddress gateway(192, 168, 0, 1); +IPAddress gateway(192, 168, 137, 1); IPAddress subnet(255, 255, 255, 0); void setup() { Serial.begin(115200); - WiFi.config(ip, gateway, subnet); + //WiFi.config(ip, gateway, subnet); + WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); Serial.println(""); // Connect to wifi and print the IP address over serial @@ -46,7 +51,8 @@ void setup() { Serial.print("IP address: "); Serial.println(WiFi.localIP()); port.begin(localPort); - ledstrip.init(NUM_LEDS); + ledstrip.Begin();//Begin output + ledstrip.Show();//Clear the strip for use } uint8_t N = 0; @@ -64,20 +70,10 @@ void loop() { for(int i = 0; i < len; i+=4) { packetBuffer[len] = 0; N = packetBuffer[i]; - pixels[N].R = (uint8_t)packetBuffer[i+1]; - pixels[N].G = (uint8_t)packetBuffer[i+2]; - pixels[N].B = (uint8_t)packetBuffer[i+3]; - } - ledstrip.show(pixels); - #if PRINT_FPS - fpsCounter++; - #endif + RgbColor pixel((uint8_t)packetBuffer[i+1], (uint8_t)packetBuffer[i+2], (uint8_t)packetBuffer[i+3]); + ledstrip.SetPixelColor(N, pixel); + } + ledstrip.Show(); + Serial.print("/"); } - #if PRINT_FPS - if (millis() - secondTimer >= 1000U) { - secondTimer = millis(); - Serial.printf("FPS: %d\n", fpsCounter); - fpsCounter = 0; - } - #endif -} +}