ADAFRUIT 16x24 Red LED Matrix Panel ID:555

Hallo,

Is er iemand die deze matrices ook heeft, 16x24 Red LED Matrix Panel - Chainable HT1632C Driver : ID 555 : $24.95 : Adafruit Industries, Unique & fun DIY electronics and kits
ik heb er 4 aan elkaar en werken, maar ze zeggen dat je er 8 aan elkaar kunt knopen en werkend krijgen.
Zover geen success met meer dan 4. Ze werken perfect maar ik zou graag een groter scherm creeren.
Hier is een voorbeeld. 4x 16x24 Matrix http://cjansen.net/Cor/Fix-Things/Arduino1.htm

Hoi,

Ik gebruik de 8x32 van Sure electronics met de zelfde driver chip. In ieder geval heeft de 8x32 van Sure electronics maar aansluiting CS1 tot CS4, die van jou gaat tot CS8, dus in theorie zou het moeten kunnen.

allicht heb je deze info al gelezen?

http://ladyada.net/products/16x24LEDmatrix/

ze hebben een eigen lib geschreven, ik gebruik een andere, GitHub - gauravmm/HT1632-for-Arduino: A powerful library that allows an Arduino to interface with the popular Holtek HT1632C LED driver. en die kan maar 4 panelen aan

Ik moet zeggen dat ik van de adafruit producten heel tevreden ben. De documentatie is ook heel goed.
Ik heb net de documentatie van die leds gelezen en die ziet er goed uit. Ook al is het niet gemakkelijk.
Er is voor mij enige onduidelijkheid over welke J5 jumpers moeten gedesoldeerd worden.
Heb je naar de bijgeleverde voorbeelden gekeken?

Met vriendelijke groet
Jan

Bedankt allebei voor de replies. Ja ik allebei de links bezocht toen ik de panels thuis kreeg. De jumper J5 is een verwarrende jumper, reden is dat wanneer ik de jumper verwijderde de display werkte toen niet meer. installeerde de jumper J5 en werkte weer. heb dit geprobeerd met alle 4 en alle 3 de displays.
liet alleen de jumper intact met display 1. Alle ADAFRUIT producten zijn zeer goed heb vele bestellingen gedaan en ben zeer tevreden met de 2 dagen in huis bestellingen. Ik denk dat ik overga naar Sure electronics voor de RG panels.

Jij woont natuurlijk in de USA, ik weet niet hoe vlot ze eigenlijk leverbaar zijn aan België. Die Sure electronics panelen heb ik besteld in de Arduino store zelf, maar er is niet echt veel keuze. :~

Ja het zelfde met ADAFRUIT voor de matrices is er ook niet veel keuze, LCDs genoeg. Ik hoop dat we iemand hebben die ook geprobeerd heeft om er meer dan 4 aan elkaar te knopen en het werkend te krijgen. hetzelfde geld voor de SURE panelen, Ik zag iets in de PDF dat er ook meer dan 4 aan elkaar geknoopt kunnen worden met genoeg V/A om het werkend te krijgen, dat is eingelijk de reden dat ik naar SURE overga.
Nogmaals bedankt voor de opmerkingen.

hetzelfde geld voor de SURE panelen, Ik zag iets in de PDF dat er ook meer dan 4 aan elkaar geknoopt kunnen worden met genoeg V/A om het werkend te krijgen, dat is eingelijk de reden dat ik naar SURE overga.
Nogmaals bedankt voor de opmerkingen.

LET GOED OP, want volgens mij kan je bij de Sure panelen slechts 4 koppelen. Je hebt dan 8 chip select kanalen nodig en ik zier bij sure overal maar 4: cs1,cs2,cs3 en cs4. De library kan er ook maar 4 aan.

Kijk daarom zeer goed naar de connecties op de foto's. (bij adafruit gaat sommige panelen wel tot cs8)

De ADAFRUIT heeft geen selectors, je doet dit via de software. Ik heb de SURE gezien met de selectors.
#define DATA 2
#define WR 3
#define CS 4
#define CS2 5
#define CS3 6
#define CS4 7
// use this line for two or more matrices!
HT1632LEDMatrix matrix = HT1632LEDMatrix(DATA, WR, CS, CS2, CS3, CS4);

#define CS5 8 is geen probleem
Wanneer je probeert CS5 etc krijg je een compile error.
Zo 4 is eigenlijk het einde.

