Forum

Einloggen | Registrieren | RSS  

matzischweinchen(R)

Homepage E-Mail

Aachen,
15.10.2014,
00:07
 

PD3535 (Bauelemente)

Hallo Gemeinde,

habe die o.g. Displays gefunden und wüßte gerne wie ich kucken kann, ob sie noch funktionieren. Hier das Datenblatt: http://www.mouser.com/ds/2/311/00034150_0-280161.pdf

Da kann man einen Lamptest (LT) machen und habe das in verschiedenen Beschaltungen probiert, aber es tut sich nix. Vielleicht sind sie k.o., keine 'ahnung.

--
:hungry: Greets from Aix-la-chapelle

Matthes

geralds(R)

Homepage E-Mail

Wien, AT,
15.10.2014,
00:56
(editiert von geralds
am 15.10.2014 um 00:58)


@ matzischweinchen

PD3535 - Display ansteuern

» Hallo Gemeinde,
»
» habe die o.g. Displays gefunden und wüßte gerne wie ich kucken kann, ob sie
» noch funktionieren. Hier das Datenblatt:
» http://www.mouser.com/ds/2/311/00034150_0-280161.pdf
»
» Da kann man einen Lamptest (LT) machen und habe das in verschiedenen
» Beschaltungen probiert, aber es tut sich nix. Vielleicht sind sie k.o.,
» keine 'ahnung.

----
Naja,...

Da iss was drinnen, was nicht kaputt werden darf, ein Registersatz, ein Chip.

Im Prinzip kannst dieses Display wie einen Port-Baustein für einen µProzessor betrachten, der am Datenbus angehängt ist.

Im einfachsten Fall geht das Ansteuern auch mit dem PC_Druckerport.

Das geht zudem ähnlich wie mit dem üblich bekannten Charakter-Display...
Adressieren das Controllregister,
Dann den Controllbefehl auf den Datenbus legen.

Willst Daten sehen - musst ins Datenregister schreiben.

Schau dir die genauere Reihenfolge im Datenblatt an.

Hast nix zur Verfügung, kannst dieses Display
sogar mit Digi-Schalter entsprechend ansteuern.

Grüße
Gerald
---

--
...und täglich grüßt der PC:
"Drück' ENTER! :wink: Feigling!"

gast

15.10.2014,
08:23

@ matzischweinchen

PD3535

» Hallo Gemeinde,
»
» habe die o.g. Displays gefunden und wüßte gerne wie ich kucken kann, ob sie
» noch funktionieren.

gefunden??? - hat sie schon wer verloren?


* Source: http://www.arduino.cc/playground/Main/DirectDriveLEDMatrix
*
* Modifications for 5x7 LED Matrix element
* by Stefan Wolfrum in July 2012.
* ----------------------------------------
*
* Show messages on an 5x7 led matrix,
* scrolling from right to left.
*
* Uses FrequencyTimer2 library to
* constantly run an interrupt routine
* at a specified frequency. This
* refreshes the display without the
* main loop having to do anything.
*
*/

#include

#define SPACE {
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0}
}

#define H {
{1, 0, 0, 0, 1},
{1, 0, 0, 0, 1},
{1, 0, 0, 0, 1},
{1, 1, 1, 1, 1},
{1, 0, 0, 0, 1},
{1, 0, 0, 0, 1},
{1, 0, 0, 0, 1}
}

#define E {
{1, 1, 1, 1, 1},
{1, 0, 0, 0, 0},
{1, 0, 0, 0, 0},
{1, 1, 1, 1, 0},
{1, 0, 0, 0, 0},
{1, 0, 0, 0, 0},
{1, 1, 1, 1, 1}
}

#define small_E {
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 1, 1, 1, 0},
{1, 0, 0, 0, 1},
{1, 1, 1, 1, 0},
{1, 0, 0, 0, 0},
{0, 1, 1, 1, 0}
}

#define L {
{1, 0, 0, 0, 0},
{1, 0, 0, 0, 0},
{1, 0, 0, 0, 0},
{1, 0, 0, 0, 0},
{1, 0, 0, 0, 0},
{1, 0, 0, 0, 0},
{1, 1, 1, 1, 1}
}

