PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Grafik- Touchscreen Multifunktionsplatine



franzl
09.10.2008, 21:26
Hallo Leute,

ich habe vor einiger Zeit eine Platine entworfen, die direkt hinter ein Grafiktouchscreen Display montiert werden kann. Es hat sich bei meinen Projekten schon mehrfach herausgestellt, dass ein Touchscreen bei der Eingabe von Werten einfach viel flexibler ist als, eine einfache Tastatur. Deshalb möchte ich mein Projekt jetzt veröfentlichen, denn es könnte ja sein, dass andere Bastler dieses Board für ihre Anwendungen ebenfalls einsetzen können.
Die Platine ist mit vielen nützlichen Komponenten erweiterbar.
Zwei Bilder vom Touchscreen:
http://www.bilder-hochladen.net/files/8dhj-1-jpg.html
http://www.bilder-hochladen.net/files/8dhj-2-jpg.html

Weitere Bilder und Dokumentation findet ihr auf
http://www.rs-products.de/shop/main_bigware_34.php?pName=rsgrafiktouch-atmega128board-bausatz&cName=controllerboards-baus%E4tze&

Über Kritik, egal ob positiv oder negativ, würde ich mich sehr freuen.

mfg franz

Jaecko
10.10.2008, 08:17
*habenwill* (Gibts beim Preis nen Studentenrabatt? *g*)

V.a. der vorhandene "Steckplatz" für ein Funkmodul (RFM12?) macht das Ding ja absolut unabhängig von irgendwelchen Kabeln. Kannst du mal nachmessen, was das Teilchen im Betrieb so an Strom braucht? Dass man schon mal abschätzen/nachrechnen kann, wie lang ein bestimmter Akku hält.

Und was ich jetzt aus der Doku nicht rausgesehen hab: Kann man auf der Platine irgendwo noch recht einfach nicht benötigte Pins vom Controller abgreifen?

EDIT: Was jetzt noch für die eierlegende Wollmilchsau fehlen würde, wär ein SD-Slot, oder falls es vom Platz her nicht mehr hingeht, M2 Micro.

franzl
10.10.2008, 09:47
Hallo,
freut mich, dass dir mein Board gefällt. Also über den Studentenrabatt lässt sich sicher reden, bin ja selbst einer :-). Die höhe der Stromaufnahme hängt am meisten von der Helligkeit der Displaybeleuchtung ab. Diese ist aber mit PWM regelbar. Mein Board ist vollbestückt, und ich messe bei einer Helligkeit bei der das Display gut ablesbar ist 80mA. Bei voller Helligkeit, sprich +5V Hintergrundbeleuchtung braucht das gesamte Board in etwa 145mA. Ich muss allerdings dazu sagen, dass ich alle Bauteile auf meinem Board bestückt habe (Funkmodul, Drucksensor mit OP-Amp beschaltung, Luft-und Temperatursensor, Summer, RS485 Transceiver). Ich denke bei ein bisschen Energiemanagement mit dem Controller ist die Stromaufnahme mit sicherheit noch reduzierbar, vor allem wird man das Board (meine Erfahrung) für den Projekteinsatz nie voll bestücken.
Hoffe ich konnte dir damit weiter helfen.

mfg franz

Jon
10.10.2008, 11:20
Gefällt mir auch sehr gut!
Momentan brauche ich das noch nicht, aber für die Fernsteuerung für IMADEIT-V3 möchte ich ein Touch verwenden. Da wäre so ein fertiges Board ideal.

Wie ist das mit der Programmierung?
Es scheint ja frei gestellt zu sein, welche Programmiersprache man verwendet, da eine ISP Schnittstelle vorhanden ist.
Aber hast du vielleicht ein paar Beispielprogramme mit BASCOM oder C?

Viele Grüße,
jon

P.S.: Würde ich als Schüler auch Rabatt bekommen? :-$

