boxtec Forum
Forum Information => Boxtec Web => : boxtec-support August 19, 2013, 04:25:47 PM
-
Im Rahmen unseres Free 4 Review (http://forum.boxtec.ch/index.php/topic,59.0.html) Programms stellen wir ein E-Ink Display Shield (http://shop.boxtec.ch/ink-display-shield-p-41569.html) von Seeedstudio zur Verfügung:
Wer möchte dieses E-Paper/E-Ink Shield testen und einsetzen und über seine Erfahrungen berichten ?
-
Dieses E-Ink Display würde mich interessieren.
Gerne möchte ich dieses Display testen falls nicht jemand anderes einen Review schreiben will.
Gruss
Thomas
-
Da wäre ich auch dabei.
Gruss
Rainer
-
Danke sehr für Euer Interesse. Wir machen hier eine Ausnahme ohne präjudizierenden Charakter ;D und erhöhen auf 2 E-Ink Display Shields zur Review.
@Rainer: Deines ist per Post unterwegs und wenn heute nichts schiefgeht (http://shop.boxtec.ch/news.php?newsid=51) erhälst Du es morgen.
@Thomas: Wenn es für Dich ok ist, bringe ich es Samstag an den Arduino Workshop (http://www.snowflake.ch/training/arduino-workshop-fuer-fortgeschrittene/) mit.
Wir sind schon sehr gespannt auf Eure Reviews, viel Spass mit dem Shield.
Grüsse - Christoph
-
Christoph,
herzlichen Dank dafür.
Gerne kannst du das Shield an den Workshop mitbringen.
Gruss
Thomas
-
Vielen Dank an boxtec! Shield super schnell erhalten ohne CH-Post Verzögerung.
Wer mein "Unboxing"-Erlebnis miterleben möchte, findet die Fotos dazu unter folgendem Link:
http://www.flickr.com/photos/raavoo/sets/72157635193033371/ (http://www.flickr.com/photos/raavoo/sets/72157635193033371/)
Das E-Ink Display muss ich wohl noch irgendwie am Shield befestigen und der Display-Stecker ist auch mit Vorsicht zu bedienen.
Nun geht es an die Tutorials (Demo 1 und Demo 2) von seeed studio...
http://www.seeedstudio.com/wiki/E-ink_Display_Shield (http://www.seeedstudio.com/wiki/E-ink_Display_Shield)
-
Das Seeed Wiki führt durch zwei Beispiele:
Demo1: displayCharacter
und
Demo2: displayChinese.
Beide Sketchs laufen auf meinem Uno (Rev 3) mit dem E-Ink Shield auf Anhieb und sind einfach modifizierbar.
Die Zeit die für einen "Refresh" benötigt wird ist für mich deutlich erkennbar. Mein erste Eindruck ist, dass vorherige schwarze Bereiche nach einem "Refresh" nicht vollständig weiss werden.
Nun zum ersten eigenen Projekt...
-
Die Benutzung der Seeed Studio E-Ink Bibliothek ist bezüglich der Funktion "Eink.displayChar" einfach.
Für die Darstellung von Buchstaben müssen folgende Schritte durchgeführt werden 1.), 2.), 3.) (siehe unten) mit der Berücksichtigung des folgenden Koordinatensystems:
0,171 <= y(0,0)
II
v
x(17,0)
1.)
Eink.clearScreen();
2.)
Eink.displayChar(x,y,"?");
x(INT8U): the X Startadresse, X: 0 - 14;
y(INT8U): the Y Startaddresse, Y: 171 - 7;
Wähle x,y so dass der Text auch Platz hat und nicht andere Textteile überschrieben werden.
3.)
Eink.refreshScreen();
Resultat siehe wieder:
http://www.flickr.com/photos/raavoo/9632535799/#in/photostream/ (http://www.flickr.com/photos/raavoo/9632535799/#in/photostream/)
Betreffend dem der Funktion "Eink.displayTwoDimensionalCode(x,y)" mehr im nächsten Beitrag...
-
Hallo,
habe seit heute den E-Ink Display Shield. Funktioniert soweit auch am Arduino UNO mit dem DEMO Sketch und der Libary <Eink.h>
Frage 1.
Ich vermisse jedoch eine Funktion mit welcher ich die Grösse der Font und evtl. auch Schriftattributte wie Fett, Kursiv etc. etc. bestimmen kann.
Weiss jemand wie ich auch die Font beinflussen kann?
Eink.displayChar(14,170,'F')
Frage 2.
Die Funktion stellt nur immer ein Zeichen dar. Wie bringe ich ganze Zeicheketten auf das Display?
Gruess
Martin
-
Vielleicht hilft dir folgender Beispiel-Code von mir:
/*
Demo of displaying severals words
*/
#include <Eink.h>
#include <SPI.h>
void setup()
{
SPI.begin();
Eink.clearScreen();// clear the screen
einkPrintCharFunction(1,170,"word1 word2");
Eink.refreshScreen();
}
void loop()
{}
/*****************
Functions
*****************/
/* Print some text at x,y position
x 1-14 ! select position according to text size as well
y 170-7
"text" ! less than 24 letters per row, if started a position y=170
*/
void einkPrintCharFunction(int x, int y, String text){
int textlength= text.length()+1; //number of letters to be printed
char data[textlength]; //define char array of desired size
text.toCharArray(data,textlength) ; //convert string to char
for (int i=0; i < textlength; i++){ //print letter by letter
Eink.displayChar(x,y-(i*7),data);
}
return;
}
-
Buchstaben:
:) Mit der Library von Seeedstudio und der Funktion "Eink.displayChar" bringt man mit wenigen Programmierzeilen einige Buchstaben auf das e-Ink Display.
:( Das Display braucht dann aber selber ziemlich Zeit bis es die Buchstaben nach dem "upload" auch wirklich dargestellt hat.
:( Font und Grösse kann man, meiner Meinung nach, mit der Seeedstudio-Library nicht ändern.
Bilder:
Mit der Library von Seeedstudio und der Funktion "Eink.displayTwoDimensionalCode" kann man z.B. ein QR-Code mit der Pixel-Grösse von 25x32 Pixel darstellen.
:( Allerdings wäre der von Seeedstudio vorgeschlagene Weg, wie man den erforderlichen "Bildcode" generiert, für mich wahrscheinlich nur machbar gewesen, wenn ich einen Chinesischen Zeichensatz auf meinen Computer geladen hätte (siehe Bild unten). Wer diesen Weg ausprobieren möchte, kann die Seeedstudio-Anleitungen mit meinen Übersetzungs-Ergänzungen hier (http://forum.boxtec.ch/index.php?action=dlattach;topic=2295.0;attach=582) herunterladen.
Im Wiki von Seeedstudio schreiben sie zu dieser Lösung folgenden Kommentar: "...My method of getting lattice data is a bit lame.." und unter "Questions und Answers" im Shop findet man die Aussage: "Later,We will update our library for displaying images or text more easier..."
Wir tüfteln also entweder an einer bessere Lösung oder warten...
-
Vielleicht hilft dir folgender Beispiel-Code von mir:
/*
Demo of displaying severals words
*/
#include <Eink.h>
#include <SPI.h>
void setup()
{
SPI.begin();
Eink.clearScreen();// clear the screen
einkPrintCharFunction(1,170,"word1 word2");
Eink.refreshScreen();
}
void loop()
{}
/*****************
Functions
*****************/
/* Print some text at x,y position
x 1-14 ! select position according to text size as well
y 170-7
"text" ! less than 24 letters per row, if started a position y=170
*/
void einkPrintCharFunction(int x, int y, String text){
int textlength= text.length()+1; //number of letters to be printed
char data[textlength]; //define char array of desired size
text.toCharArray(data,textlength) ; //convert string to char
for (int i=0; i < textlength; i++){ //print letter by letter
Eink.displayChar(x,y-(i*7),data);
}
return;
}
Hallo
Besten Dank mal für den Code, das hilft mir mal schon etwas weiter.
Jetzt hoffe ich doch das der Hersteller die Libary noch erweitert damit das an sich tolle Display einfacher zu nutzen wird.
Gruess
Martin
-
Vielleicht hilft dir folgender Beispiel-Code von mir:
/*
Demo of displaying severals words
*/
#include <Eink.h>
#include <SPI.h>
void setup()
{
SPI.begin();
Eink.clearScreen();// clear the screen
einkPrintCharFunction(1,170,"word1 word2");
Eink.refreshScreen();
}
void loop()
{}
/*****************
Functions
*****************/
/* Print some text at x,y position
x 1-14 ! select position according to text size as well
y 170-7
"text" ! less than 24 letters per row, if started a position y=170
*/
void einkPrintCharFunction(int x, int y, String text){
int textlength= text.length()+1; //number of letters to be printed
char data[textlength]; //define char array of desired size
text.toCharArray(data,textlength) ; //convert string to char
for (int i=0; i < textlength; i++){ //print letter by letter
Eink.displayChar(x,y-(i*7),data);
}
return;
}
Hallo, leider funktioniert das Beispiel nicht, gibts eine neuere Version?
Arduino: 1.5.5 (Mac OS X), Board: "Arduino Mega ADK"
sketch_sep03a.ino: In function 'void einkPrintCharFunction(int, int, String)':
sketch_sep03a:35: error: invalid conversion from 'char*' to 'unsigned int'
sketch_sep03a:35: error: initializing argument 3 of 'void E_ink::displayChar(unsigned char, unsigned char, unsigned int)'