Teensy APA102 POV Poi / Pixel Poi Build. Tutorial

The code below is my attempt. It is displaying a heart in the first 16 pixels and below that there is the same colors blinking but out of order. It is a 16x16 file. I made a new space for the pixel length to be defined. Not sure what I am doing wrong.

#include "FastLED.h"

#define NUM_LEDS 32
#define DATA_PIN 17
CRGB leds[NUM_LEDS];


void setup() {
FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);
}

const unsigned int array0[] = { 0x000000, 0x000000, 0x000000, 0x1d0f0d, 0xd83c30, 0x000201, 0x000000, 0x000000, 0x000000, 0x000000, 0xdb3f37, 0xdb3a2f, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0xd4392d, 0xd3392d, 0xd3392d, 0xd3392d, 0x040204, 0x000000, 0x000000, 0xd3392d, 0xd3392d, 0xd3392d, 0xd3392d, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0xd2382c, 0xd2382c, 0xd2382c, 0xd2382c, 0xd2382c, 0x000000, 0xd23a2c, 0xd2382c, 0xd2382c, 0xd2382c, 0xd2382c, 0xd1392c, 0x000000, 0x000000, 0x000000, 0xa94843, 0xd1372b, 0xd1372b, 0xd1372b, 0xd1372b, 0xd1372b, 0xc14036, 0xd1372b, 0xd1372b, 0xd1372b, 0xd1372b, 0xd1372b, 0xd1372b, 0x000000, 0x000000, 0x000000, 0xce3629, 0xce372c, 0xce372c, 0xce372c, 0xce372c, 0xce372c, 0xce372c, 0xce372c, 0xce372c, 0xce372c, 0xce372c, 0xce372c, 0xce372c, 0x000000, 0x000000, 0x000000, 0xcd342c, 0xcb372b, 0xcb372b, 0xcb372b, 0xcb372b, 0xcb372b, 0xcb372b, 0xcb372b, 0xcb372b, 0xcb372b, 0xcb372b, 0xcb372b, 0xcb372b, 0x000000, 0x000000, 0x000000, 0x000000, 0xc83629, 0xc83629, 0xc83629, 0xc83629, 0xc83629, 0xc83629, 0xc83629, 0xc83629, 0xc83629, 0xc83629, 0xc83629, 0xc83629, 0x000000, 0x000000, 0x000000, 0x000000, 0xc3332a, 0xc3332a, 0xc3332a, 0xc3332a, 0xc3332a, 0xc3332a, 0xc3332a, 0xc3332a, 0xc3332a, 0xc3332a, 0xc3332a, 0xb32f22, 0x000000, 0x000000, 0x000000, 0x000000, 0xbc3227, 0xbc3227, 0xbc3227, 0xbc3227, 0xbc3227, 0xbc3227, 0xbc3227, 0xbc3227, 0xbc3227, 0xbc3227, 0xbc3227, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0xb63025, 0xb63025, 0xb63025, 0xb63025, 0xb63025, 0xb63025, 0xb63025, 0xb63025, 0xb63025, 0xb52f24, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0xb12e24, 0xb12e24, 0xb12e24, 0xb12e24, 0xb12e24, 0xb12e24, 0xb12e24, 0xb12e24, 0xb12e24, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0xab2d21, 0xab2d21, 0xab2d21, 0xab2d21, 0xab2d21, 0xab2d21, 0xab2d21, 0x952c21, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x030006, 0xa42b20, 0xa42b20, 0xa42b20, 0xa42b20, 0xa42b20, 0xa42b20, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x992e1e, 0x9f291f, 0x9f291f, 0x9f291f, 0x9f291f, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x97271f, 0x99271d, 0x99271d, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x90221d, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, }; //end of array


void loop() {
PoiSonic(8000, array0,16,16);

}

void PoiSonic(unsigned long time, const unsigned int array[], int sliceNumber, int IMG){
unsigned long currentTime = millis();
while (millis()< currentTime + (time)) {

int f= sliceNumber;// previously used numberOfSlices;
int z; //a counter
int j=IMG;


for (int k=0; k<NUM_LEDS;k++){
for (int x=0;x<f;x++){
for(z=NUM_LEDS;z>0;z--){
leds[z-1]=array[x+((j-z)*f)];}

FastLED.show();
delayMicroseconds(40); //may need to increase / decrease depending on spin rate

}

delayMicroseconds(1000); //may need to increase / decrease depending on spin rate
}

}
}
 
@dj namaste. unfortunately I just don't have the time to into it right now, but you need to loop through the code that sends out to the led strip enough time to fill the strip - i.e NUM_LEDS / image height (as an 'int' this will give you a whole number of times that you can display the image, with no remainder). Then in the loop you need to loop through once to fill the first part of the strip (leds 0 to 15) and then loop through another time to fill leds 16 to 31. You do this by having the for loop count through the loop twice and adding 16 to shift it to the right led place.

I hope that this makes sense. its just getting another loop going that counts the number of time the full image can be shown.
 