Jaecko
10.10.2008, 11:25
Jo passt. Also nen guten Modellbauakku hin mit z.B. 2Ah und man hat grob 10-15h Laufzeit. Kaufinteresse ist da, is nur noch ne Frage wann.
Hast du zu dem Display nochn Datenblatt, dass man schon mal raussuchen kann, wie man das ansteuert und wie man die Touch-Position ausliest?
(Oder nur mal die Typenbezeichnung)

franzl
10.10.2008, 18:15
Hallo,
@ Jon, also meine Programme hab ich bis jetzt damit immer in C programmiert, da ich mittlerweile alles in C mache. Es währe kein Problem ein Beispielprogramm online zu stellen. Darf dann aber keiner Meckern, dass es nicht gut kommentiert ist :-). Also das Program ist ja aus mehreren verschiedenen c-Datein zusammenkopiert und noch nicht ganz strukturiert. Aber es funktioniert gut. Bei Bedarf kann ich dir mal eins schicken.

@ Jaecko, Datenblatt hier vom Display
http://www.filedealer.com/freeupload/088f9cace1a182b40cf81d8a402fba8c.pdf

mfg franz

Jaecko
10.10.2008, 18:29
KS0108... Wird ja immer besser *g* so'n 128x64-LCD liegt schon rum, nur halt ohne Touch-Fläche. Da kann ich dann alle schon fertigen Routinen verwenden.

Seh ich das richtig, dass die Touchfolie dann nur auf das Display aufgelegt ist?

Und in wie weit ist der Bausatz schon "aufgebaut"? (Stichwort SMD-Teile)
Die normalen Stecker einlöten wäre nicht das Problem; nur der M128 könnte da ein kleines Hindernis werden.

franzl
10.10.2008, 18:44
Also bei dem Display das bei dem Bausatz dabei ist, ist die Touchfolie (ist eine 1mm dicke Glasscheibe) bereits fest mit dem Display verbunden. Der Bausatz ist im Grunde noch gar nicht aufgebaut, bin mir aber sicher da findet sich eine Lösung (Löte ja doch schon 2Jahre SMD und hab schon eine top Ausrüstung).

mfg franz

Jaecko
10.10.2008, 19:16
Naja solange alles dabei ist, sollts kein Problem sein.
Nen SMD-ATMega32 und FTDI hab ich schon draufgebracht.
Im Datenblatt vom M128 seh ich grad, dass da der Pinabstand bei 0,8mm liegt; also mit dem Entlötlitzentrick machbar.

franzl
10.10.2008, 19:18
Ja mit dem richtigen Werkzeug und Technik ist das kein Problem. Wenn du einen FTDI gelötet bekommst ist der M128 ja ein klacks. Bin auch schon auf meinen FTDI gespannt, denn ich möchte eine anbindung an den pc mit RS485 realisieren.
mfg franz

Jon
11.10.2008, 07:24
Hi franz,
ich denke, dass es praktischer wäre, wenn du allen hier im Forum deine Programme (oder auch erstmal eins) zur Verfügung stellst. Auch wenn sie nicht vollständig, bzw. nur sporadisch kommentiert sind, das wird man die 100pro verzeien.

Viele Grüße,
jon

thewulf00
11.10.2008, 14:25
Die Idee, einen Touch anstatt einer Tastatur zu verwenden, ist schon klasse. Aber der Link zu RS führt mich zu einer 70-Euro-Komponente. Da benutze ich lieber weiterhin 50-Cent-Tastaturen.

Jaecko
11.10.2008, 14:41
Naja du vergleichst da den kompletten Bausatz mit ner einzelnen Tastatur. Meine den Bausatz ohne Touch-LCD für ca. 35 EUR gesehen zu haben, also schon mal die Hälfte. Zieht man das Display noch ab, ist die Touch-"Erweiterung" eigentlich schon relativ billig (v.a. im Vergleich mit "fertigen" Displays) aber (stimmt schon) immer noch etwas teurer als ne einfache Tastatur.

