Halli Hallo,
ich hätte heute ein parr dringende Frage bezüglich dem Display
ConnectEVE von Mikromedia
(http://www.mikroe.com/add-on-boards/display/connecteve/)
Leider bin ich aus dem Programmers Guide im Moment noch nicht schlauer
geworden und kann mir im Moment noch nicht richtig erklären wie das
Display funktioniert.
Ich verwende einen Arduino Mega 2560 und habe das Display bereits,
weshalb es für einen Umstieg zu spät ist ..
Hatt irgend jemand schon Erfahrung mit dem Display gemacht oder weiß
jemand ein anständiges Tutorial?
Selbst nach ausgiebigen Recherchen habe ich keine Librarys gefunden wenn
man nicht die Entwicklungsumgebung von mikroe verwenden will, deshalb
meine Frage ob jemand glücklicher Besitzer solcher Librarys ist?
Grüße,
SM
Ich war sicher einer der Ersten, die sich dieses Display zugelegt hat,
weil ich die Entwicklung des Controllers schon von Anfang an verfolgt
habe. Anfangs konnte ich auch gar nichts damit anfangen, weil das
Programmers Guide noch fehlte. Aber seitdem dies sowie einige Beispiele
von FTDI veröffentlicht wurden, habe ich dem Display ein Leben
eingehaucht, auch ohne teure Libraries.
Zugegeben, das Ganze ist etwas kompliziert mit den Display-Lists, aber
wenn man das erstmal raus hat, kann man schon eine Menge mit dem Display
machen. Schau dir mal intensiv die Beispiele an, die ja sogar teilweise
für Arduino existieren (sind schlecht formatiert und wenig
dokumentiert). Ich selber habe das Display an einem LPC1766 (ARM-Cortex
M3) angeschlossen und die Beispiele nur als Vorlage für eigene Routinen
benutzt.
Leider hat MicroElektronika ein sehr schlechtes Display eingebaut, das
wirklich nur senkrecht betrachtet werden will. Sobald man etwas schräg
draufschaut ändert sich der Kontrast derart stark, dass es keine Freude
mehr macht. Ich plane, in nächster Zeit mal ein eigenes Display mit dem
FT800 und besserem Panel zu entwickeln. Die Controller sind ja
inzwischen gut erhältlich. Vielleicht hat ja jemand Lust mitzumachen,
bitte meldet Euch bei mir.
Grüße aus der Hauptstadt,
Erwin
Hi,
ich will das Display auch mit einem Arduino ansteuern. Und die Beispiele
die man runterladen kann enthalten auch Code der auf einem Arduino
ausgeführt werden kann.
Funktioniert auch auf einem UNO.
Leider sind die Beispiel wirklich schlecht strukturiert und
dokumentiret.
Daraus die Initialisierung des Displays und weitere Befehle abzuleiten
ist echt schwer. Kann da leider auch nicht weiterhelfen.
In der Datei ist ein Programm das ich schon auf die Dimensionen des
Displays angepasst habe. Weiter bin ich noch nicht.
Grüße aus Östereich.
David
David schrieb:> In der Datei ist ein Programm das ich schon auf die Dimensionen des> Displays angepasst habe. Weiter bin ich noch nicht.
Es ist gar nicht notwendig, die Dimensionen und Parameter einzustellen,
da die Default-Werte des FT800 genau dem verwendeten Display
entsprechen.
Bei mir leider nicht.
Es war immer nur ein kleiner Auschnit zusehen... also so 320x240 statt
der 480x272 Pixel die das display schafft.
Wie initialisierst du den FT800? Also wie setzt du das um was im
Programmersguide unter 2.2.5 Initialization Sequence erklärt ist.
Das wäre dann der erste Schritt wie man das Display für den Arduino
verfügbar macht.
Ich hab mich mal drangesetzt und die Header-Datei aufgeräumt. Der
Programmierer für FTDI hat wohl noch nie was von Hexzahlen gehört,
geschweige denn von einem übersichtlich formatiertem Sourcecode.
In dem angehängten Archiv befinden sich meine Dateien eve.c und eve.h.
Nicht enthalten ist die SPI-Routine, da diese für fast jeden Controller
unterschiedlich ist.
1
uint8_tSPIO(uint8_t)
In der Main-Routine muß nach der Initialisierung des SPI-Ports nur
einmal
1
EVE_Init();
aufrufen werden.
Wenn danach folgende Sequenz aufgerufen wird, sollte das Display
komplett in Rot erstrahlen.
1
cmd(CMD_DLSTART);
2
cmd(CLEAR(1,1,1));
3
cmd(COLOR_RGB(255,0,0));
4
cmd(DISPLAY());
5
cmd(CMD_SWAP);
Die Routinen setzen voraus, dass ein Display mit 480x272 Pixeln benutzt
wird. Für andere Formate müssen zusätzlich die Größen- und
Timingparameter geändert werden.
Viel Spaß beim experimentieren
Danke zuerst mal für die vielen Antworten! :D
Erwin Reuss schrieb:> Ich hab mich mal drangesetzt und die Header-Datei aufgeräumt. Der> Programmierer für FTDI hat wohl noch nie was von Hexzahlen gehört,> geschweige denn von einem übersichtlich formatiertem Sourcecode.> In dem angehängten Archiv befinden sich meine Dateien eve.c und eve.h.> Nicht enthalten ist die SPI-Routine, da diese für fast jeden Controller> unterschiedlich ist.>
1
uint8_tSPIO(uint8_t)
Was ich noch nicht ganz verstehe ist, wie und wo ich die I/O Ports für
die SPI definiere?
Zudem bekomme ich ganz viele Fehlermelungen, ich glaube jedoch dass es
an dieser Zeile liegt:
1
constuint32_tbootup[]={
2
CLEAR_COLOR_RGB(0,0,0),
3
CLEAR(1,1,1),
4
DISPLAY()
5
};
Der Kompiler meint: ../eve.c:24: error: called object '1' is not a
function
Damit ist wohl die Zeile
Hallo Erwin,
danke für deine kleine Anführung.
Kannst du uns vielleicht einen kleinen Beispiel-Sketch bereitstellen?
Ich bekomm es bei mir auch nicht zum laufen.
Habe folgendes probiert:
1
/*
2
connectEVE mit einem ArduinoUno
3
SPI:
4
13 - SCK
5
12 - MiSo
6
11 - MoSi
7
10 - SS(CS)
8
*/
9
10
#include<stdio.h>
11
#include<Arduino.h>
12
#include<SPI.h>
13
14
#include<eve.h>
15
16
//uint8_t SPIO(unit8_t);
17
18
voidsetup(){
19
EVE_Init();
20
21
cmd(CMD_DLSTART);
22
cmd(CLEAR(1,1,1));
23
cmd(CLEAR_COLOR_RGB(255,0,0));
24
cmd(DISPLAY());
25
cmd(CMD_SWAP);
26
}
27
28
voidloop(){}
Jetzt gibt es noch die Probleme mit dem SPI.
Was habe ich Falsch gemacht???
Hallo David,
ich habe es inzwischen zum Laufen gebracht, eigentlich nur halb so
schwer.
Die eve.h und eve.c kannst du erstmal ganz vergessen.
Ich würde die richtigen Librarys von FT800 verwenden.
Machst du es auch mit einem Arudino? Könnte dir meine Initialisierung
und Testfunktionen geben.
Grüße Sam
Das wäre nett wenn du die mir bereitstellen könntest.
Bin gespannt wie du es gelöst hast.
Hast du auch schon das Touchpad mit einbezogen?
vielen Dank für die schnelle Antwort!
David
der ft800 ist schon recht interessant, wohl auch deshalb weil bei FTDI
voraussichtlich nicht so ein sich ständig änderndes Protokollwirrwar mit
jeder neuen Version entsteht wie bei den vergleichbaren
Konkurrenzprodukten.
Die Ansteuerung erinnert mich ein wenig an OpenGL. Die Versuche waren
schon durchaus brauchbar, aber eine fertige Bibliothek ist hilfreicher.
Eine reine C-Bibliothek war nicht zu finden, also die Arduino-Sourcen
etwas anpassen. Für "luna" wirds wohl scheinbar auch bald was geben:
http://www.youtube.com/watch?v=7xUxovlC5Pc
Hab auch son Teil über Mouser bestellt.
Liegt schon auf der Arbeit bereit.
Noch keine Idee wie ich da dran gehe.
Mmbasic mit nem PIC ( UBW32 ) scheint ein interessanter Ansatz, zumal
das in den Interpreter einfliessen soll.
LUNAAVR ist auch wohl bald möglich.
Ansonsten versuche ich es halt zu Fuß, mit Bascom oder C.
Schaumermal.
habt ihr euch das schon mal angeschaut ?
--> http://excamera.com/sphinx/gameduino2/
hier wird deutlich, wie leistungsfähig der FT800 ist ...
am interessantesten ist die fertige library GD2.h welche dort verwendet
wird
Friedo B. schrieb:> am interessantesten ist die fertige library GD2.h welche dort verwendet> wird
Sieht wirklich sehr interessant aus, jedoch kann ich die gd2.h Library
nirgends zum download finden.
Weiß da jemand bescheid?
"gd2.h" ist keine Library.
Das ist eine Headerdatei.
Ansonsten gilt wohl das hier geschiebene:
http://www.seeedstudio.com/depot/gameduino-2-p-1676.html
Die Library "gd2" (deren Headerdatei Du suchst) ist zur Zeit noch nicht
verfügbar.
Samuel M. schrieb:> Friedo B. schrieb:>> am interessantesten ist die fertige library GD2.h welche dort verwendet>> wird>> Sieht wirklich sehr interessant aus, jedoch kann ich die gd2.h Library> nirgends zum download finden.>> Weiß da jemand bescheid?
Ja,
James (der Autor) schrieb mir dazu letzten Samstag:
> You will be able to buy a Gameduino 2 from your> local distributor in Germany, Watterott,> in a few days time: http://www.watterott.com/>> Yes, I am working on the GD2 library still,> making sure that it really works well - it> is almost ready, and will be available> on excamera.com next week.
Hallo
ich habe das Display auch und probiere es mit einem PIC18F47J13
anzusteuern, doch das Ding bleibt dunkel. Ist das richtig, dass wenn man
die Spannung anschliesst, sich erst mal gar nichts tut? Erst wenn über
SPI die richtigen Befehle kommen, es überhaupt die Beleuchtung
einschaltet?
Du musst den PD - Pin (Power Down) siehe Datenblatt richtig beschalten
und ansteuern. Erst dann wird die Hintergrundbeleuchtung eingeschalten.
Erst nachdem du das Display initialisiert hast kannst du Befehle
schicken.
!Achtung falls dein Controller mit 5V Spannungspegeln arbeitet. Das
Display arbeitet mit 3,3V!
Sam
Danke Sam.
Im FTDI Datenblatt steht zweimal im Text 47k, in der Skizze sind 4.7k.
Was hast du genommen? Ich tippe mal 4.7k macht mehr Sinn? Gemäss
Datenblatt müsste ich auch den INT Pin beschalten (pull-up), richtig?
edit: ich habe jetzt das Display ohne SPI angeschlossen, nur 3.3V sowie
die beiden pullups auf INT und PD. Es bleibt immer noch dunkel. Langsam
habe ich das Gefühl das TFT ist defekt...
Hi,
füt für die Steuerung des connectEVE boards mit einem Arduino nutze ich
jetzt die Biblithek vom Gameduino2. Der nutzt auch den FT800 Chip von
FTDI. Die Library bringt auch noch ein paar andere schöne Funktionen und
Beispiele mit.
Damit hat man eine einfache und fertige Library für den Arduino.
In der Datei GD2.ccp muss nur der Wert:
#define PROTO 1
auf 0 gesetzt werden. Da das Display vom Gameduino seitenverkehrt
betrieben wird.
David schrieb:> In der Datei GD2.ccp muss nur der Wert:> #define PROTO 1 auf 0 gesetzt werden. Da das Display vom Gameduino> seitenverkehrt betrieben wird.
Hast du sonst nichts verändert?
Wo hast du den CS und den PD Pin definiert?
Ohne die Definition dieser beiden Pins kann es doch gar nicht
funktionieren?
S.
Die Pins in der Library sind vordefiniert:
11 in SPI MOSI
12 out SPI MISO
13 in SPI SCK
8 in GPU SEL
9 in SD SEL
2 out INTERRUPT
A2 out ACCEL_Z
A1 out ACCEL_Y
A0 out ACCEL_X
Die Gameduino2 Lib benutzt den Pin8 für den SPI CS.
Die Beispielprogramme von FTDI nutzen den Pin10. Einfach den das
CS-Kabel in den Pin 8 stecken. Der Pin 9 ist für den Anschluss CS eines
SD-Kartenlesers vorgesehen.
Mann kann also mit der Gameduino Library auch ganz einfach eine SD-Karte
und auch einen Beschleunigungssensor auslesen
Bilder unten auf der Seite:
http://excamera.com/sphinx/gameduino2/
Ro R. schrieb:> edit: ich habe jetzt das Display ohne SPI angeschlossen, nur 3.3V sowie> die beiden pullups auf INT und PD. Es bleibt immer noch dunkel. Langsam> habe ich das Gefühl das TFT ist defekt...
Das ist normal: Mann muss erst per SPI sagen: schalte die Beleuchtung
ein...
Also hast du dein Display noch nicht die richtigen befehle benutzt.
Ich benutze die C-Library vom Gameduino2. Die macht es einem echt leicht
das Display anzusteuern!