Sainsmart OLED UART Ansteuerung

Hallo,
ich hatte bereits letztes Jahr folgendes display von sainsmart gekauft: http://www.sainsmart.com/sainsmart-0-96-ttl-uart-128x64-oled-lcd-display-for-arduino-uno-r3-raspberry-pi.html doch nach dem Kauf konnte mit der support keine gescheiten Antwort darauf geben wie ich das display ansteuere und konnte mich nur auf eine Ansteuerung vom 16x4 display verweisen. Außerdem war ein Programm enthalten was sich nicht starten ließ.

Jetzt hoffe ich dass jmd von euch mit diesem display Erfahrung hat und mir sagen kann wie man Text und grafik auf das display bringt. Vielen dank im vorraus!
MfG

Naja, eine Liste von Kommandos und die Baudrate sollte der Hersteller/Händler schon raus rücken....

Die Baudrate steht dabei: “Default setting: UART baud 9600bps”

Das liest sich auch so als ob die gesamte Intelligenz schon im Display steckt. Dann braucht man wahrscheinlich nicht unbedingt noch eine Library. Aber die Kommandos muss man kennen. Da kann es auch nicht sein dass die dir gar keine Doku geben.

Zumal damit fettgedruckt Werbung gemacht wird:

Note: We will provide you all round technical support after your purchase. Including the datasheet and the project files. We have issued our own APP for sainsmart TTL OLED LCD

Versuch doch mal einfach den Testsketch von dieser Seite, ist zwar ein anderes Display, sieht deinem aber verdammt ähnlich.
http://www.digole.com/index.php?productID=527

Gruß

Wichtiger wäre fast das Programming Manual auf der Seite

Andererseits wird da auch eine Library verlinkt. Wenn die geht dann braucht man sich um die Details nicht mehr kümmern.

Deshalb hab ich nur die Hauptseite verlinkt, den Rest wird MasterTim schon finden :slight_smile:

Danke für den Tipp: doch ich habe zum 1. versucht das display direkt mit befehlen zu füttern, und 2. mit der library eine kommunikation versucht aufzubauen jedoch sind beide methoden fehlgeschlagen. Der support schickte mir 2 links zu dokus, doch die beinhalteten zum einen word dokumente zum anschluss eines 16x4 display und zum zweiten ein ordner namens "oled" welcher interessanter wirkte aufgrund von .ccp & .h dateien, doch ich habe alle dateien nach befehlen für die kommunikation durchsucht und nichts gefunden :frowning:

echt schade das eine neue technik angeboten wird, worüber keine auskunft gegeben werden kann!
falls noch jmd eine idee hat bitte melden!

EDIT: das display ist startet mit dem welcome screen: "UART TO OLED \n Sainsmart" und die ganze zeit danach ist das display an

Hallo MasterTim17 ,

Ich stehe genau an der selben Stelle wie du, nur habe ich die Hoffnung noch nicht ganz aufgegeben, dass ich etwas vernünftiges von sainsmart bekomme.

Was ich jedoch bis jetzt herausgefunden habe ist folgendes:
Mit folgender Sequenz kann ich einen Text auf das Display schreiben:
0x8A 0xA8 (scheint so eine Art Startkommando zu sein)
0x00 0x00 (Zeile und Spalte)
0x03 (Anzahl Zeichen die nun folgen)
0x61 0x62 0x63 (ASCII)

Vielleicht hilft dir das weiter.
ich durchforste mal weiter die untiefen des Chinesischen Internets...

Gruss

das hatte ich leider auch schon alles probiert :b scheint nur für das 16x4 display zu sein :confused:
gut zu wissen dass ich nicht der einzige bin

ich war sogar schon so verzweifelt sodass ich gesucht habe wie ich den flash auslesen kann :smiley: das wäre bei dem cortex m0 möglich wenn es nicht vom hersteller gesperrt wurde. aber ich lasse das lieber… hab zu wenig mit der materie zu tun

den Aufwand das ganze per reverse engineering herauszufinden ists mir dann auch wieder nicht wert…

aber ich habe neben mir das display liegen, welches mir “Test” anzeigt mit folgendem code:
Serial.begin(9600);
Serial.write(0x8A);
Serial.write(0xA8);
Serial.write(0x00);
Serial.write(0x00);
Serial.write(0x04);
Serial.write(‘T’);
Serial.write(‘e’);
Serial.write(‘s’);
Serial.write(‘t’);

das funktioniert so → siehe anhang

nur eigentlich habe ich ein graphic display gekauft weil ich nicht nur text anzeigen möchte…