Manchmal gehts halt einfach platzmässig nicht mehr, ne Tastatur unterzubringen. V.a. dieses Teilchen hat halt Display und "Eingabegerät" schon auf kleinem Raum drin.

thewulf00
11.10.2008, 16:17
Es ist total der Hammer, keine Frage. Aber für mich als Hobbybastler ist das viel zu teuer.

franzl
12.10.2008, 09:37
Also eine einfache Tastatur kann man nicht mit einem Grafiktouchscreen vergleichen. Es ist natürlich teurer, ist auch logisch, aber wenn man etwas größere Projekte baut, bei denen man vielleicht nicht nur eine Tastatur als Eingabe braucht sondern z.B. Werte anzeigen lassen will ist ein Touch meiner Meinung doch überlegen im gegensatz zu Tastatur und Display. Zumal sich mit dem Touch die Eingabe von Werten viel schöner darstellen lässt, man drückt einfach auf die Stelle an der man etwas eingeben will, dann lässt man ein Tastenfeld einblenden, gibt die Zahl ein und bestätigt um wieder in den vorherigen Bildschirm zurückzukehren. Also ich bin von der vielfältigkeit und dem großen Einsatzbereich des Touch begeistert. Eine weitere Stärke finde ich, dass man wunderschöne Menüsteuerungen mit vielen Bildschirmen realisieren kann. Ist natürlich nicht soooooooo billig, aber wenn sichs ein Student wie ich leisten kann wirds auch nicht unerreichbar sein :-).
ps Beispielprogramm kommt bald, muss nur noch ein Paar Kommentare schreiben und noch ein Paar Fehler beheben.

mfg franz

Jon
12.10.2008, 10:17
Was ist das für ein Funkmodul, für das die Lötpads da sind? Ich kann die Bezeichnung im Schaltplan nicht lesen...

jon

franzl
12.10.2008, 10:22
Ist ein RFM12 das es z.B. beim Pollin zu kaufen gibt. Mit dem Modul ist senden und empfangen möglich.

franz

Jaecko
12.10.2008, 17:26
Nochn Tip: Die RFM12 gibts bei Ebay grad recht billig (4,99 pro Stück) fürn 868MHz-Bereich.

Noch ne frage: Könntest du von dem Schaltplan noch ne Version reinstellen, bei der man die Pinnamen noch lesen kann? In der Doku-PDF ist das bissl schwierig.

franzl
12.10.2008, 18:45
Also ich hab die Auflösung des Bildes in der Pdf erhöht, ich kanns jetzt lesen :-). Aber Danke für den Tipp, ist mir gar nich aufgefallen davor.

mfg franz

Jaecko
12.10.2008, 19:03
Perfekt. Thx. Sind sogar noch ein paar wenige Pins frei. Nen Debugger für JTAG hab ich eh nicht, also lassen sich da schon mal 4 mehr verwenden.

Seh ich das richtig, dass das Display nur mit den beiden ADC-Kanälen ausgelesen wird? Also dass abwechselnd die X/Y-Achse über PC6/7 versorgt und ausgelesen wird?

Von LedSee wird ja noch so ein Controller mitgeliefert, der die Positionsdaten für den SPI-Bus aufbereitet. Der ist ja dann an sich überflüssig.

franzl
12.10.2008, 19:20
Ja der Touch wird mit den Beiden ADC Kanälen ausgelesen, da ich dafür nicht extra den Controller verwenden wollte, um den Aufbau und das Programm möglichst einfach zu halten.
mfg franz

vajk
14.10.2008, 10:27
Tipp: man nehme ein Navi, z.B. GoPay PNA315 für 70 Euro mit 3,5" TFT inkl. Touch .. und schaue mal nach, ob das nicht als TFT+Touch als Bauteil-Quelle dienen kann ....

Stromi
14.10.2008, 13:12
Oder hier:
http://www.ipsymcon.de/forum/f19/touchscreen-display-128x64-rs232-1wire-5481/