hi,

Ik heb de SURE gezien met de selectors.

jij bedoelt de dipswitches (die dienen eigenlijk alleen maar om het paneel te vertellen welke nummer het moet zijn, want je kan de kabels ook in omgekeerde volgorde aansluiten), maar die bedoel ik niet.

Ik bedoel de labels aan de kabel connectors, waar je de kabel aanhangt. Bij adafruit heb je onderaan ook een socket met de vermelding CS1 tot CS8 en GND. Bij SURE gaat het maar tot CS4. Je kan dus ook maar 4 kabels aansluiten, bij adafruit 8 kabels. Maar ....

#define CS5 8 is geen probleem
Wanneer je probeert CS5 etc krijg je een compile error.
Zo 4 is eigenlijk het einde.

daar zit je probleem dus. de library (software) ondersteunt maar 4 chip selectors, dus zal het niet lukken met meer.

TENZIJ je je eigen library schrijft natuurlijk.

heb je al op het adafruit forum gekeken?
Als dit echt een probleem is moet het daar zeker gekend zijn.
Met groeten uit België
Jantje

Ja ik heb al op het ADAFRUIT forum gekeken, er is niet echt veel voor dit 16x24 matrix. Het zijn echt goede matrices maar blijkbaar de SURE matrices zijn meer gewild.
En er is meer over gepubliceerd. Misschien moet ik mijn Mega en Uno maar samen gebruiken om ze alle 8 werkend te krijgen.

Misschien moet ik mijn Mega en Uno maar samen gebruiken om ze alle 8 werkend te krijgen.

Zou je dan niet beter zelf een BBA maken http://www.jo3ri.be/arduino/blogduino/myownbarebonearduino (goedkoper) om telkens 4 panelen aan te sturen. Je kan dan je UNO gebruiken om via I2C de twee BBA aan te sturen.

Al met al is een UNO niet zo duur, en 2 aan elkaar zou het moeten doen.
Maar ik vind je idee nog zo gek niet, Ik heb even op je link gekeken en vind dat erg intersant.
Ik zag je klok en daar onder je tekst en dat was eigenlijk waar ik naar op zoek was met de 2x4 panelen.

OK, ben bezig geweest maar eindelijk de tijd gevonden om de 8 matrices aan elkaar te knopen en de nieuwe HT1632 uit te proberen.
Het werkt, en ook mijn USB heeft het overleeft. Alle 8 op de USB en geen probleem, maar beter een 2A voeding maken en die gebruiken.
http://www.cjansen.net/images/Arduino/Total_lit_up.JPG
Hier is ook een foto met de connectors om ze aan te sluiten.
http://www.cjansen.net/images/Arduino/IDC_connections.jpg
Hopelijk heeft iemand er wat aan om ze ook werkend te krijgen.

Wow, cool. 8)

Kan je ons een video tonen van je project? En misschien een howto of je programma code?

Ik heb op het moment niet heel veel tijd, omdat ik aan mijn papierwinkel werk voor Amerikaans staats burger. Als dat achter de rug is maak ik een video en post de code, hopelijk duurt dat niet te lang meer.

Heb 2 kleine video's gevonden die ik gemaakt had en vergeten was van de 8 matrices.
Hier is de link, http://www.cjansen.net/Cor/Fix-Things/Arduino5.htm
Je kunt ze niet missen, de code volgt later die kan ik niet vinden op het moment.

Hier is een youtube video. van de 8 matrices in actie.

De code van de video is hier. Vergeet niet de correcte 1632.CPP and 1632.H file voor de matrices.
dat is diegene die support 8 matrices.
Welke kan gevonden worden op github.
Ik hoop dat iemand er wat aan heeft om er ook meer dan 4 werkend te krijgen.

//working on version 0022
#include "Wire.h"
#include "RTClib.h"
#include "SPI.h" 
#include "HT1632.h"
#include "DHT.h"

#define DHTPIN 12     // what pin we're connected to

#define DATA 2
#define WR   3
#define CS   4
#define CS2  5
#define CS3  6
#define CS4  7
#define CS5  8
#define CS6  9
#define CS7  10
#define CS8  11
#define DHTTYPE DHT22   // DHT 22  (AM2302)
// Connect pin 1 (on the left) of the sensor to +5V
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