#define small_L {
{0, 1, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 1, 1, 1, 0}
}

#define O {
{0, 1, 1, 1, 0},
{1, 0, 0, 0, 1},
{1, 0, 0, 0, 1},
{1, 0, 0, 0, 1},
{1, 0, 0, 0, 1},
{1, 0, 0, 0, 1},
{0, 1, 1, 1, 0}
}

#define small_O {
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 1, 1, 1, 0},
{1, 0, 0, 0, 1},
{1, 0, 0, 0, 1},
{1, 0, 0, 0, 1},
{0, 1, 1, 1, 0}
}

#define small_W {
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{1, 0, 0, 0, 1},
{1, 0, 0, 0, 1},
{1, 0, 1, 0, 1},
{1, 0, 1, 0, 1},
{0, 1, 0, 1, 0}
}

#define small_R {
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 1, 0, 1, 1},
{0, 1, 1, 0, 0},
{0, 1, 0, 0, 0},
{0, 1, 0, 0, 0},
{0, 1, 0, 0, 0}
}

#define small_D {
{0, 0, 0, 0, 1},
{0, 0, 0, 0, 1},
{0, 1, 1, 0, 1},
{1, 0, 0, 1, 1},
{1, 0, 0, 0, 1},
{1, 0, 0, 0, 1},
{0, 1, 1, 1, 1}
}
byte col = 0;
byte leds[5][7]; // columns x rows

int pins[13]= {-1, 2, 9, 3, 11, 12, 13, 5, 6, 10, 4, 8, 7};
int cols[5] = {pins[1], pins[3], pins[10], pins[7], pins[8]};
int rows[7] = {pins[12], pins[11], pins[2], pins[9],
pins[4], pins[5], pins[6]};

const int numPatterns = 12;
byte patterns[numPatterns][7][5] = {
SPACE, H, small_E, small_L, small_L, small_O,
SPACE, small_W, small_O, small_R, small_L, small_D
};

int pattern = 0;

void setup()
{
for (int i = 1; i <= 12; i++) {
pinMode(pins[i], OUTPUT);
}

for (int i = 1; i <= 5; i++) {
digitalWrite(cols[i - 1], LOW);
}

for (int i = 1; i <= 7; i++) {
digitalWrite(rows[i - 1], LOW);
}

clearLeds();

FrequencyTimer2::disable();
FrequencyTimer2::setPeriod(2000);
FrequencyTimer2::setOnOverflow(display);

setPattern(pattern);
}

void loop()
{
pattern = ++pattern % numPatterns;
slidePattern(pattern, 100);
}

void clearLeds()
{
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 7; j++) {
leds[i][j] = 0;
}
}
}

void setPattern(int pattern)
{
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 7; j++) {
leds[i][j] = patterns[pattern][j][i];
}
}
}

void slidePattern(int pattern, int del)
{
for (int newcol = 0; newcol <= 4; newcol++) {

for (int row = 0; row <= 6; row++)
for (int col = 0; col <= 3; col++)
leds[col][row] = leds[col+1][row];

for (int row = 0; row <= 6; row++)
leds[4][row] = patterns[pattern][row][newcol];

delay(del);
}
}


void display()
{
digitalWrite(cols[col], LOW);
col++;
if (col == 5) {
col = 0;
}
for (int row = 0; row < 7; row++) {
if (leds[col][row] == 1) {
digitalWrite(rows[row], LOW); // Turn on this led
}
else {
digitalWrite(rows[row], HIGH); // Turn off this led
}
}
times):
digitalWrite(cols[col], HIGH);

matzischweinchen(R)

Homepage E-Mail

Aachen,
21.10.2014,
21:14

@ gast

PD3535

» » Hallo Gemeinde,
» »
» » habe die o.g. Displays gefunden und wüßte gerne wie ich kucken kann, ob
» sie
» » noch funktionieren.
»
» gefunden??? - hat sie schon wer verloren?
»
Ja, gefunden in einem kleinen Karton mit Elektronikbauteilen, es ist eine Anzeigeplatine mit 16 solchen Anzeigen drauf.

Kann ich die nur mit Deinem Programm testen?

--
:hungry: Greets from Aix-la-chapelle

Matthes