large matrix and what to use..

Status
Not open for further replies.
Hi I am using the teensy with octo trying to use Jinx or Glediator. It appears we are missing some software so the teensy can interpret the data from Jinx or Glediator then put it to the leds... is that correct or what else am I missing?
Thanks

Is your ino sketch compatible with receiving the data from Glediator in the format that it is sent out, and then sending out via Octo? there was a discussion about gladiator code (but with Fastled) here: https://forum.pjrc.com/threads/28133-Teensy3-1-with-WS2801-using-Glediator?highlight=glediator
 
Last edited:
Hi thanks for the info.. this is all new stuff to me.. I can build things and do the electrical easy but computer stuff is the hard part for me. How to do I get the code that you suggest to use onto the arduio application? I am lost on that part. Sorry for my lack of understanding and knowledge on that.
Thanks for the help.
Garnet
 
Hi I got the code to work in glediator but only one strip out of the 8 are on..changed matrix size and it does change. Jinx doesnt work same error message comes up saying port in use or not there.
 
Sorry .. it does not change when I adjust the matrix size... only one strip of 300 out of the 6 strips of 1800 come on. THe test samples from teensy still all work.
Getting close now... need it working by Tuesday
 
Is there some sort of limit on the output array size related to buffer sizing? I don't know the glediator code as I use a different computer software, but I was reading the Gediator site and it says for ws2811 ws2812: "The firmware can handle up to 512 pixels." http://www.solderlab.de/index.php/software/glediator
Perhaps post your ino sketch? that way we can see how you are trying to process the incoming data. Also, Does the gladiator software provide a sketch that prints info to terminal or a test screen, so that you can check that gladiator is behaving properly. There was some discussion RE glediator on this thread also: https://forum.pjrc.com/threads/24937-Teensy-3-1-amp-Glediator-LED-Wall-Sketch and there was a test code snippet here: https://forum.pjrc.com/threads/27082-Teensy-3-1-with-Glediator-and-Jinx-over-USB
 
Hi I am using the code nick1802 gave the link for.. here it is
#include "FastLED.h"
#define NUM_LEDS 400
const int dataline = 6;