// use this line for single matrix
//HT1632LEDMatrix matrix = HT1632LEDMatrix(DATA, WR, CS);
// use this line for two or more matrices!
HT1632LEDMatrix matrix = HT1632LEDMatrix(DATA, WR, CS, CS2, CS3, CS4, CS5, CS6, CS7, CS8);
//RTC_DS1307 RTC;
RTC_Millis RTC;
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
    Wire.begin();
    RTC.begin(DateTime(__DATE__, __TIME__));
    matrix.begin(HT1632_COMMON_16NMOS);
  dht.begin();
  matrix.println("DHTxx test!");
  matrix.writeScreen();
  delay(2500);
  matrix.fillScreen();
  delay(2500);
  matrix.clearScreen(); 
}

void loop () {
    matrix.setTextSize(1);    // size 1 == 8 pixels high
    matrix.setTextColor(1);   // 'lit' LEDs
    matrix.setCursor(0, 0);   // start at top left, with one pixel of spacing
    DateTime now = RTC.now();
    matrix.print("Date:");
    if (now.month() < 10) matrix.print("0");    // Check if we need to add leading zero
    matrix.print(now.month(), DEC);
    matrix.print('/');
    if (now.day() < 10) matrix.print("0");    // Check if we need to add leading zero
    matrix.print(now.day(), DEC);
    matrix.print('/');
    matrix.print(now.year(), DEC);
    matrix.print(' ');
    matrix.setCursor(0, 8);   // next line, 8 pixels down
    matrix.print("Time:");
    if (now.hour() < 10) matrix.print("0");    // Check if we need to add leading zero
    matrix.print(now.hour(), DEC);
    matrix.print(':');
    if (now.minute() < 10) matrix.print("0");    // Check if we need to add leading zero
    matrix.print(now.minute(), DEC);
    matrix.print(':');
    if (now.second() < 10) matrix.print("0");    // Check if we need to add leading zero
    matrix.print(now.second(), DEC);
    matrix.println();

    matrix.writeScreen();

    delay(3000);
    matrix.clearScreen();
    
    matrix.setTextSize(1);    // size 1 == 8 pixels high
    matrix.setTextColor(1);   // turn off LEDs
    matrix.setCursor(97, 0);   // start at top left, with one pixel of spacing
    //DateTime now = RTC.now();
    matrix.print("Time:");
    if (now.hour() < 10) matrix.print("0");    // Check if we need to add leading zero
    matrix.print(now.hour(), DEC);
    matrix.print(':');
    if (now.minute() < 10) matrix.print("0");    // Check if we need to add leading zero
    matrix.print(now.minute(), DEC);
    matrix.print(':');
    if (now.second() < 10) matrix.print("0");    // Check if we need to add leading zero
    matrix.print(now.second(), DEC);
    matrix.println();
    matrix.setCursor(97, 8);   // next line, 8 pixels down
    matrix.print("Date:");
    if (now.month() < 10) matrix.print("0");    // Check if we need to add leading zero
    matrix.print(now.month(), DEC);
    matrix.print('/');
    if (now.day() < 10) matrix.print("0");    // Check if we need to add leading zero
    matrix.print(now.day(), DEC);
    matrix.print('/');
    matrix.print(now.year(), DEC);
    matrix.print(' ');

    matrix.writeScreen();
    delay(3000);
    matrix.clearScreen();
    
      // Reading temperature or humidity takes about 250 milliseconds!
  // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
  float h = dht.readHumidity();
  float t = dht.readTemperature();

  // check if returns are valid, if they are NaN (not a number) then something went wrong!
  if (isnan(t) || isnan(h)) {
    Serial.println("Failed to read from DHT");
  } else {
    matrix.setTextSize(1);    // size 1 == 8 pixels high
    matrix.setTextColor(1);   // turn off/on LEDs
    matrix.setCursor(1, 0);   // start at top left, with one pixel of spacing
    matrix.print("Humidity = "); 
    matrix.print(h);
    matrix.print(" %\t");
    matrix.setCursor(1, 8);   // start at top left, with eight pixels down
    matrix.print("Temperature = "); 
    matrix.print(t);
    matrix.println(" *C , ");
    matrix.setCursor(144, 8);   // start at the top left and 138 pixels right, with eight pixels down
    matrix.print(t*1.8+32);matrix.println(" *F");
        matrix.writeScreen();
    delay(5000);
    matrix.clearScreen();
  }
   
}