franzl
14.10.2008, 17:31
Ein kleines Beispielprogramm befindet sich nun auch auf der Seite
http://www.rs-products.de/shop/main_bigware_34.php?pName=rsgrafiktouch-atmega128board-bausatz&cName=controllerboards-baus%E4tze&

mfg franz

Stromi
14.10.2008, 17:51
Hallo Franz,
ich würde mich nur für die Platine interessieren, gibt es die auch einzeln?

franzl
14.10.2008, 17:57
Ja, die kann man einzeln bestellen.

Jaecko
15.10.2008, 07:29
Nochmal ne Frage von mir: Wie "genau" ist denn die Positionsauswertung?

Aufgeteilt auf 2 Bereiche:

#1) Hast du schon mal versucht, wie klein die "Tasten" sein dürfen, um sie z.B. mit so nem Palm-Stift noch einzeln bedienen zu können?
Hintergrund: Ob man da auf dem Display dann nicht auch ne alphanumerische Tastatur verwirklichen könnte.

#2a) Wiederholgenauigkeit: Drückt man 10x auf eine der "Tasten" (Grösse etwa wie auf den Bildern in der PDF), wird dann auch 10x diese Taste und keine andere erkannt?

#2b) Oder anders gefragt: Wenn man nun nicht "normal" draufdrückt, sondern langsam, wird bei Kontakt dann sofort der richtige Wert angezeigt oder steigt dieser erst an, je nach dem wie stark man drückt?

franzl
15.10.2008, 14:45
zu 1) Also die Positionsauswertung ist Pixelgenau, ich hoffe das beantwortet die Frage. Dürfte also mit dem Stift kein Problem darstellen.

zu 2) Also die Tastenerkennung funktioniert gut wenn man eben mit normalem Druck und Geschwindigkeit drückt. Du hast allerdings recht das bei langsamen drücken Fehler auftreten, die allerdings an dem physikalischem Aufbau des Touch liegen. Meiner meinung nach ist es aber normalerweiße möglich dies Softwareseitig zu unterbinden, indem man den Wert mehrfach überprüft und erst nach einer bestimmten Anzahl an identischen Werten die Taste als gedrückt ansieht. Ich muss allerdings sagen, dass ich mit der Auswertung sehr zufrieden bin, denn Fehler sieht man ja durch das Invertieren beim drücken sofort und bei normalem Druck treten diese so gut wie nie auf.
Hoffe ich konnte die Fragen ausreichend beantworten.
mfg franz

Jon
15.10.2008, 15:57
Cool! Das heißt ja, das man im Display eine vollständige Buchstaben Tastatur unterbringen könnte, die dann mit einem Stift verwendet werden kann!
Ich glaube, das Teil wird immer mehr etwas für mich! :-)

jon

franzl
15.10.2008, 16:07
Ja, wenn man das Display mit einem Stift bedient ist das sicher möglich.

Jaecko
15.10.2008, 16:11
Perfekt... nur noch warten bis am Monatsende wieder bissl $$ aufs Konto kommt, dann werd ich mal bestellen.

Jon
15.10.2008, 16:26
Hast du es gut. Wenn ich nicht irgendwo her Geld aus dem Nichts bekomme, muss ich noch etwas länger warten.
Und dabei habe ich gerade so große Lust, mich mit nem Touch zu beschäftigen!

jon

Jaecko
24.10.2008, 20:40
So, hab das Teil jetzt mal bestellt.
Im Anhang ist auch schon mal ein erster Teilentwurf für die Tastatur auf nem anderen 128x64-LCD. Was hier noch fehlt sind rechts Schaltflächen für OK/Zurück, Gross/Klein, Umschalten auf Sonderzeichen; ebenso kommt oben auch noch ein String hin, der die bereits eingegebenen Zeichen anzeigt (bzw. anzeigen soll)

