First of all, thank you for trying to help me.
In the same order as your request:
- Banggood link:
I noticed that I ordered th WS2812, while on the backside of the board it says WS2812B. I concluded from this post: that I am indeed dealing with the WS8212, contrary to the print on the back.
- Some pictures of the PSU, LM317 and the soldering board
The PSU can deliver 3.4 Amps @ 19V, I honestly must say I have no idea if the LM317 is able to transform this into a lower voltage with a higher current...
-
The code is the unchanged (apart from the control PIN) version of the examples found in the arduino IDE after installing the libraries and also here: code.zip
-
I'm using the Arduino IDE (on linux), but the colouring seems to come from some kind of lint, that recognises these as a known piece of code, the question should rather be why the other two are NOT coloured. Anyway, beyond the scope of this question. If it were a problem, the compiler would complain about it.
-
As with the folding, that seem to have gone away. I replaced the board with it's twin brother, which had exactly the same problem before, but now suddenly the board does behave in a way I would expect when i.e LED N°17 is broken (but more of them light up sometimes when I turn of the power switch, which makes me hope that this is not the case)
The code would scroll "instructables" or "howdy" along the screen. Now it seems as if this indeed happening, but limited only to the first two rows.
1B. I measure the same voltage accross the terminals on the board with my multimeter, so I assume the sodlering is good (I'm not a beginner if it comes to soldering)
2B. At first I only put 2x 470µF, but to rule out reason of the strange behaviour, I tried to match the capacitance to the description.
3B. See the link from the forum where some guys figured out the text was printed upside down on the boards. With my boards the text of the pins is also upside down in relation to the text which reads WS2812B-64 bit", which is also wrong
5B. The exact code I used (amongst many other variations)
// Adafruit_NeoMatrix example for single NeoPixel Shield.
// Scrolls 'Howdy' across the matrix in a portrait (vertical) orientation.
#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>
#ifndef PSTR
#define PSTR // Make Arduino Due happy
#endif
#define PIN 6
// MATRIX DECLARATION:
// Parameter 1 = width of NeoPixel matrix
// Parameter 2 = height of matrix
// Parameter 3 = pin number (most are valid)
// Parameter 4 = matrix layout flags, add together as needed:
// NEO_MATRIX_TOP, NEO_MATRIX_BOTTOM, NEO_MATRIX_LEFT, NEO_MATRIX_RIGHT:
// Position of the FIRST LED in the matrix; pick two, e.g.
// NEO_MATRIX_TOP + NEO_MATRIX_LEFT for the top-left corner.
// NEO_MATRIX_ROWS, NEO_MATRIX_COLUMNS: LEDs are arranged in horizontal
// rows or in vertical columns, respectively; pick one or the other.
// NEO_MATRIX_PROGRESSIVE, NEO_MATRIX_ZIGZAG: all rows/columns proceed
// in the same order, or alternate lines reverse direction; pick one.
// See example below for these values in action.
// Parameter 5 = pixel type flags, add together as needed:
// NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
// NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
// NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products)
// NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
// Example for NeoPixel Shield. In this application we'd like to use it
// as a 5x8 tall matrix, with the USB port positioned at the top of the
// Arduino. When held that way, the first pixel is at the top right, and
// lines are arranged in columns, progressive order. The shield uses
// 800 KHz (v2) pixels that expect GRB color data.
Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(8, 8, PIN,
NEO_MATRIX_TOP + NEO_MATRIX_RIGHT +
NEO_MATRIX_COLUMNS + NEO_MATRIX_PROGRESSIVE,
NEO_GRB + NEO_KHZ800);
const uint16_t colors[] = {
matrix.Color(255, 0, 0), matrix.Color(0, 255, 0), matrix.Color(0, 0, 255) };
void setup() {
matrix.begin();
matrix.setTextWrap(false);
matrix.setBrightness(20);
matrix.setTextColor(colors[0]);
}
int x = matrix.width();
int pass = 0;
void loop() {
matrix.fillScreen(0);
matrix.setCursor(x, 0);
matrix.print(F("Instructables"));
if(--x < -84) {
x = matrix.width();
if(++pass >= 3) pass = 0;
matrix.setTextColor(colors[pass]);
}
matrix.show();
delay(100);
}