@dj namaste. unfortunately I just don't have the time to into it right now, but you need to loop through the code that sends out to the led strip enough time to fill the strip - i.e NUM_LEDS / image height (as an 'int' this will give you a whole number of times that you can display the image, with no remainder). Then in the loop you need to loop through once to fill the first part of the strip (leds 0 to 15) and then loop through another time to fill leds 16 to 31. You do this by having the for loop count through the loop twice and adding 16 to shift it to the right led place.

I hope that this makes sense. its just getting another loop going that counts the number of time the full image can be shown.


Found this code mixed with the POV code creates two images, even separate images if you like. The code here is a heart and a mushroom, one over the other. Im still running into an issue with it though. It cycles through correctly for about 10 seconds, then it switches the arrangement to the mushroom on top and the heart on the bottom but the heard does not display correctly. Im thinking it is one pixel off or something due to the math. Trying to figure out what to change. It is a cool variation though if we can get this worked out.

http://pastebin.com/t7Rv09me
 
@dj namaste, you can add a single line in to the code you posted to repeat the array in a second location by calling the leds=array[location] line twice, but just changing the leds to leds[i+h] where h is the offset to the second display location. replace your loop with the one below. it should work.

Code:
    for (int x=0;x<w;x++){
     for(i=0;i<h;i++){
      leds[i+h]=array[x+(w*i)];  //this is the additional line where you set the leds in the second location
       leds[i]=array[x+(w*i)];}//32leds = 16

for displaying two different images only use either leds or leds[i+h], just do a complete second for loop and use the +h for location and change the array name to point to a different array. then just call the FastLED.show(); once for each slice after going through both the loops.
 
Last edited:
Hi there,
I am new in the forum and I want to, first of all, give a big, big, big thanks to each person who makes all this possible.
Especially, I want to thanks Mortonkopf and his webpage orchardelica.com. His job about the LED Poi inspired me so much.
I present myself as a non-professional independent researcher (What it means: Somebody with not enough studies making strange things.) ;-p. But, enthusiastic and perseverant.
I am not a kind of teenager like this one in Terminator film. Instead, I am 28 already, but, you know? Try to explain me things in an easy way, like a children's conversation. So, be comprensible and patient with me and my bad english, please. Thanks, again.

I am from a little village, from Spain, in the middle of Nowhere and I am living in Rennes (France), right now.
My intention is to finish this Double Staff POV project for juggling that I am actually making, but It is becoming a headache.
After finish, I want to use it to juggling in the streets and traffic lights of Rennes City and arround all France.
I will make a photo-tutorial step-by-step, too.

Now, in order to finish this, I NEED HELP, PLEASE!!!... I am going to explain my situation:
I don't know what is happening but, when I light my leds (APA102 144Led strip 5v), suddenly, they get crazy and they start to make weird things. I mean;
I switch on and it lights some led blue, some red, some white... randomly.
I switch off and switch on again, It appear another configuration, another pattern of leds, some blue, some red, etc.
It doesn't matter if it is FastLED Library or any other, like APA102 Arduino Library loaded on Teensy 3.1, the same behavior happens again and again.

Double Staff Apa102 Led Problems.jpg

My configuration is:
Hardware:
- One Teensy 3.1
- 192 total leds, strip APA102 (5v). They're distributed in 6 parallel strips of 32 leds each strip.
- Interruptor 220v 3A
- 8 AAA [(4+4) parallel] batteries rechargeable 1.2v 1000mA each one
- Two 1N5817 Diodes
Software:
- FastLED Library
- Pixel Poi Image converter by Mortonkopf (http://www.orchardelica.com/poisonic/poi_page.html) with a Image of Zelda 32 pixels in the code.
- Arduino 1.6.5 Teensyduino 1.27

Teensy.Power.Proyect (Copiar).jpg

Code:
/*
*This sketch outputs images to persistence of vision led strips
*It uses FastLed to drive APA102 leds, sending colour values from
*arrays held in flash memory (designated by 'const'). You need to
*set the number of slices you have made your image into,
*e.g. bmp image of 60 pixels high by 150 wide
* would give 60 num_leds and
* 150 slices (number of slices you have made your image into)
*/

#include <FastLED.h>

#define NUM_LEDS 32 //number of leds in strip length on one side
#define DATA_PIN 2//7 = second hardware spi data
#define CLOCK_PIN 3//14 = second hardware spi clock
CRGB leds[NUM_LEDS];
int numberOfSlices = 96;

void setup() {

delay(300);
FastLED.addLeds<APA102, DATA_PIN, CLOCK_PIN>(leds, NUM_LEDS);
}

const unsigned int array0[] = { 0x63994d, 0x63994d, 0x63994d, 0x63994d, 0x63994d, 0x63994d, 0x63994d, 0x63994d, 0x63994d, 0x759d55, 0xd1b07a, 0xd1b07a, 0xd1b07a, 0xd1b07a, 0xd1b07a, 0xd1b07a, 0xfdf2c5, 0xfdf2c5, 0xfdf2c5, 0x7e7962, 0x000000, 0x000000, 0x000000, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0x000000, 0x000000, 0x2a5c2f, 0x326e38, 0x326e38, 0x326e38, 0x326e38, 0x326e38, 0x326e38, 0x63994d, 0x63994d, 0x63994d, 0x63994d, 0x63994d, 0x63994d, 0x63994d, 0x63994d, 0x63994d, 0x63994d, 0x346f37, 0x346f37, 0x346f37, 0x346f37, 0x346f37, 0x346f37, 0x346f37, 0x346f37, 0x346f37, 0x346f37, 0x346f37, 0x346f37, 0x346f37, 0x346f37, 0x346f37, 0x346f37, 0x346f37, 0x63994d, 0x63994d, 0x63994d, 0x63994d, 0x63994d, 0x63994d, 0x63994d, 0x63994d, 0x63994d, 0x5b9249, 0x346f37, 0x346f37, 0x346f37, 0x346f37, 0x346f37, 0x346f37, 0x000000, 0x000000, 0x000000, 0x808080, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x808080, 0x808080, 0x808080, 0x6f2225, 0x6c0f12, 0x6c0f12, 0x6c0f12, 0x19371c, 0x19371c, 0x19371c, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x314c26, 0x314c26, 0x314c26, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x2e4925, 0x314c26, 0x314c26, 0x314c26, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x1a371b, 0x6c0f12, 0x6c0f12, 0x6c0f12, 0x808080, 0x808080, 0x808080, 0xbfbfbf, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0x000000, 0x000000, 0xb41a1f, 0xd81f25, 0xd81f25, 0xd81f25, 0x3c090b, 0x3c090b, 0x3c090b, 0x3c090b, 0x3c090b, 0x3c090b, 0x3c090b, 0x3c090b, 0x3c090b, 0x320709, 0x000000, 0x000000, 0x000000, 0x808080, 0x808080, 0x808080, 0x808080, 0x808080, 0x808080, 0x808080, 0x808080, 0x808080, 0x808080, 0x808080, 0x808080, 0x808080, 0x808080, 0x808080, 0x808080, 0x808080, 0x000000, 0x000000, 0x000000, 0x3c090b, 0x3c090b, 0x3c090b, 0x3c090b, 0x3c090b, 0x3c090b, 0x3c090b, 0x3c090b, 0x3c090b, 0x3c090b, 0xd81f25, 0xd81f25, 0xd81f25, 0x000000, 0x000000, 0x000000, 0x808080, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0x000000, 0x000000, 0xb41a1f, 0xd81f25, 0xd81f25, 0xd81f25, 0xd81f25, 0xd81f25, 0xd81f25, 0xd81f25, 0xd81f25, 0xd81f25, 0x000000, 0x000000, 0x000000, 0x2b2b2b, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0x000000, 0x000000, 0xd81f25, 0xd81f25, 0xd81f25, 0xd81f25, 0xd81f25, 0xd81f25, 0xd81f25, 0xd81f25, 0xd81f25, 0xd81f25, 0x000000, 0x000000, 0x000000, 0x808080, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x2b2b2b, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, }; //end of array


void loop() {
PoiSonic(4000,array0); //call method, with duration to show (2sec) and array name.
}


void PoiSonic(unsigned long time, const unsigned int array[0]){
unsigned long currentTime = millis();
while (millis()< currentTime + (time)) {

int f= numberOfSlices;
int z; //a counter
int j=NUM_LEDS;

for (int x=0;x<f;x++){
for(z=NUM_LEDS;z>0;z--){
leds[z-1]=array[x+((j-z)*f)];}
FastLED.show();
delayMicroseconds(40); //may need to increase / decrease depending on spin rate
}
delayMicroseconds(1000); //may need to increase / decrease depending on spin rate
}
}


The code loads good on Teensy 3.1. Without errors, no problems.
I don't know from where the problems could come:
Length of the wire?
Too hot when soldering LED strip, possible damage?
Connectors? Batteries power?
Coding?

Stick Apa102 Connectors (DATA, CLOCK,GND,5v) (Copiar).jpgStripLeds Connectors (Copiar).jpgInterruptor and Cuirass on Stick (Copiar).jpg
Connectors from Scratch (Copiar).jpg
I tested the voltage in a lot of points and everything looks like fine.

I want to mention that with LPD6803 strip (12v), I was succesfull to load Teensy3.1 (Rainbow Colors) through Neophob_LPD6803 lib
Arduino library (Copiar).jpgLPD6803 Led Strip (Copiar).jpgNeophob_LPD6803 (Rainbow Colors) (Copiar).jpg

I need advice. I am desperate, I am very lost.
Eternally Gratefull. iJokerClown.
 
I just tested your code on my pixel poi. The first thing is that the image array is incorrect, retry generating the image array in the maker and paste the new one int the sketch and make sure that you choose the right slice number (how wide) and the right led number (how high). I just uploaded one of 96 by 32 and it worked fine. Also, increase the delay from 40 to 400, it should help to see what is going on.

your array looks like it has lots of white in it.. "0xffffff"
 
Last edited:
@dj namaste, you can add a single line in to the code you posted to repeat the array in a second location by calling the leds=array[location] line twice, but just changing the leds to leds[i+h] where h is the offset to the second display location. replace your loop with the one below. it should work.

Code:
    for (int x=0;x<w;x++){
     for(i=0;i<h;i++){
      leds[i+h]=array[x+(w*i)];  //this is the additional line where you set the leds in the second location
       leds[i]=array[x+(w*i)];}//32leds = 16

for displaying two different images only use either leds or leds[i+h], just do a complete second for loop and use the +h for location and change the array name to point to a different array. then just call the FastLED.show(); once for each slice after going through both the loops.


Thank you that works. I was thinking of having it repeat after each length is reached but I realized on a hula hoop with various led length strips it would leave uneven ending images so I mapped out starting points by dividing the hoop up into 8 points.
 
Thanks so much for the quick answer Mortonkopf, I should say that I appreciate your job a lot, as well.
I think that I found from where the problem could come...(or I beleve so)
I checked the voltage and when I switch on, my voltage drop goes from 5.33v (directly from batteries with 1N5817 Diodes included) to 4.22v when I connected all the system (with APA102 ledstrip included). Same thing happens for voltage to DATA and CLOCK, they both voltage drops go to 4.22v, too. But when I connect the Teensy 3.1, the voltage drops go from:
- 4.22v to 3.12v (checking 5v pin with GND pin) "Could I use 3.3 pin instead of 5v pin with Teensy 3.1 ?
- 4.22v to 0.255v (checking DATA pin with GND pin)
- 4.22v to 155.5mV (checking CLOCK pin with GND pin)

Connections on the Staff.jpg

The wires are 30cm max.

I don't know if those voltages are normal, CLOCK has 155.5"mV", it's quite strange, isn't it?

I tried the code with the same image of Zelda, 32x32 this time, but with colors inverted in order to avoid the white pixels as much as possible, like you said me, Mortonkopf. These are the images I wanted to load on Teensy 3.1.

zelda 32p (Copiar) (2).pngzelda 32p (Copiar).png

Code:
/*
*This sketch outputs images to persistence of vision led strips
*It uses FastLed to drive APA102 leds, sending colour values from
*arrays held in flash memory (designated by 'const'). You need to
*set the number of slices you have made your image into,
*e.g. bmp image of 60 pixels high by 150 wide
* would give 60 num_leds and
* 150 slices (number of slices you have made your image into)
*/

#include <FastLED.h>

#define NUM_LEDS 32 //number of leds in strip length on one side
#define DATA_PIN 2//7 = second hardware spi data
#define CLOCK_PIN 3//14 = second hardware spi clock
CRGB leds[NUM_LEDS];
int numberOfSlices = 32;

void setup() {

delay(300);
FastLED.addLeds<APA102, DATA_PIN, CLOCK_PIN>(leds, NUM_LEDS);
}

const unsigned int array0[] = { 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x010101, 0x000000, 0x0b0b0b, 0x000000, 0x969996, 0xffffff, 0xfeffff, 0xffffff, 0xffffff, 0xffffff, 0xdbe0dc, 0x000000, 0x060606, 0x010101, 0x000000, 0x010101, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x040404, 0x000000, 0x797f7a, 0xd9c1d7, 0xd9add4, 0xdfb7da, 0xe0b6da, 0xe0b7db, 0xdeb3d8, 0xdcb9d8, 0xa0a2a0, 0x000000, 0x000000, 0x010101, 0x000000, 0x010101, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x030303, 0x000000, 0x888b88, 0xe7cce4, 0xdca2d5, 0xb777ba, 0xa86bb6, 0xab6db6, 0xaa6cb6, 0xb071b9, 0xd294cc, 0xeac4e6, 0xadacad, 0x0c0d0c, 0x000000, 0x010101, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x010101, 0x010101, 0x010101, 0xa8aaa9, 0xe9c6e6, 0xd394cb, 0xb378ba, 0xa16ab5, 0x9e65b4, 0x9e66b3, 0x9e66b4, 0x9f67b5, 0xad74b9, 0xcb8cc4, 0xe4b5e0, 0xcfcccf, 0x1c1c1c, 0x020102, 0x020202, 0x000000, 0x010101, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x010101, 0x000000, 0x010101, 0x020202, 0x000000, 0xbabbba, 0xe4bde1, 0xcd90c7, 0xb177ba, 0xa169b5, 0xa067b4, 0xa169b5, 0xa168b4, 0xa169b5, 0xa168b5, 0x9f67b4, 0xac73b9, 0xc689c2, 0xdfadd9, 0xdad5d9, 0x262726, 0x010101, 0x030303, 0x000000, 0x010101, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x010101, 0x000000, 0x010101, 0x020202, 0x010101, 0x000000, 0x131514, 0xeae7e9, 0xdba9d7, 0xa567b2, 0x985fb1, 0x9a5fb1, 0x9a5fb1, 0x9a5fb0, 0x9a5fb1, 0x9a5fb0, 0x9a5fb1, 0x9a5fb1, 0x995eb0, 0xa065b4, 0xc588c2, 0xfff8ff, 0x454845, 0x000000, 0x010001, 0x030303, 0x010101, 0x000000, 0x010101, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x343634, 0xd9d0d7, 0xd3a1d0, 0xa268b5, 0xaf7dbc, 0xb989c1, 0xb887c0, 0xb887c0, 0xb887c0, 0xb887c0, 0xb887c0, 0xb887c0, 0xb887c0, 0xb888c0, 0xb685bf, 0x9f65b5, 0xc089c2, 0xe8d5e7, 0x5e615f, 0x060807, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x010101, 0x000000, 0x0e0f0f, 0x313131, 0x4c4947, 0xe4d4e3, 0xcf98cd, 0x9c5fb2, 0xb57fbd, 0xcec6f1, 0xcfd2ff, 0xd0d5ff, 0xd0d5ff, 0xd0d5ff, 0xd0d5ff, 0xd0d5ff, 0xd0d5ff, 0xd0d6ff, 0xd3d8ff, 0xcfd3fc, 0xc095c7, 0x9b5fb0, 0xc588c3, 0xf2dbf0, 0x74706f, 0x353433, 0x1c1c1d, 0x000000, 0x010101, 0x000000, 0x000000, 0x000000, 0x040404, 0x010101, 0x4a4a49, 0xf9fbfe, 0xced5e5, 0xe7bde2, 0xa066b3, 0xc395c5, 0xc4d2f1, 0x2f4bfd, 0x0013ff, 0x021fff, 0x001cff, 0x001cff, 0x001cff, 0x001cff, 0x001dff, 0x0019ff, 0x000bfe, 0x0c24ff, 0xaab4ff, 0xcfabd1, 0xbb7fbd, 0xe1aedb, 0xcfcce3, 0xe8edf6, 0x8e8c8b, 0x010101, 0x040404, 0x000000, 0x000000, 0x000000, 0x050505, 0x000000, 0x575554, 0xf7fbff, 0x0f295d, 0xa9aebc, 0xbc9acc, 0xb9bdfc, 0x1b55f4, 0x0020fa, 0x0420ff, 0x0320ff, 0x0320ff, 0x031fff, 0x0320ff, 0x0522ff, 0x001ffd, 0x002ef8, 0x566bff, 0x0022f5, 0x0013ff, 0x9eadff, 0xba9cd2, 0xc0b7ca, 0x293f62, 0x9baac8, 0xa8a5a0, 0x000000, 0x050505, 0x000000, 0x000000, 0x000000, 0x030303, 0x020202, 0x2d2d2c, 0x979799, 0x747a95, 0x102457, 0xfdfdf5, 0x2036ff, 0x0015ff, 0x0624ff, 0x021fff, 0x0622ff, 0x0724ff, 0x0724ff, 0x0a25ff, 0x0014ff, 0x0d2cfb, 0x8db4f1, 0xb0c2d5, 0x83afff, 0x0239f6, 0x000cfd, 0xebf1ff, 0x425473, 0x5c607b, 0x9e9fa7, 0x565554, 0x030303, 0x030303, 0x000000, 0x000000, 0x000000, 0x000000, 0x020202, 0x000000, 0x080807, 0x989a99, 0x93a6c4, 0x78a0ef, 0x1a4bf5, 0x0723ff, 0x061eff, 0x0623ff, 0x0017ff, 0x000ffe, 0x000dfe, 0x0012f8, 0x1a43f9, 0x9ea8ff, 0x9aa8bd, 0x182f63, 0x838598, 0x7fa5ea, 0x0a3ef5, 0x747cfb, 0x95a5cc, 0xa2a9ae, 0x464441, 0x000000, 0x030303, 0x000000, 0x000000, 0x000000, 0x000000, 0x010101, 0x000000, 0x030303, 0x010101, 0x080807, 0xffffff, 0x97b8f9, 0x0455e6, 0x0033ed, 0x0037ef, 0x0015fb, 0x5b6cff, 0xa1acff, 0xa5adff, 0xa6b3ff, 0xabc9ef, 0x7789a0, 0x00033a, 0x000835, 0x6c7fa1, 0xeef7fc, 0xb0cefa, 0x0030eb, 0xddecff, 0x585345, 0x000000, 0x070707, 0x000000, 0x010101, 0x000000, 0x000000, 0x000000, 0x000000, 0x010101, 0x010101, 0x010101, 0x0d0d0d, 0x636363, 0xfffff3, 0xb8cefc, 0xa8c5fa, 0x8fbcf6, 0x718ff3, 0xe1e5ff, 0xced6d8, 0x839ab2, 0x95a8bb, 0x6d82a6, 0x23437d, 0x7d8dad, 0x7e91b2, 0x5c6c8f, 0x45577f, 0xf7f3ef, 0xbed9ff, 0x727b88, 0x252321, 0x050505, 0x020202, 0x010101, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0xe1e3e6, 0x8c9eb8, 0x768bac, 0x434952, 0xb5b191, 0xf9fffd, 0x566a96, 0x00023a, 0x000b42, 0x223a6c, 0xc2d5e6, 0xdbd9c2, 0x383f46, 0x00012e, 0x000331, 0xdbdde6, 0x78736c, 0x070503, 0x000000, 0x010101, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x010101, 0x000000, 0x010101, 0x121212, 0xededee, 0x213362, 0x000c41, 0x000022, 0xa79d87, 0x82806d, 0x12162f, 0x090f3c, 0x060e3b, 0x0f1235, 0x626258, 0xc6ba96, 0x000022, 0x050f3b, 0x04103d, 0xe9eaf0, 0x2a2c2d, 0x000001, 0x040404, 0x000000, 0x010101, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x0c0c0c, 0xd4d4d5, 0x5f76a0, 0x0a1847, 0x040d3d, 0x1c244a, 0x091032, 0x000830, 0x05113d, 0x05103d, 0x010934, 0x00072b, 0x1d2548, 0x061140, 0x061343, 0x405989, 0xd9dde3, 0x343332, 0x010101, 0x020202, 0x010101, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x010101, 0x111112, 0xb9bbbe, 0x6781a7, 0x091d4d, 0x000436, 0x000d3f, 0x000d3f, 0x000b3c, 0x000b3c, 0x000d3e, 0x000e41, 0x000539, 0x031344, 0x496590, 0xc3c7ce, 0x2d2d2d, 0x040404, 0x020202, 0x010101, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x010101, 0x000000, 0x010101, 0x030303, 0x000000, 0x383a36, 0xd5ccd5, 0x8497b9, 0x506e98, 0x5c78a0, 0x59759d, 0x58759e, 0x58759e, 0x59759d, 0x5a779f, 0x57749d, 0x6a83a8, 0xded7e3, 0x535450, 0x000000, 0x010101, 0x020202, 0x000000, 0x010101, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x010101, 0x000000, 0x010101, 0x020202, 0x000000, 0x373b36, 0xd7cfdc, 0xd7a2d3, 0xedd3e9, 0xfaecf7, 0xf9ebf7, 0xfaedf8, 0xfaeef9, 0xfaedf9, 0xfaedf9, 0xf9ecf7, 0xfaecf7, 0xf5e4f3, 0xd39bcd, 0xe7d7eb, 0x555955, 0x000000, 0x000000, 0x030302, 0x000000, 0x010101, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x010101, 0x000000, 0x000000, 0x696766, 0xe5d0ea, 0xaf78c2, 0xc280c1, 0xcc89c5, 0xc98bc6, 0xca8fc8, 0xc588c1, 0xc283bc, 0xc283bc, 0xc586bf, 0xc98fc8, 0xc98dc6, 0xca87c4, 0xca89c5, 0xa76cba, 0xe6ccef, 0x868385, 0x0e0f0d, 0x000000, 0x020202, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x010101, 0x010101, 0x0f0f0f, 0x646566, 0xa7a8b9, 0x634483, 0x614184, 0xb89ecb, 0xceb9de, 0xc995cb, 0xd58dc5, 0x9366c3, 0x6143bf, 0x6145c0, 0x7f59c2, 0xd28dc6, 0xcb90c9, 0xccb3db, 0xc4acd5, 0x6b4c8a, 0x573579, 0xa7a0bb, 0x797c7e, 0x212120, 0x030303, 0x020202, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x030303, 0x000000, 0x2b2b2a, 0xf2f4f9, 0x152a5b, 0x0f2857, 0x000c37, 0x8c86b4, 0xb4a9d9, 0xbdb1da, 0xd6c7df, 0x565adc, 0x0007db, 0x000bdc, 0x313bdc, 0xcfc1de, 0xc3b7de, 0xb0a6d4, 0xa69ecd, 0x1d3362, 0x112c5a, 0x00002b, 0xd6d9e4, 0x61615e, 0x000000, 0x050505, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x030303, 0x000000, 0x2a2a28, 0xf4f7fd, 0x30538a, 0x295188, 0x00103d, 0x7b4c95, 0xa25fb2, 0xa289c5, 0xccbfdb, 0x5558db, 0x0003d9, 0x0007da, 0x303ada, 0xcabddc, 0xa997cd, 0x9d5faf, 0x965dac, 0x34538c, 0x2c588d, 0x000134, 0xd5d6e1, 0x61605e, 0x000000, 0x050505, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x010101, 0x010101, 0x0f0f0e, 0x666769, 0xbcc5d9, 0x957cb2, 0x856497, 0x9767ae, 0x9d69b5, 0x955cad, 0xc17ebd, 0xaa7ace, 0x8362cf, 0x8363cf, 0x9c72ce, 0xc886c2, 0x975dae, 0x9c68b3, 0x9b69b3, 0x9478b0, 0x8d71ab, 0xb0acc6, 0x787a7d, 0x212120, 0x030303, 0x020202, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x010101, 0x000000, 0x000000, 0x5e5b59, 0xf0d4e5, 0xe1a4d7, 0xbf82c2, 0xb97fc0, 0xbd83c2, 0xad75ba, 0xc184bf, 0xd897c6, 0xd795c6, 0xc98bc2, 0xab73b9, 0xbc83c1, 0xba7fbf, 0xbb81c0, 0xd291cb, 0xfad7ef, 0x817b7c, 0x0c0d0c, 0x000000, 0x020202, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x010101, 0x010101, 0x010101, 0x161616, 0xa7afb0, 0x63ebe3, 0xdee9f2, 0xf9e9f4, 0xf8ebf6, 0xfbeef8, 0xf0e4f4, 0xf0e4f4, 0xf6ebf8, 0xf6eaf8, 0xf2e7f6, 0xeee2f3, 0xfbedf8, 0xf8ebf5, 0xfaebf5, 0xf5e8f4, 0x68ece6, 0xa4c3c3, 0x373032, 0x030202, 0x030303, 0x010101, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x020202, 0x000000, 0x1c1b1b, 0xf9ffff, 0x33e3de, 0x82efea, 0x9cf4ee, 0x9cf4ef, 0xecfefc, 0x868481, 0x363936, 0x383b39, 0x373a37, 0x363835, 0x61615e, 0xf1fcfa, 0xa6f9f3, 0x98f3ed, 0x98f3ed, 0x23dbd5, 0xe9ffff, 0x4d4546, 0x000000, 0x040404, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x010101, 0x000000, 0x191818, 0xdae3e3, 0x50ede8, 0x3deae5, 0x39e6e1, 0xc3f2f3, 0x645e5f, 0x050304, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x3c393b, 0xcfecec, 0x48eae5, 0x3eeae5, 0x39e8e2, 0xd5f3f3, 0x433c3c, 0x010101, 0x030303, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x010101, 0x000000, 0x030303, 0x1e1f1f, 0xbccaca, 0xcadbda, 0xc9dada, 0x484849, 0x050303, 0x020202, 0x030303, 0x020202, 0x020202, 0x030303, 0x020202, 0x000000, 0x2b2929, 0xc2d1d1, 0xcadbda, 0xcbdbda, 0x393b3b, 0x060606, 0x020202, 0x010101, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x070303, 0x080404, 0x080404, 0x000000, 0x000000, 0x010101, 0x000000, 0x010101, 0x010101, 0x000000, 0x010101, 0x000101, 0x000000, 0x070404, 0x080404, 0x080404, 0x000000, 0x000000, 0x010101, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x010101, 0x000000, 0x010101, 0x010101, 0x020202, 0x020202, 0x020202, 0x020202, 0x010101, 0x010101, 0x010101, 0x000000, 0x000000, 0x010101, 0x010101, 0x010101, 0x020202, 0x020202, 0x020202, 0x020202, 0x020202, 0x010101, 0x010101, 0x010101, 0x000000, 0x000000, 0x000000, 0x000000, }; //end of array

void loop() {
PoiSonic(4000,array0); //call method, with duration to show (2sec) and array name.
}


void PoiSonic(unsigned long time, const unsigned int array[0]){
unsigned long currentTime = millis();
while (millis()< currentTime + (time)) {

int f= numberOfSlices;
int z; //a counter
int j=NUM_LEDS;

for (int x=0;x<f;x++){
for(z=NUM_LEDS;z>0;z--){
leds[z-1]=array[x+((j-z)*f)];}
FastLED.show();
delayMicroseconds(400); //may need to increase / decrease depending on spin rate
}
delayMicroseconds(1000); //may need to increase / decrease depending on spin rate
}
}


Teensy 3.1-APA102 Connections (Copiar).jpg

The same paradigm appears; changing patterns of leds each time I switch on and off, the difference this time was that
they're changing pattern colors from one pattern to other pattern between on, off and on again. But crazy, you know? Nothing symmetric, nor rhythmic.

Left Side of the Staff (120° x 3 strips APA102) (Copiar).jpgRight Side of the Staff (120° x 3 strips APA102) (Copiar).jpg

What am I doing wrong?
Thanks in advance.
 
I checked the code and it is working for me.

I would suggest a simple circuit with the leds connected to the board without all the battery circuit and everything and trace it back. I dont see what is wrong. If you are using APA102 leds it looks like it should work. I am not sure about APA102 strips but most strips have to have a common ground or you get problems.

Do you have the leds ground connected to the teensy? Do you have clock and data correct?
 
Looking at the pictures it seems that you have data connected to pin 1 and clock on pin 2. In the code it says data pin 2 clock pin 3. I am not sure by the pictures but it looks like you did not account for pin 0 as the first pin next to ground, pin one, pin 2.

Edit, I looked again and I cant really tell if the pins are correct. The wiring must be an issue somewhere if you have enough power and all the pins connected right.
 
Last edited:
Well, there seems to be an issue in the wiring setup rather than the power supply. Double check that the data and clock are going to the correct pins, and if you have a strip of apa102 spare, hook this up directly to the +ve gnd data and clock pins without any other circuitry and test.
 
My take on the Adafruit Supernova Poi build

20160224_140129_resized.jpg20160303_071246_resized.jpg

Interesting thing about the build is the APA leds are powered from the Teensy 3.2 3v3 regulator. Will probably swap the battery to the other end, hat tip to onehorse whose charger makes things very clean.
 
Looks clean. Yep, OneHorse charger is perfect for this application. The reason I put the battery and the Teensy at one end, and mounted the teensy on top of the battery is for having the weight at the handle end, and to make the most of the length of the poi - total number of leds increases for given max length of poi. What lipo size are you using?
 
Looks clean. Yep, OneHorse charger is perfect for this application. The reason I put the battery and the Teensy at one end, and mounted the teensy on top of the battery is for having the weight at the handle end, and to make the most of the length of the poi - total number of leds increases for given max length of poi. What lipo size are you using?

2200 mAH 18650 lipo which after several long sessions have yet to have to recharge. The other thing that impressed me about the build was using the IR remote, cheap easy to install, and works well even with the poi spinning.
 
2200 mAH 18650 lipo which after several long sessions have yet to have to recharge. The other thing that impressed me about the build was using the IR remote, cheap easy to install, and works well even with the poi spinning.

How did you do the IR? I cant get it to respond when spinning.
 
What do you mean from Adafruit? Are you running the Adafruit pov code and not mortonkopfs? There is a debounce delay in the Adafruit stuff I think maybe that is what I need to add.
 
The main difference is the image quality and process for getting the pixel array data. If you are looking for a large number of image arrays, the low res output of the adafruit project is good, but you need to install and use python. If you are after detailed colour images, but fewer of them, such as for corporate logos
 
Yes, everything is connected right, or I think so. Sorry about the bad photo quality, I have only a mobile for taking photos.
But, if you look at the photo carefully, you can see that pin 2 (pin 4 counting from GND) for DATA and pin 3
(pin 5 counting from GND) for CLOCK. Is it right?

OK, I've tried this morning without success by adding 4 AAA 1.2v rechargable batteries for Teensy 3.1,
apart of 8 (4+4) batteries for APA102.
When I switch on Teensy 3.1 alone,It appears some leds in soft red. Look like this:
IMG_0865 (Copiar).JPGIMG_0863 (Copiar).JPG

Then, I switch on the APA102 + Teensy 3.1 and this happens:
IMG_0867 (Copiar).JPGIMG_0871 (Copiar).JPG

I tried to make a test with 4 leds APA102 that I kept, like you advice me:
IMG_0886 (Copiar).JPGIMG_0885 (Copiar).JPG

with this image (DK Pixel Art 4x4 pixels) on the code:

const unsigned int array0[] = { 0xffb34d, 0xb80001, 0xb80001, 0xffffff, 0xffb34d, 0xffb34d, 0xb80001, 0xb80001, 0xffffff, 0xb80001, 0xb80001, 0xb80001, 0xb80001, 0xffb34d, 0xb80001, 0xffb34d, }; //end of array

All leds light and blink quickly, but I don't see the colors of the image, It should be some red/brown color, shouldn't be? and it appears like this:
IMG_0887 (Copiar).JPGIMG_0888 (Copiar).JPGIMG_0889 (Copiar).JPG

I tried as well with this image of Pacman:

const unsigned int array0[] = { 0xffffff, 0xffd200, 0x000000, 0xffd200, 0xffd200, 0xffd200, 0xffd200, 0xffd200, 0xffd200, 0xffd200, 0xffffff, 0xffffff, 0xffffff, 0xffd200, 0xffd200, 0xffd200, }; //end of array

and the leds show nothing yellow/white in them, take a look:
IMG_0893 (Copiar).JPG

What can I do?
Thanks so much for your time, attention and most of all comprension
 
could you run a test, set your led number to four for using your test strip of four and just use the simple array below which should hgive four static colours of blue red green white.
const unsigned int array1[] = { 0x0000ff, 0x0000ff, 0x0000ff, 0x0000ff, 0xff0000, 0xff0000, 0xff0000, 0xff0000, 0x00ffff, 0x00ffff, 0x00ffff, 0x00ffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, };
 
At long last, the Prop Shield is finally happening. :)

https://forum.pjrc.com/threads/33328-Prop-Shield-Beta-Test

Great news
Thanks

The main difference is the image quality and process for getting the pixel array data. If you are looking for a large number of image arrays, the low res output of the adafruit project is good, but you need to install and use python. If you are after detailed colour images, but fewer of them, such as for corporate logos

Yep
Image quality is different
With adafruitDotstar i have 35 image with 72leds and using 80% of memory
With FastLed and PoiSonic converter,4 images/Slices200 memory is almost full (better output) with Prop Shield and 8Mbyte no more memory problems

In OS X python is already installed,only need to add the Python PIL library
convert.py convert many image in same time
 
Last edited:
Great news
Thanks



Yep
Image quality is different
With adafruitDotstar i have 35 image with 72leds and using 80% of memory
With FastLed and PoiSonic converter,4 images/Slices200 memory is almost full (better output) with Prop Shield and 8Mbyte no more memory problems

In OS X python is already installed,only need to add the Python PIL library
convert.py convert many image in same time

Hi, I have spent a while trimming down the adafruit poi version and have it working on a teensylc with just the pov code running, not all the other remote and battery monitoring stuff. It works with the adafruit library and I have gone through and changed the strip.show to FastLED.show and I am trying to figure out the leds[] portion. I am not sure where the brackets go. It compiles in arduino and uploads but nothing happens. Im sure the definitions and pin out is right and it runs fine with the adafruit library.
Here is the code, not working though. But i wonder if you could help me sort this out or let me know if it just wont work for some reason.
http://pastebin.com/DASFkNpB
 
Back
Top