Hallo,
hat hier schon mal jemand mit ein alten DBOX2 ( samsung ) display ht12538FB-LYPF-19gebastelt ?
Soweit ich rausbekommen habe hat es wo ein KS0713 Kontroller verbaut .
Interessant wäre ob die Pinbelegung stimmt ( im netz gefunden ) und ob es möglich ist dieses Display für Grafik darstellung zu nutzen .
z.b. für ein frequenzgenerator darstellung oder sowas in der art.
LG
Die Pinbelegung sollte stimmen.
https://www.mikrocontroller.net/topic/347095
Schick, der Controller wird von der U8g2 unterstützt.
Allerdings wird der Controller laut DaBla mit 3,3V betrieben. (DaBla - Change beachten!)
Drauf achten, da könnte BL wohl 24V brauchen.
ja das habe ich auch gelesen . glaub 25 Volt stand dort was . Müsste nur erst mal rausbekommen wo und wie ich was am Arduibo abschliesse. Die Displays sind ja sonst ganz schick gewesen früher . Haben dort selbst videos laufen lassen können mit dem dbox umbau . Denke auch ein paar leute haben noch so ein teil rumliegen .
Gefunden im netz
1-8 DB0-DB7
9 CS1
10 RW
11 RS
12 5V für Regelung der Hintergrundbeleuchtung
13 E
14 Reset (2,3k gegen 3,3V)
15 3,3V
16 ca 25V
17 GND / ist bei mir nicht GND
18 GND
19 und 20 sind nicht belegt
Wie geasgt, schau, was Du für eine Version hast und schau dazu ins Datenblatt.
Ich hab da auch schon 11-17V gesehen
Ansonsten Pin-Belegung: Halte Dich an das, was Oli in seiner Lib ggfls. dokumentiert hat.
da finde ich leider noch nichts richtig.
HTS12538FB-LYPYF-19 oder groß geschrieben HT12538-c
S20103029851.
mehr kann ich auf dem Display nicht finden . leider .
LG Nachti
hab mir die letzte version der U8g2 mal geladen und in der IDE die beispiele angeschaut . Sieht sehr interessant aus . Bringt mich noch nicht weiter, da ich noch kein plan habe wo welcher Pin von dem Display an den Uno angeschlossen werden könnte .
In der PDF sehe noch nicht durch. Ich werde mal das Display in die dbox hängen und testen ob noch alles geht . da bekomme ich auch durch messen raus wieviel volt ich brauche .
LG
gerade gemessen es liegen echt 24.5 Volt an pin 16 an . Puh mhh und 3,3 an 15
die frage wäre jetzt was ist SCL and SDA in der lib nutzt er ja nur 3-4 kabel
wenn ich das richtig verstehe wäre das ja PIN 10 und 11 am Display . oder?
mist nun muss ich ein neues auftreiben . gerade abgeraucht . die folie hinten war schon locker und nun ist es ganz ab . . liegen sicher noch paar rum
Na sag ich doch
Also laut Datenblatt Seite 11:
PS auf LOW ziehen, dann geht der Chip in den Seriellen Mode
DB7 ist dann Data
DB6 ist Clock
Laut Note:
DB0 bis DB5 auf HIGH
Und E_RD sowie WR/RW muss auf einen definierten Pegel liegen - welcher ist egal.
Drauf achten: 3,3V....
kurze Frage : in der Dbox1 war ein sda5708 display drin .
Hab ich auch gerade zum laufen bekommen.
was mache ich hier falsch ?
ich möchte die PC Uhrzeit auf dem Display darstellen.
schreibe ich : print2display(TIME);
kommt die Uhrzeit aber bleibt eben stehen und läuft nicht weiter.
code zum drüber schauen
#include "font.h"
#include <Wire.h>
#include <TimeLib.h>
int wait = 0;
const int LOAD = 2;
const int DATA = 3;
const int SDCLK = 4;
const int RESET = 5;
//char msg[];
void setup() {
pinMode(DATA, OUTPUT);
pinMode(LOAD, OUTPUT);
pinMode(SDCLK, OUTPUT);
pinMode(RESET, OUTPUT);
init_SDA5708();
brightness_SDA5708(0); //(0 = MAX, 7 = OFF)
}
void loop() {
print2display(__TIME__); // uhrzeit kommt aber geht nicht weiter
/* for (byte i = 0; i < (sizeof(msg) / sizeof(char)); i++) {
for (byte j = 0; j < 8; j++) {
if (i + j < (sizeof(msg) / sizeof(char))) {
digit_to_SDA5708(msg[i + j], j );
} else {
digit_to_SDA5708(" ", j );
}
}*/
delay(1000);
// }
}
void init_SDA5708(void)
{
digitalWrite(LOAD, HIGH);
digitalWrite(RESET, LOW);
digitalWrite(RESET, HIGH);
}
void digit_to_SDA5708(uint8_t sign, uint8_t digit)
{
uint8_t i;
if ((sign < 0x20) || (sign > 0x7b)) sign = 0x20;
if (digit > 7) digit = 0;
send_byte_to_SDA5708(0b10100000 | digit);
for (i = 0; i < 7; i++) {
send_byte_to_SDA5708(pgm_read_byte(&font[(sign - 0x20) * 7 + i]) / 8);
}
}
void send_byte_to_SDA5708(uint8_t byte)
{
uint8_t x;
digitalWrite(LOAD, LOW);
for (x = 0; x <= 7; x++) {
if ((byte >> x) & 1) {
digitalWrite(DATA, HIGH);
} else {
digitalWrite(DATA, LOW);
}
digitalWrite(SDCLK, HIGH);
digitalWrite(SDCLK, LOW);
}
digitalWrite(LOAD, HIGH);
}
void brightness_SDA5708(uint8_t val)
{
send_byte_to_SDA5708(0b11100000 | (val & 0b00000111));
}
void print2display(char *text)
{
uint8_t cursor=0;
char *p=text;
while (*p) {
digit_to_SDA5708(*p, cursor);
cursor++;
p++;
}
}
dachte durch delay(1000); wird es immer wieder aufgerufen .
@my_xy_projekt das andere Display muss warten . muss mir erst ein neues besorgen . ist kaputt
Schau Dir das Beispiel "TimeSerial" aus der lib an.
Anstelle des syncen via Serial übernimmst Du die CompileZeit.
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.