(Spiegelt etwas, aber kommt von der Plexiglas-Schutzplatte; da man hier doch mehr sieht, als bei der eigentlichen Schutzfolie.)

Jon
24.10.2008, 20:47
Hi,
sieht doch schon mal sehr gut aus!
Macht es eventuell Sinn, die Tasten so wie beim iPod/iPhone anzuordnen?
Ich finde, dass man mit dieser Tastatur sehr gut und schnell schreiben/tippen kann, deswegen mein Vorschlag.

jon

Jaecko
25.10.2008, 16:55
Meinst du da die Anordnung, dass die Tasten nicht direkt untereinander sind sondern versetzt? Ich habs halt nur deswegen so gemacht, damit ich dann am Rand keine "halben" Tasten verschenk. Mal abwarten, bisses da ist und dann einfach ausprobieren, was in der Praxis besser ist.

Wenn mir mal extrem langweilig ist, könnt ich ja auch mal ne Handschrifterkennung reinbasteln.

Jon
25.10.2008, 18:37
ich meine die Reihenfolge der Buchstaben.
Die ist wie bei der PC-Tastatur.

jon

Jaecko
25.10.2008, 18:56
Naja, isse ja bei mir auch. Aber bringt mich auf die Idee, das man das Layout einfach wählen kann. Alphabetisch, QWERTZ und evtl noch QWERTY.
Ich bastel einfach mal die ganzen Routinen und stells dann hier rein. Sicher für andere auch brauchbar.

Jaecko
01.11.2008, 17:15
Also ich hab das Teilchen erhalten und schon aufgebaut.
Bin jetzt gerade dabei, die Touch-Position auszulesen. In Verbindung mit den defines aus dem Testprogramm (SENSE_X, SENSE_Y) gehts zwar schon, nur würd ich gern noch verstehen, was da genau wie gesetzt wird.
Habt ihr für das Touch-LCD irgend ne Art "Ersatzschaltbild"?
Irgendwie widerspricht sich die Funktionsweise mit meiner Denkweise; also dass ich mit PC6/7 jeweils nur eine "Achse" einschalte und dann diese mit PF0/1 auslese.

Und noch zur Überprüfung: In welchem Bereich sollten sich die ADC-Werte in etwa bewegen?

Stromi
02.11.2008, 12:40
Die X-Widerstandsfläche wird an Betriebsspannung gelegt.
Also zB 5Volt an den Anfang und GND an das Ende der X-Widerstandsfläche.
Dann wird einfach die Y-Widerstandfläche an den AD-Wandler gelegt und ausgemessen.
Ist ev. noch eine Beruhigungszeit drin, dann wird die andere Fläche genauso ausgelesen.

Da ist ein Bascom-Programm drin.
http://www.ipsymcon.de/forum/f19/touchscreen-display-128x64-rs232-1wire-5481/
Wenn man die genauen Pixel haben will, muss man den Ad-Wandlerwert vom Widerstandsanfang und Widerstandsende messen.
Die Differenz geteilt duch die möglichen Pixel. So bekommt man den AD-Wert, der für jeden Pixel erreicht wird.
Für die X-Achse:
Beispiel Ad-Wert am Ende 960 - 130 am Anfang = 830.
830/128= 6,48 pro Pixel eines 128 x 64 Display.
Das heißt, wenn ich zB. auf Pixel-Pos 20 bin habe ich 20x6,48 +130(AD-Anfangswert) = AD-Wert (für Pixelpos.20), ist also ungefähr 260.
Alles bei einem 10Bit-Ad-Wandler.

franzl
02.11.2008, 12:49
Hallo,
ich hoffe ich kann mit meiner kleinen Zeichung ein paar Verständnissprobleme aus der Welt schaffen.
http://www.rs-products.de/Produkte/RS-Grafiktouch_Atmega128/Touch_Auswertung_Ersatzschaltbild.bmp
Ich hoffe das Bild erklärt mehr als Worte, falls es doch noch Fragen dazu gibt versuche ich sie natürlich zu beantworten.
mfg franz