20160216_210043.jpg

wow cool :slight_smile: könnte mir vorstellen dass 8a und a8 geändert werden muss um andere befehle zu bekommen. die negative anzeige finde ich auch misslungen. gibt bestimmt einen befehl dafür... ich erwarte vom händler dass er mir mindestens eine liste mit kommandor zur verfügung stellt und evtl. eine library zur verfügung stellt

genau meine meinung.
ich versuche sainsmart zu überzeugen, dass sie halten was sie versprochen haben von wegen aftersale support und mir zumindest eine liste mit kommandos überlassen.
wenn ich erfolg habe lasse ich dir die doku gerne zukommen.

ich hatte schon nen 2. support geöffnet gehabt kam aber keine antwort. scheint so als wollen sie ihr versprechen nicht halten...
Trotzdem viel erfolg :slight_smile:

Rein rechtlich ist das ja nicht Ordnung was das abläuft. Sicherlich auch nicht in anderen Ländern. Eine passende Doku gehört zu einem lauffähigem Produkt dazu. Dann versprechen sie auch noch extra ein Doku, Code und Support, aber liefern es nicht.

Sowas kann man ja bei Chinesen auf eBay erwarten. Aber bei Sainsmart hätte ich mit sowas nicht gerechnet.

Aus DigoleSerial.cpp. Fand ich jetzt nicht so schwer zu finden…

/*
// Communication set up command
 * "SB":Baud (ascII bytes end with 0x00/0x0A/0x0D) -- set UART Baud Rate
 * "SI2CA":Address(1 byte <127) -- Set I2C address, default address is:0x27
 * "DC":1/0(1byte) -- set config display on/off, if set to 1, displayer will display current commucation setting when power on
// Text Function command
 * "CL": -- Clear screen--OK
 * "CS":1/0 (1 byte)-- Cursor on/off
 * "TP":x(1 byte) y(1 byte) -- set text position
 * "TT":string(bytes) end with 0x00/0x0A/0x0D -- display string under regular mode
// Graphic function command
 * "GP":x(1byte) y(1byte) -- set current graphic position
 * "DM":"C/!/~/&/|/^"(ASCII 1byte) -- set drawing mode--C="Copy",! and ~ = "Not", & = "And", | = "Or", ^ = "Xor"
 * "SC":1/0 (1byte) -- set draw color--only 1 and 0
 * "LN":x0(1byte) y0(1byte) x1(1byte) y2(1byte)--draw line from x0,y0 to x1,y1,set new pot to x1,y1
 * "LT":x(1byte) y(1byte) -- draw line from current pos to x,y
 * "CC":x(1byte) y(1byte) ratio(byte) -- draw circle at x,y with ratio
 * "DP":x(1byte) y(1byte) Color(1byte) -- draw a pixel--OK
 * "DR":x0(1byte) y0(1byte) x1(1byte) y2(1byte)--draw rectangle, top-left:x0,y0; right-bottom:x1,y1
 * "FR":x0(1byte) y0(1byte) x1(1byte) y2(1byte)--draw filled rectangle, top-left:x0,y0; right-bottom:x1,y1
 */

Das ist für das Display von Digole. Das ist ein anderes wie das von SainSmart. Deshalb gehen die Befehle nicht. Habe es schon probiert

Wenn du es sagst. Ich gehe schwer davon aus, dass das Sainsmart ein OEM-digole ist.

davon ging ich eigentlich auch aus, nur leider scheinen die digole kommandos nicht zu funktionieren.

michelj:
den Aufwand das ganze per reverse engineering herauszufinden ists mir dann auch wieder nicht wert...

aber ich habe neben mir das display liegen, welches mir "Test" anzeigt mit folgendem code:
Serial.begin(9600);
Serial.write(0x8A);
Serial.write(0xA8);
Serial.write(0x00);
Serial.write(0x00);
Serial.write(0x04);
Serial.write('T');
Serial.write('e');
Serial.write('s');
Serial.write('t');

das funktioniert so -> siehe anhang

nur eigentlich habe ich ein graphic display gekauft weil ich nicht nur text anzeigen möchte...

I know this is a really old thread at this point, but I am wondering if anyone has figured out any more of the commands. I came across a 1.3" OLED Sainsmart Uart screen not too long ago. And I am able to use the above code to display "test" on the screen. But I haven't been able to get it to do much more.
I've searched the net and haven't come up with anything even close. Maybe someone knows of an archive of Sainsmart products (?) or archive of sainsmart code (?)