CRGB leds[NUM_LEDS];
void setup() {
Serial.begin(115200);
LEDS.addLeds<WS2812B, dataline>(leds, NUM_LEDS);
}
int serialGlediator() {
while (!Serial.available()) {}
return Serial.read();
}
void loop() {
while (serialGlediator() != 1) {}

for (int i=0; i < NUM_LEDS; i++) {
leds.r = serialGlediator();
leds.g = serialGlediator();
leds.b = serialGlediator();
}
FastSPI_LED.show();

I could use Jinx or Glediator Not sure why it would run the 5th string and not the first one then.. The pattern works great just doesnt fill all the rows.
 
I am using ws2812b strips ... 60 per row.. power at the beginning of each row.. 5 row per strip and 6 strips for a total of 1800 pixels

Is the 512 they are talking about per strip as there are fairly large matrix on youtube running glediator. I am not sure.
 
Last edited:
are you using Teensy3.1? Your sketch is only sending data to one pin, pin 6 (dateline). are all of your 1800 leds coming off of pin 6? I might have missed it in the thread, but you are not using octows2811 library?

EDIT - i was wrong on the multiple pins in fasted - deleted suggested code. the below code is in the library:

EDIT 2 - it seems that from your follow up post you are using Octows2811 wiring set up, but trying to use Fastled sketch (only using pin 6 = strip 5) to send data out. The sketch below in this post will not help you as it is for fastled wiring.

This code might be useful
Code:
// MultipleStripsInOneArray - see https://github.com/FastLED/FastLED/wiki/Multiple-Controller-Examples for more info on
// using multiple controllers.  In this example, we're going to set up four NEOPIXEL strips on three
// different pins, each strip will be referring to a different part of the single led array

#include "FastLED.h"

#define NUM_STRIPS 3
#define NUM_LEDS_PER_STRIP 60
#define NUM_LEDS NUM_LEDS_PER_STRIP * NUM_STRIPS

CRGB leds[NUM_STRIPS * NUM_LEDS_PER_STRIP];

// For mirroring strips, all the "special" stuff happens just in setup.  We
// just addLeds multiple times, once for each strip
void setup() {
  // tell FastLED there's 60 NEOPIXEL leds on pin 10, starting at index 0 in the led array
  FastLED.addLeds<NEOPIXEL, 10>(leds, 0, NUM_LEDS_PER_STRIP);

  // tell FastLED there's 60 NEOPIXEL leds on pin 11, starting at index 60 in the led array
  FastLED.addLeds<NEOPIXEL, 11>(leds, NUM_LEDS_PER_STRIP, NUM_LEDS_PER_STRIP);

  // tell FastLED there's 60 NEOPIXEL leds on pin 12, starting at index 120 in the led array
  FastLED.addLeds<NEOPIXEL, 12>(leds, 2 * NUM_LEDS_PER_STRIP, NUM_LEDS_PER_STRIP);

}

void loop() {
  for(int i = 0; i < NUM_LEDS; i++) {
    leds[i] = CRGB::Red;
    FastLED.show();
    leds[i] = CRGB::Black;
    delay(100);
  }
}
 
Last edited:
Hi I am using teensy 3.1` with the octo set up. I have been testing the lights using the octow 2811 library and it works fine. I am using 6 data lines of the 8 for the teensy octow set up. Each strip has 300 pixels. I will try the code and see how it goes.
Thanks
 
The code you posted does not send data to the led strips if you have connected them up as per octows2811 as the fastled code does not send the data to those pins. Why are you not using Octows2811 library to send out the data to the leds?

The Octows2811 library uses the following set up:

Pin Function
2 LED Strip #1
14 LED Strip #2
7 LED Strip #3
8 LED Strip #4
6 LED Strip #5
20 LED Strip #6
21 LED Strip #7
5 LED Strip #8

Your code above only sends data to pin six, which is why led strip 5 lights up. If you have your leds wired up as per octows2811 library requirements (as above) then you are only sending data info to pin six if you are using the Fastled sketch you posted.

perhaps something like:
Code:
/*  

  Required Connections
  --------------------
    pin 2:  LED Strip #1    OctoWS2811 drives 8 LED Strips.
    pin 14: LED strip #2    All 8 are the same length.
    pin 7:  LED strip #3
    pin 8:  LED strip #4    A 100 ohm resistor should used
    pin 6:  LED strip #5    between each Teensy pin and the
    pin 20: LED strip #6    wire to the LED strip, to minimize
    pin 21: LED strip #7    high frequency ringining & noise.
    pin 5:  LED strip #8
    pin 15 & 16 - Connect together, but do not use
    pin 4 - Do not use
    pin 3 - Do not use as PWM.  Normal use is ok.

*/

#include <OctoWS2811.h>

const int ledsPerStrip = 60;

DMAMEM int displayMemory[ledsPerStrip*6];
int drawingMemory[ledsPerStrip*6];

const int config = WS2811_GRB | WS2811_800kHz;

OctoWS2811 leds(ledsPerStrip, displayMemory, drawingMemory, config);

void setup() { 
Serial.begin(115200); 
int serialGlediator() {
while (!Serial.available()) {}//check this
return Serial.read(); //and this - not sure
  leds.begin();
  leds.show();
}


void loop() {
  while (serialGlediator() != 1) {} 

for (int i=0; i < NUM_LEDS; i++) { 
/*you need to process the incoming data here. I cant test this at the moment, but you have to take the data coming in on the serial and set it to the led number. I guess that Glediator has a byte or int for each colour RGB, so you would need to have a it set some how
*/
int /*or byte?*/ r = serialGlediator();
int g = serialGlediator();
int b = serialGlediator();
leds.setPixel(i, ((r << 16) + (g << 8) + b);
/* but this may be wrong as my bit shift maths is terrible and would need a bit shift to get them into the right
*/

leds.show();
}
 
Last edited:
I have the pins set up that way and am using the ocows2811 library. All their samples work I am having the trouble getting it to read glediator. I dont know much about the code stuff that is all new for me. I tried the code I posted as it was suggested to try from an earlier post. I will try this one now. I cant find the code for it to work..either its not there or I am looking in the wrong places.
Thanks for the help
 
when you load up your posted sketch you are no longer using the octows2811 library, you are using the fastled library instead (and your sketch only initializes a strip on pin 6). This wont do what you want it to do with your wiring (the octows2811 wiring scheme). The suggested code that you have used uses fastled, it does this at the top of the code using #include "FastLed.h". If you are trying to use octo library wiring scheme, you should be using the octo library sketch which will have #include <OctoWS2811.h>
 
Last edited:
Hi I understand that now.. sorry for my lack of knowledge in this field. Which one do I use and where is it. Thanks very much for the help..
Garnet
 
Ok, so as far as I can see, you dont have a sketch that uses the octows2811 library (as indicated by the #include<OctoWS2811.h>) set up to receive the input from Glediator from the serial. So you either need to search for a sketch that uses this library with glediator (is there one in their distribution or github site?) of try and write one. I have had a go at an example starter code in post #39. try a copy and paste of that block of code into a new sketch as a starter.
 
Hi thanks very much. I tried it and it works... the diamond pattern and others work but when I use text rows 1,3 and 5 go the opposite to rows 2,4 and 6. I tried many different settings in the glediator but nothing helps. When I set it to vertical instead of horizontal the words come out right but there are now 2 rows in stead of 1 row of the same text... any thoughts?
Garnet
 
Do you mean the entire strip on those pins runs backwards, or is it to do with snaking the strip back and forth. There may be a snaking setting in Glediator that sends the pixel colour information out in a different order.
 
hi mortonkopf.. I tried the sketch on the link you sent me and it only lights up strip number one. The other 5 strips don t light up.
 
Hi thanks very much. I tried it and it works... the diamond pattern and others work but when I use text rows 1,3 and 5 go the opposite to rows 2,4 and 6. I tried many different settings in the glediator but nothing helps. When I set it to vertical instead of horizontal the words come out right but there are now 2 rows in stead of 1 row of the same text... any thoughts?
Garnet
Does this relate to the sketch i posted in post #39? That sketch was just a guess, a mock-up for you to be getting on with, and probably have a few bits of code missing (such as declaring NUM_LEDS? i think). If all of the led strips work, with the right colours but just the wrong order, you probably need to double check the options in Glediator (which I have not used) or build an index reference which can be used to swap the data into the right order, or do a bit of maths to sort the incoming data to the right place. If you have all the led data coming through (all leds light with the right colour, but in the wrong order) you might want to use a reference array - see this post #2 here https://forum.pjrc.com/threads/2686...2811-ws2812b-pixel-panels?highlight=glediator
 
Status
Not open for further replies.
Back
Top