Jaecko
02.11.2008, 14:45
Thx. Jetz isses klar. Da hats nur irgendwie gefehlt, dass man ja am Berührpunkt ne Art Spannungsteiler hat.

Aber nicht schlecht das Teil. Vor allem isses kleiner als erwartet *g*.
Der Aufbau war an sich auch relativ problemlos (Auch mit ner Lötspitze in der Grösse eines Phasenprüfer-Schraubenziehers); mir sind aber 2 Widerstände übrig geblieben (10k, 22k), die auf dem Schaltplan sonst nirgendwo mehr eingezeichnet sind. Aber werd die wohl am Spannungsteiler für die Akkuspannung verwenden.

franzl
02.11.2008, 14:53
Ja der 22k und 10k gehören für den Spannungsteiler um die Betriebsspannung des Akkus zu messen.

franzl
06.11.2008, 15:38
Hallo,
@Jaecko: Hast du schon ein kleines Programm am laufen mit dem Board.
Bist du damit zufrieden ?

Jaecko
06.11.2008, 16:16
Also bin damit voll zufrieden.
Was gerade in Arbeit ist, ist so ne Art "Grundprogramm", um per Funk Heizung + Beleuchtung zu steuern. Die Inbetriebnahme des Funkmoduls kommt, sobald ich die Empfängerschaltung fertig hab.
Im Moment bin ich basteltechnisch gerade etwas verhindert, aber bei Gelegenheit stell ich dann mal n'Video rein.

EDIT: Video ist hier: http://www.youtube.com/watch?v=21VjPug47A0

Jaecko
19.11.2008, 07:26
So, also das Teilchen läuft sehr gut.
V.a. der Betrieb per Akku ist auch mit aktiver Hintergrundbeleuchtung über mehrere Stunden möglich.

Nur ich glaub, ich hab noch nen kleinen Designfehler gefunden: Für die Hintergrundbeleuchtung fehlt noch ein Vorwiderstand. Lt. Datenblatt verträgt das Teil nur 250mA; ich hab bei nem PWM-Wert von 16% (0x28 bei 8 Bit) schon ne ausreichende Helligkeit. Bei 100% "blendets" dann schon fast.

franzl
19.11.2008, 16:52
freut mich das es dir gefällt. Also das mit der Beleuchtung müsst schon passen, denn es braucht auch bei +5V viel weniger als 250mA (das ist mehr als die ganze Schaltung benötigt). Im Datenblatt des Displays ist es auch mit +5V gezeichnet und es steht sogar das es bis 6,2V ginge. Hoffe das klärt die Frage, falls es dir zu hell ist kannst du es ja mit der PWM dimmen und sparst Akku.

mfg franz

Jaecko
24.02.2009, 20:36
Sodele... nach langer Zeit mal wieder den Thread entstauben.

Bin gerade dabei, ne neue Version der Software für das Teilchen zu erstellen, damit mehrere Funktionen parallel ablaufen können; so ne Art Mini-Betriebssystem. (In der bisherigen Version kann z.B. nichts anderes gemacht werden, wenn gerade die Temperatur auf ne SD-Karte aufgezeichnet wird.)

Dabei soll dann auch die RTC des DS1629 verwendet werden. Die Kommunikation an sich klappt soweit ganz gut. Problem nur: Die RTC läuft zu schnell... etwa mit 200%, +/- Sprungweise 50%. Quarz ist ein 32768 Hz.

Ist da was bekannt?

Nachtrag: Hab grad eine Merkwürdigkeit am Quarz entdeckt... läuft nur mit 833 Hz...: https://www.roboternetz.de/phpBB2/viewtopic.php?p=427883#427883


Nachtrag 2: Problem gelöst (schlechte Lötstelle)

franzl
25.02.2009, 15:36
Find ich klasse wenn du so ein Programm gemacht hast, ich brauchte das bisher nur nie.