Archiv verlassen und diese Seite im Standarddesign anzeigen : 240x128 T6963 LCD mit Touch an ATMega128
digitali
05.08.2007, 20:59
Beim Surfen auf www.mcselec.com stiess ich vor einiger Zeit auf die Appnote #148.
Dort wird beschrieben wie ein KS0108-Display mit Touchscreen unter Bascom angesteuert wird. Kurzerhand dann bei www.ledsee.com ein 240x128 Pixel T6963 LCD mit Touchscreen fuer schlappe 46 EUR geordert.
Ich hatte ja erst bedenken ob dieses jemals bei mir ankommt. Von Shanghai bis nach Deutschland ist es ja ein weiter Weg, auf dem viel passieren kann. Aber am letzten Freitag war's dann soweit. Das Paket wurde angeliefert.
Das Display wurde gut geschuetzt eingepackt. Hat den langen Transport unbeschadet ueberstanden. Dabei war ein kleines Tuetchen mit einem SMD-Connector fuer den Folienleiter des Touchscreens.
Das Basteln konnte also losgehen...
Die relevanten Seiten des PDF's zum Display ausgedruckt und den Loetkolben angeheizt. Etwas Loetstreifenrasterplatine zurechtgeschnitten, drei Wannenstecker und eine Stiftleiste fuer's Display aufgeloetet. Das ging recht fix. Den Folienconnector aufzuloeten war schon kniffliger. Dazu habe ich jeweils zwei Leiterbahnen der Loetstreifenrasterplatine in Laengsrichtung mit einem kleinen Fraeskopf geteilt. So passte der Abstand der Beinchen jeweils auf eine halbe Leiterbahn. Die Bahnen vorverzinnt, etwas zusaetzliches Flussmittel wieder drauf und dann den Connector draufgesetzt. Passte.
Das ganze habe ich mit meinem selbstgebauten ATMega128 Eva-Board (http://www.elektronik-web.de/htm/projekt1.htm) verbunden. Data Port auf Port B, Control Port auf Port C und PF0-PF3 vom Touchscreen auf Port F (Dort liegen ja auch die ADC-Eingaenge).
Die Subroutine, um den Touchscreen einzulesen, habe ich von der Appnote fast so direkt uebernommen. Eigentlich ist das Programm total simpel. Man muss fuer dieses Beispiel nur noch die analogen Werte, die der Touchscreen liefert, in passende X- und Y-Werte fuer's Display umrechnen.
http://www.elektronik-web.de/atmel/t6963_touch/b9.jpg
Ein paar weitere Bilder:
http://www.elektronik-web.de/atmel/t6963_touch
Bascom-Listing: (sicherlich nicht optimal, aber es funktioniert)
$regfile = "m128def.dat"
$crystal = 16000000
$hwstack = 100
$swstack = 75
$framesize = 40
Config Graphlcd = 240 * 128 , Dataport = Portb , Controlport = Portc , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 6
Config Adc = Single , Prescaler = Auto , Reference = Internal
Dim X As Word , Y As Word
Dim X2 As Single , Y2 As Single
Dim X3 As Single , Y3 As Single
Dim X4 As Byte , Y4 As Byte
Start Adc
Cursor Off
Cls
Locate 1 , 1 : Lcd "T6963 mit Touchscreen an ATMega128"
Locate 3 , 1
Lcd "Y-Koordinate analog: "
Locate 4 , 1
Lcd "X-Koordinate analog: "
Do
Gosub Readtouch
Locate 3 , 22
Lcd Y ; " "
Locate 4 , 22
Lcd X ; " "
If Y > 330 Then
Y3 = Y - 346
Y2 = Y3 / 2.89
Y4 = Y2
Else
Y4 = 0
End If
If X > 150 Then
X3 = X - 160
X2 = X3 / 2.78
X4 = X2
Else
X4 = 0
End If
Locate 5 , 1
Lcd X4 ; " "
Locate 6 , 1
Lcd Y4 ; " "
Pset X4 , Y4 , 255
Loop
End
Readtouch:
Config Pinf.0 = Output ' Makes port F.0 output
Config Pinf.2 = Output ' Makes port F.0 output
Set Portf.0 ' Sets port F.0 High
Reset Portf.2 ' Sets port F.2 Low
Ddrf.1 = 0 ' Sets port F.1 as input
Ddrf.3 = 0 ' Sets port F.1 as input because we need it now as ad input
Waitms 20 ' Wait until the port is stable
Y = Getadc(3) ' Read the ad value for the y
Y = 1024 - Y ' Invert the reading
Config Pinf.1 = Output ' Makes port F.1 output
Config Pinf.3 = Output ' Makes port F.3 output
Reset Portf.3 ' Sets port F.3 Low
Set Portf.1 ' Sets port F.1 High
Ddrf.0 = 0 ' Sets port F.0 as input
Ddrf.2 = 0 ' Sets port F.2 as input because we need it now as ad input
Waitms 20 ' Wait until the port is stable
X = Getadc(2) ' Read the ad value for the x
X = 1024 - X ' Invert the reading
Return
1hdsquad
05.08.2007, 22:52
Hey cool, mit dem Stift gefällt mir! Werde demnächst auch ein Display von Ledsee.com kaufen, auch ein Touch.
MFG
darwin.nuernberg
05.08.2007, 23:23
Toll,
darauf habe bestimmt schon viele gewartet.
Ein so gutes Display mit absolut akzeptabeln Preis.
Das sollte Frank mit ins Sortiment nehmen.
Bis dahin werd ich wohl auch nicht warten können.
Da hab ich schon mehr Geld für mehr Blödsinn ausgegeben.
Werd mir mal den Link ansehen, evtl. gibts da ja noch mehr interresantes.
Bei Display3000.com gibt es auch schöne Display's. Auch eine Lib für Bascom ist dabei. Die sind zwar kleiner und ohne Touch dafür aber in Farbe.
Ich weis allerdings nicht warum die ein so großes Geheimiss um die Quelltexte machen.
Hat schon jemand Erfahrungen mit den Display3000 Modulen?
1hdsquad
05.08.2007, 23:28
Jau, die sind gut, bzw billig!
hallo
habe gerade mal geschaut die haben schon interressante sachen im angebot, mal schauen vielleicht werde ich mir da auch mal was bestellen.
das LCD ist auch recht billig.
gruß
patrick
1hdsquad
06.08.2007, 12:19
Hat jemand Frank geschrieben? Die Module von Display3000 würde ich gerne mal testen, aber dazu brauche ich erst das passende Projekt, wie bei sovielen Sachen ;-)
*sabber*
Genau was ich jetzt brauchen könnte.
Ich hätte noch eine Frage. Da ich das Display gerne vor Spritzwasser und Dreck schützen würde, hatte ich vor, eine Plastikfolie darüberzukleben. Beeinträchtigt das die Funktion des Touchscreens?
Ich habe gelesen, dass es idR zwei Platten sind, die durch Druck aufeinandergepresst werden. Dann sollte es ja noch tun. Aber ich bin mir nicht sicher, ob das die einzige Technologie ist oder ob es auch noch Touch-LCDs gibt, bei denen das nicht so gemacht wird.
@digitali: Hattest du nur die IOs vom ATMega direkt am Display benutzt, oder is da noch irgendwo externe HW dran (die für das LCD notwendig ist) wie RAM oä?
EDIT:
http://electronics.howstuffworks.com/question716.htm sagt, dass es meherere Arten von Touch-Dingsens gibt. Kapazitiv würde nach meinem Verständnis durch eine Isolierschicht wie meiner Plastikfolie nicht mehr funktionieren wenn ich richtig denke...
Könnte das jemand kurz mal ausprobieren mit bissle Frischhaltefolie oder so?
1hdsquad
06.08.2007, 12:46
Die Touchscreen bei leddsee sind alle Analog resistive Touchscreens, sie sollten auch mit Folie noch funktionieren, wenn die Folie eben den Druck nicht "aufhält".
Für das Display sind kein externes Ram oder andere ICs nötig, der AVR kann das alles einfach so, siehe hier: http://www.mcselec.com/index.php?option=com_content&task=view&id=189&Itemid=57
MFG
Moritz f.
06.08.2007, 13:02
Hallo,
diese Displays sind ja wirklich heiße Teile!
Glaubt ihr das sich eine Sammelbestellung auszahlen würde? Gibt ja Rabatt drauf.
MfG Moritz
1hdsquad
06.08.2007, 13:05
Nun, das kommt ganz darauf an, wieviele bestellen würden ;-)
Redest du jetzt von leddsee? Wenn wir da 10.000 zusammenkriegen, ja, würde sich lohnen. Bei 5: Nein.
Dann starte doch mal eine Umfrage!
Die Touchscreen bei leddsee sind alle Analog resistive Touchscreens, sie sollten auch mit Folie noch funktionieren, wenn die Folie eben den Druck nicht "aufhält".
Für das Display sind kein externes Ram oder andere ICs nötig, der AVR kann das alles einfach so, siehe hier: http://www.mcselec.com/index.php?option=com_content&task=view&id=189&Itemid=57
MFG
Allerbesten Dank und viele Grüße,
dann is das Ding so gut wie gekauft. Entweder für mein Projekt im Studium oder zumindest für mich privat auch eins zum Spielen ;)
1hdsquad
06.08.2007, 13:14
:D Welches nimmst du? Die App-Note bei mcselec nutzt ja nur das kleine... Vielleicht kann man einen Wikieintrag schreiben?
Das mit dem Wiki wäre eine Idee, da ich, wenn ich das Ding für meine Diplomarbeit benutzen würde, sowieso ne Doku hätte. Ich dachte so an ein mittelgroßes, wie es der Threadstarter benutzt hat. Also nicht gleich die 320x200 oder was das war.
1hdsquad
06.08.2007, 14:16
Okay, das finde ich gut. Poste dann mal den Link, okay?
Ich finde das Projekt geil, da ich auch schon mit dem Gedanken gespielt habe mal mit einem GrafikLCD zu experimentieren, aber immer bezweifelt habe, dass ich so ein LCD mit einem ATMega ansteuern kann.
Ich denke, dass ich mir bei nächster Gelegenheit so ein LCD hohlen werde. Die Ansteuerung scheint wohl recht leicht zu sein, genauso das Auslesen des Tuchpanels.
Wie lange hat es denn von der Bestellung bei LEDSEE bis zur Lieferung gedauert?
jon
digitali
06.08.2007, 18:59
Hallo,
ich hatte das Display am Sonntag den 22.07. bestellt. Am 03.08. kam es bei mir an. Bezahlt habe ich dieses per PayPal. Als Versandweg hatte ich Airmail (unversichert) gewaehlt.
Mit freundlichen Gruessen
Digitali
roboterheld
07.08.2007, 16:14
warum gebt ihr das teure geld aus.
kauft euch bei ebay einen palm m100 oder m105 und es klappt mit der mama.
basic für den palm gibt es als freeware. und schon könnt ihr den palm mit dem atmega(8/16/32 usw) verbinden und befehle über stift und display vom palm an den atemga zum steuern geben.
nur 3 leitungen zum atmega, mehr nicht.
mfg
1hdsquad
07.08.2007, 16:50
Okay, hast du das schon durchgezogen oder einen Link? Es hört sich grundsätzlich nicht uninteressant an, aber erzählen kann man viel, ne?
Ich finde es schöner, wenn man für eine Fernsteuerung, wie ich sie für IMADEIT-V2 bauen werde, ein extra Display dafür hat, das auch neu ist und nicht ein ausgebautes Teil hat, oder gar einen Palm in einer Fernbedienung.
Ich werde mir in diesem Laden mal ein Display hohlen, aber dann gleich die größere Variante.
jon
Ich finde es schöner, wenn man für eine Fernsteuerung, wie ich sie für IMADEIT-V2 bauen werde, ein extra Display dafür hat, das auch neu ist und nicht ein ausgebautes Teil hat, oder gar einen Palm in einer Fernbedienung.
Ich werde mir in diesem Laden mal ein Display hohlen.
jon
roboterheld
08.08.2007, 11:00
....hohlen.....
holen schreib sich ohne "h" in der mitte.
Ja, ja...
Ich bin nicht zu Hause und schreibe hier auf so einer uralten Tastatur, bei der die Tasten etwas klemmen. Wenn ich dann nicht ganz gründlich drüberlese, passiert so etwas.
Mich würde aber eher mal interessieren, wie es kommt, dass ich mich selbst ohne irgendeinen Kommentar zitiert habe :-k
jon
Habe jetzt mal so ein kleines Display zum Testen bestellt. Muss man da die Überweisung als Vorkasse bezahlen oder erst wenn ne Rechnung kommt?
Bei meinem Projekt fürs Studium sind wir leider (oder zum Glück?) davon abgekommen alles von Grund auf zu bauen und benutzen lieber nen PDA anstatt nen schlechten PDA aus Einzelteilen zu bauen, deshalb wirds wohl ne Privatgeschichte bleiben. Wenn ich was hinbekomm geb ich trotzdem was von mir. Kann aber dauern...
darwin.nuernberg
11.08.2007, 09:26
So nun hab ich mir das Display am Mo. bestellt.
Die Überweisung, ist etwas anders als gewohnt, da dies keine Innlandsüberweisung ist, wird ein anderes Überwesungsformular benötigt, welches aber ebenfalls in der Bank zu bekommen ist.
Mal abwarten wie lange das bei mir dauert....
Aber wollen die das Geld nun im Voraus wie bei Ebay, oder kann man das zahlen sobald man dann mal seine Rechnung bekommen hat?
EDIT: Da die Rechnung immer noch auf "Pending" stand, hab ich es jetzt mal überwiesen. Ging zum Glück auch online weil Samstags schafft ja keiner in der Bank :/
Hoffentlich kommt das Teil bald.
darwin.nuernberg
11.08.2007, 10:10
Aber wollen die das Geld nun im Voraus wie bei Ebay, oder kann man das zahlen sobald man dann mal seine Rechnung bekommen hat?
Was bedeutet den Vorauskasse? Häm?
Antwort: "erst zahlen, dann warten, dann kriegen"
Generell gefällt mit die Vorstellung auch nicht erst was zu bezahlen bevor ich was habe.
Kommt auf die Sichtwiese an:
Kundenfreundlich wäre es erst die Ware zu bekommen und dann zu bezahlen.
Lieferantenfreundlich ist die Methode Vorauskasse, gerade bei der derzeitigen Zahlungsmoral.
Alternativ wäre eine Nachnahme möglich, die kostet aber extra und ist, soweit ich weis nur im Innlandsversan möglich.
Aber das ist hier wohl nicht so kritisch,
da ja schon einige hier im Forum bestellt ahebn und ihre Ware dann auch bekommen haben.
Was bedeutet denn Vorauskasse? Häm?
Oh, das muss ich wohl überlesen haben 8-[
Damit wäre es dann wohl eindeutig geklärt :) Sollte wohl besser auf das achten, was in Verträgen und AGBs steht. Das muss wohl heutzutage wohl so sein mit der Vorauskasse. Dachte eigentlich, dass das nur bei Ebay gang und gäbe ist und alle professionellen das nach Rechnungseingang wollen. Aber naja, is wohl schon zu viel Sch..... passiert.
Danke nochmal für die Aufklärung.
darwin.nuernberg
11.08.2007, 12:35
Diese Lösungen, wie ich ´nen Plam zerlegen ist zwar interresant, aber auch das hat seine Nachteile.
Ich hab mal ne Eagle Lib für das Display gebastelt.
Da ich das Teil noch nicht vorliegen habe wäre es Nett wenn mir jemand die Dimensionen abcheckt.
Es ist immer so eine Sache mit dem Datenblatt unf dann der reelen Version.
PS ich werden diese LBR nicht ewig hier stehen lassen,
irgendwann lösche ich meine Anhänge wieder.
Wie angekündigt habe ich diese Lib nun gelöscht.
weiter unten ist eine neuere Version zu finden.
https://www.roboternetz.de/phpBB2/viewtopic.php?p=311381#311381
Eine Frage habe ich gerade noch:
Gehört der Stift (oder wie auch immer man den nennt) zum Display dazu, also wird der mitgeliefert?
jon
EDIT:
Noch eine Frage O:)
Wie erstellt man die *.bgf Bilder, die man auf dem Display anzeigen lassen kann, und die im BASCOM-Programm eingebunden werden?
digitali
13.08.2007, 19:59
Hallo,
nein, beim Display ist kein Stift dabei. :) Ich hatte diesen von meinem PPC genommen. Wollte ja nicht gleich mit nem Kugelschreiber oder so drauf rumkratzen.
Du erstellst Dir mit irgendeinem Grafikprogramm ein neue Bitmap Datei (.bmp). Die kann z.B. genau 240x128 Pixel gross sein. Und schwarzweiss natuerlich. Darin kannste Dich dann austoben.
Diese Datei dann im internen Bascom-Grafikconverter laden. LCD-Type angeben, den Font (6x8) und ein Haekchen bei "uncompressed" setzen. Die Datei dann wieder abspeichern. Am besten im selben Verzeichnis zum aktuellen Projekt.
Und was man dann im Listing angeben muss, steht in der Bascom-Hilfe. Stichwort T6963.
Man kann natuerlich auch mehrere Bilder mit compilieren. Und bei Bedarf waehrend der Laufzeit aufrufen. Z.B. beim Touchscreen eine "nicht gedrueckte Taste" und eine "gedrueckte Taste".
Mit freundlichen Gruessen
Digitali
Danke für die Antwort!
Wo bekommt man solche Stifte einzeln? Ich will nicht gleich einen Kugelschreiber nehmen.
jon
darwin.nuernberg
14.08.2007, 09:36
Du kannst Dir solche Ersatzstifte (Stylus), für PDA's besogen.
http://www1.conrad.de/m/7000_7999/7700/7720/7726/772610_BB_00_FB.EPS.jpg
z.B. in den Telefonabreilungen (Saturn/MediaMarkt/Conrad)
Solche Stifte werden für z.B. Palm, Pocket Loox, MDA/XDA verwendet
3-Stück etwa 9.-- Eur.
Es gibt sogar extravaganzen (Normaler Stift/Stylus-Stift) zusammenschiebbar oder mit Licht. Die Zubehörindustrie ist da sehr erfinderisch)
Zur Not tut es aber auch ein Zugespitztes stückchen Holzrundstab (mit 'nem Bleistiftspitzer angespitzt)
Wenn Du es ganz "sanft" haben willst, es gibt auch Radiergummi in Bleistiftform (anstelle der Mine ist eben der Gummi drin). Den bekommt man im gut sortierten Zeichenbedarf.
Die BGF-Datei kann man mit Bascom erstellen (Tools -> Graphic Converter)
Hat noch niemand meine Eagle - LBR mit dem Original verglichen?
Einfach mal ausdrucken und die Pad's und Dimensionen mit dem Modul vergleichen. Bitte.
Eine weitere Version des Moduls ist wieder verfügbar siehe hier:
https://www.roboternetz.de/phpBB2/viewtopic.php?p=311381#311381
die Vorversion wurde wieder gelöscht.
Dann werde ich mal beim Conrad vorbeischauen. Ist mir lieber als etwas selbstgebautes, das mir recht schnell die Oberfläche beschädigt.
Die BGF-Datei kann man mit Bascom erstellen (Tools -> Graphic Converter)
Ich habs gestern Abend noch ausprobiert. Jetzt warte ich nur noch auf das Display.
jon
darwin.nuernberg
14.08.2007, 10:04
Jetzt warte ich nur noch auf das Display.
Jetzt Rate mal wer noch... :-) (steht leider immer noch auf "pending")
PS: Schu auch mal Hier:
Grafik LCD Testaufbau:https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=16775
Jetzt Rate mal wer noch... :-) (steht leider immer noch auf "pending")
Ich steh auch in der Warteschlange. Vielleicht haben wir den armen Laden überlastet? :P
Wobei ich sowieso noch Hardware bestellen muss bevor ich das Ding dann mal in Betrieb nehmen kann. Muss heute abend mal den Reichelt-Katalog wälzen...
darwin.nuernberg
15.08.2007, 09:23
Also mal was zum Zeitlichen Ablauf:
Bestellt am So. / Mo. (5.8./6.8.)
Überweisung am Fr. (12.8.)
Status Shipped am Di. 14.08. (Mi. 15.8.) Ich hab sogar eine eMail-Benachrichtigung über die Auslieferung erhalten
Ware erhalten am Do. 23.08.2007
http://upload.wikimedia.org/wikipedia/commons/thumb/8/80/Zeichen_392.svg/120px-Zeichen_392.svg.png
Die Briefsendung war als 'Gift' also Geschenk deklariert und wurde per Einschreiben versendet.
Die Bundezollbehörden IPZ FFM haben den Brief geöffnet und kontrolliert (Vermerk/Aufkleber).
IPZ = Internationales Postzentrum, FFM Frankfurt am Main
Der "Brief" war sehr gut gepolstert, so dass das LCD unbeschadet ankam (Luftpolster-Umschlag uns das LCD auch vielfach mit Schaumstofffolie umwickelt.
Auch der SMD-ZF Stecker für das Touch-Screen war beigepackt.
Bis jetzt sind das alles in allem akzeptable Zeiten,
zumal ich mit selbst ja auch Zeit gelassen habe,
klar ist ja auch kein Express-Versand und dazu noch aus'm Ausland.
Ok, dann isses ja gut.
Wenn das mit dem "pending" nichts aussagt, dann kann ich mir das tägliche Nachschauen auch sparen...
Hoffentlich sind ihre Schiffe nicht so stabil wie ihre Brücken..
Jetzt hoffe ich nur das der Dampfer keine Lecks hat und untergeht :-&
Wenn die Teile auf solchen Dampfern transportiert werden, würde ich mir ernsthaft Gedanken machen (Dampfer auf dem Drei-Schluchten-Staudamm).
https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=1818
https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=1817
jon
darwin.nuernberg: Danke noch für die Library.
Aufs LCD wart ich noch aber hab auch mal ne Email bekommen, dass es jetzt wohl "shipped" wäre (Wahrscheinlich von einem LKW, der über einstürzende Autobahnbrücken zu einem Dampfer wie oben fährt, der es dann zu mir bringen soll).
Jetzt wäre es dann wohl schon an der Zeit mal den Reichelt um ein paar Bauteilchen zu erleichtern. Sonst wird es deprimierend wenn das Teil mal da ist und ich nicht alles da hab.
Dieser Schaltplan in der App-Note #148... Gibt es den auch in irgendwie hochauflösenderer Form? Man kann es zwar fast überall erraten was dransteht und beim Rest sollte es mit ein bissle Nachdenken klar werden aber irgendwie isses trotzdem schöner, wenn man sowas lesbar drucken kann.
Auch wenn es ne ziemlich blöde Frage sein könnte: Was ist denn die kleine Schaltung oben rechts auf dem Schaltplan? Ein Transistor, ein Widerstand und ein Bobbel, dessen Schaltzeichen ich nicht kenn. Mein Tabellenbuch gibt auch nix drüber her (is nur Energie- und Industrieelektronik...). Das ähnlichste wär noch ein Summer oder Gong...
"Speaker Alias Portf.7 'Buzzer connected to portf.7, see circuit diagram"
Ok, hatte wohl recht mit meiner Annahme. Wollte schon mein Tabellenbuch verfluchen, dass es mich im Stich lässt mit sowas. Ich kannte alles was Lärm macht nur immer ohne horizontalen Strich und andersrum.
EDIT: Naja, da jetzt alle Schaltungsteile klar sind kann ich mir das Ding auch selber hochauflösend denken bzw wenn ich es wirklich brauche auch zusammenklicken. Es ist erschreckend, wie wenig Technik man braucht um so ein Touchscreen anzuschließen.
Ich hatte mich auch schon gewundert, was das oben rechts sein soll, solange, bis ich im Programm die Anweisung Beep fand. Da wird einem dann schon einiges klarer.
Mich wundert aber wirklich, dass es den schaltplan nur in so einer schlechten Auflösung gibt. Eigentlich geben die CAD Programme schon bessere Bilder her. Das Bild sieht so aus, als hätte es mal eine höhere Auflösung gehabt und wurde dann aus unerklärlichen Gründen mit Paint verkleiner. Mit Paint, das das Programm immer wieder das Kunststück zustande bringt die Ränder beim Verkleinern verschwimmen zu lassen. Eigentlich sollte man doch denken, dass die dann schärfer werden oder wenigstens so scharf wie beim Original bleiben.
Aber was osllst, man kann wenigstens so einigermaßen gut erraten, wie man das LCD anschließen muss.
Viele Grüße,
jon
P.S.: Hab mittlerweile auch schon so eins bestellt, mich würde jetzt aber noch interessieren, wie hoch die Widerstände beim Touchscreen sein müssen. Eine kleine Absicherung wäre mir schon lieb, da ich gerne mal kleine Fehler mit verheerenden Folgen mache.
Ich glaube, da eine 100 bei den Widerständen erkennen zu können. Würde mich aber da jetzt nicht darauf festlegen wollen :|
1hdsquad
17.08.2007, 21:03
Wie wärs wenn jeman mal einen Wiki-Eintrag macht über die Anbsteuerung von graphischen LCDs? Mit hochaulösendem Plan etc...
Werde gerne was schreiben wenn dann mal ein Plan funktioniert hat. Aber bis jetzt hab ich weder das Display, noch einen großartigen Plan erstellt. Bin grad in der Diplomarbeit und ziemlich beschäftigt. Hoffe aber trotzdem, dass ich mal ein bissle Zeit nebenher fürs Hobby finde und wenn dann alles geklappt hat, dann isses nicht schwer mal was zusammenzuschreiben und ein Bild anzuhängen, auf dem man auch was erkennen kann.
Kann mir jemand sagen, ob diese 7372800 Hz was zu bedeuten haben (also im Sinne von "ich brauch unbedingt diesen Quarz, sonst stimmt mein Timing fürs Display nicht"?) oder ob der Mensch, der das Ding gebaut hat, einfach so einen übrig hatte und ihn deshalb nahm? Weil wenn es nix ausmachen würde, dann würde ich wohl lieber den 16MHz nehmen, der hier noch in meiner Kiste wartet anstatt mir einen neuen zu kaufen.
Ich denke mal, dass du jeden Quarz nehmen kannst, sonst würde das ausdrücklich in der BASCOM-Hilfe stehen.
jon
digitali
17.08.2007, 22:42
Hallo,
die Reihenwiderstaende fuer PF0 - PF3 vom Touchscreen haben jeweils einen Wert von 100 Ohm.
Und der ATMega128 - den ich hier zur Ansteuerung verwendet habe - wird mit nem 16Mhz Quarz getaktet. Man darf nicht vergessen, es handelt sich um ein T6963-Display. Das ist nichts besonderes. Ich denke da kann man vom internen 1Mhz Takt bis hin zum externen 16 Mhz alles benutzen. Das ist wohl eher unkritisch.
MfG Digitali
darwin.nuernberg
25.08.2007, 13:21
So ich habe mein Display von der Post abgeholt.
auf den ersten Blick
JA ES IST UNBESCHADET ANGEKOMMEN
Ware erhalten/1. Zustellung am Do. 23.08.2007
http://upload.wikimedia.org/wikipedia/commons/thumb/8/80/Zeichen_392.svg/120px-Zeichen_392.svg.png
Die Briefsendung war als 'Gift' also Geschenk deklariert und wurde per Einschreiben zugestellt.
Die Bundezollbehörden IPZ FFM haben den Brief geöffnet und kontrolliert (Vermerk/Aufkleber).
IPZ = Internationales Postzentrum, FFM Frankfurt am Main
Der "Brief" war sehr gut gepolstert, so dass das LCD unbeschadet ankam
(Luftpolster-Umschlag uns das LCD auch vielfach mit Schaumstofffolie umwickelt).
Auch der SMD-ZF Stecker für das Touch-Screen war beigepackt.
Grmpf...
Noch nix da...
Naja, das zwingt mich wenigstens in der Planungsphase zu bleiben bis endlich was kommt. Hab mich endlich mal mit Eagle beschäftigt und hab jetzt wahrscheinlich immernoch genug Zeit die fehlenden Teile zu bestellen bis das Teil ankommt.
Wann is denn dein Status auf "shipped" gegangen? Bei mir kam am 15. die Email mit "your order ...blah... shipped". D.h. 8 Werktage seither. Kann wohl noch dauern aber ich erwarte schon, dass ich nächtes Wochenende was zum Spielen hab.
darwin.nuernberg
25.08.2007, 14:01
Wann is denn dein Status auf "shipped" gegangen? Bei mir kam am 15. die Email mit "your order ...blah... shipped". D.h. 8 Werktage seither. Kann wohl noch dauern aber ich erwarte schon, dass ich nächtes Wochenende was zum Spielen hab.
Also ich habe die Mail
New Status is:
__________________________________________________ __________
Shipped
__________________________________________________ __________
am 14.08.07 16:52:06 Uhr erhalten,
Bestellt am So. / Mo. (5.8./6.8.)
Überweisung am Fr. (12.8.)
Status Shipped am Di. 14.08. (Mi. 15.8.) Ich hab sogar eine eMail-Benachrichtigung über die Auslieferung erhalten
Ware erhalten am Do. 23.08.2007
Also zw. Überweisung (Einreichung bei der Bank) und dem Statuswechsel sind dann nach Albert Einstein 2 Tagevergangen (ohne Berüchsichtigung der Zeitwerschiebung / Datumsgrenze)
Und zwischen Zahlungseingang und erhalt der Lieferung sind es dann wieder 9 Tage geworden.
Es hätte mich nicht gewundert wenn es doppelt so lange gedauert hätte.
Alles in allem sind 11 Tage eigentlich ganz akzeptable Zeiten.
PS: Ich hab gerade mal grob meine EAGLE-LIB Kontrolliert,
also die V2 sieht garnicht so schlecht aus.
Lediglich bei den Montagebohrungen (oben) bin ich mir nicht ganz sicher,
das könnte aber auch am Ausdruck (Papier hat sich etwas gewellt) liegen.
Hmmm... Ok, also ich hab es am 6. oder so bestellt, am 11. bezahlt und (dein Kalender geht falsch... 12.08. war ein Sonntag ;)) Ok, könnt so passen. Hat bei mir dann auch noch 3 Werktage von der Überweisung bis zur "shipped"-Meldung gedauert. Ab da sollte es ja dann - falls es so wie bei dir klappen sollte - noch vielleicht bis nach diesem Wochenende dauern. Ok, das kann man echt abwarten. Auch wenn ich gierig bin das Ding endlich zu haben. Die Zeiten sind echt in Ordnung.
Dann werd ich heut wohl ne Reichelt-Bestellung rausjagen. :) Sonst wart ich nächstes Wochenende dann auf andere Kleinigkeiten.
PS: Ich hab gerade mal grob meine EAGLE-LIB Kontrolliert,
also die V2 sieht garnicht so schlecht aus.
Wie erstellt man denn eigentlich seine eigene Lib von einem Bauteil, das es so noch nicht gibt? Hab mal einen Eintrag in die Wiki-Wunschliste heute hinterlassen. Das würde mich echt mal interessieren. Hast du für das LCD ein vorhandenes Bauteil editiert das ungefähr gleich war oder hast kann man mittels irgendeines Editors da Bauteile erstellen mit Beschriftung und Form und allem, was so dazu gehört?
Obwohl EAGLE mit umfangreichen Bibliotheken geliefert wird, werden Sie früher oder später an der Definition eigener Bauteile nicht vorbeikommen.
Mit dem vollständig integrierten Bibliotheks-Editor ist das eine leicht Aufgabe.
Sie besteht aus den drei Schritten:
+ Symbole zeichnen
+ Gehäuse zeichnen
+ beides in einem Device zusammenfügen
Hmmm... Ein tutorial im RN-Wissen könnt glaub trotz allem nicht schaden. Eine leicht(e?) Aufgabe ist es für Anfänger trotzdem nicht.
EDIT: Ok, hab mal was geschrieben... Is aber weder überragend, noch komplett.
https://www.roboternetz.de/wissen/index.php/Bauteil_selber_erstellen
darwin.nuernberg
26.08.2007, 15:15
Es gibt eine Einführung als PDF bei Cadsoft:
ftp://ftp.cadsoft.de/eagle/program/4.16r2/tutorial-ger.pdf
ftp://ftp.cadsoft.de/eagle/program/4.16r2/manual-ger.pdf
Der Rest muss man sich selber beibringen,
am besten man kopiert sich eine Lib und "bastelt" damit herum.
Ich habe mit das Bauteil komplett selbst erstellt unter Zuhilfenahme des Datenblattes.
- Erst mal eine neue Lib erstellt,
- dann ein neues Package erstellt
- Den Raster entsprechend umgestellt (mm)
- Dann erstmal das "Outline" un die Pad's erstellt
- Symbol gezeichnet
und die beiden dann als Device zusammengewurstelt.
Im Symboleditor ist es allerdings nicht möglich zwei gleiche Pins mit gleichem Namen zu vergeben, also bekommen die einen Zusatz (z.B. VCC@1 und VCC@2 beide als PWR Im Schaltplan sieht man dann nur VCC) im Device werden die dann jeweils einem PAD zugeordnet (connect).
EDIT:
Achja nochwas: Du kannst auch zwei Symbole in einem Device zusammen verweden. z.B. VCC und GND (beide PWR) als seperate Symbole und z.B. ein TTL-Gatter.
Die Power-Symbole stellst Du im Device den Add-Level auf Request, dan werden die nur auf Anforderung (invoke) im Schaltplan gezeichnet.
Im Device musst Du wieder die Zuordnung von PAD und Pin richtig verbinden. Jetzt werden Im Schaltplan die Power-Planes garnicht gezeichet aber im Layout dennoch berücksichtigt. (Schau Dir doch Mal die TTL-Library 74ttl-din.lbr an).
Eine leicht(e?) Aufgabe ist es für Anfänger trotzdem nicht.
Alles halb so Wild, je nachdem wie Detailgenau das ganze werden soll (blos nichts übertreiben). Wenn man erst mal die Grundlagen hat ist der Rest doch ziemlich einfach, Aufwand ist es dennoch, besonders je mehr Pins das ganze Teil hat.
Man sollte sich auf jeden Fall immer einen Ausdruck mit dem Echten Bauteil vergleichen, um sicher zu stellen dass auch wirklich alles passt.
Obwohl EAGLE mit umfangreichen Bibliotheken geliefert wird, werden Sie früher oder später an der Definition eigener Bauteile nicht vorbeikommen.
Tja das kommt, zumindest bei mir, häufiger vor als gedacht.
Manchmal ist das selber erstellen sogar schneller als nach einem Passenden Device zu suchen, dass dann auch noch kontrolliert und ggf. geändert werden muss.
Klarsoweit?
Cool, könntest du ein bissle auf meinem neu angelegten RN-Wiki-Artikel mit dem Wissen wüten? Ich hab bissle was zusammengepfuscht aber da ich vorgestern das erste Mal überhaupt mal Eagle benutzt habe, konnte ich halt nur mal den generellen Ablauf reinschreiben. Du scheinst mehr Erfahrung damit zu haben.
Irgendwie sind alle Files vom Cadsoft FTP bei mir nicht verfügbar :/ (Error 404)
1hdsquad
26.08.2007, 15:59
So, ist schonmal ein Anfang. Allerdings fehlt noch etwas: Wenn du deine Lib gespeichert hast, kannst du sie direkt verwenden. Du solltest aber in Eagle hinter deine Lib den grauen Punkt durch anklicken grün färben, damit die Lib mit geladen wird.
darwin.nuernberg
26.08.2007, 17:47
Ich will ja nicht motzen oder mosern, hätte es dann selber machen müssen,
aber ein bisschen mehr berücksichtigen hättest Du schon können:
- invertierte Eingänge
- Takteingänge
- Powerpins
- Swaplevel
usw. usf.
Ich müsste das ganze komplett umschmeißen um die Anleitung entsprechend anzupassen, drum lasse ich es.
Momentan ist bei mir eh alles ausgelastet, durm sag ich
"Toll".
1hdsquad
26.08.2007, 18:32
Ich habe ein wenig drin rum"gemurkst" und erweitert, musst mal schauen...
@ darwin.nuernberg: Ich denke, dass er deine genannten Dinge noch nicht kennt, ist ja erst seine erste Lib ;-) Ich habe leider auch keine Zeit, mich mehr darum zu kümmern. Kommt schon mit der zeit, am besten einen Ausbauwunschaufklebergrünesding draufpappen...
Hehe, ich weiß nicht mal, wie diese grünen Aufbauwunschaufkleberdingese funktionieren :P
Ich kam mir auch komisch vor, beim ersten Mal mich gleich anzumaßen jemand anderem Tipps zu geben wenn ichs noch nicht mal selber richtig peil. Aber wenn schonmal was existiert isses manchmal mehr Anreiz für andere was hinzuzufügen als wenn noch gar nix da is.
Und ja, ich kannte besagte Dinger nicht wirklich. Wobei ich mir wirklich nen invertierten Reset überlegt hatte. Naja, kommt Zeit kommt Tutorial... Momentan isses halt mit der Zeit echt so ne Sache. Aber mit dem Problem is man wohl nie allein.
darwin.nuernberg
26.08.2007, 22:13
Jaja,
Zeit ist Geld,
Geld ist Luxus,
und Luxus kann sich keiner leisten. :-b
darwin.nuernberg
27.08.2007, 14:29
So ich hab mal ein kleines Bild erstellt,
welches mit dem Bascom Graphic Converter in ein BGF umgestellt werden kann.
https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=1841
Für diejenigen, welchen 'grad nix schöneres einfällt :-b
1hdsquad
27.08.2007, 16:02
Ohhhh, das ist aber schön *verliebtguck*
:D
Mach mal was richtig schönes zum Staunen!
linux_80
27.08.2007, 16:32
Hallo erstmal,
wollt' nur mal nachfragen, habt ihr das LCD über ebay geholt, oder direkt irgendwo bestellt ?
Denn bei der Beschreibung im ebay steht nix von diesem Stecker, nur vom AD-Wandler :-k
Wenn ich aber nochmal überfliege, bei dem ebay-Teil handelt es sich um eins mit KS0108, hier lese ich T6963, also doch ein anderes :-k
http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=170003104844
PS:
aja, und es ist sowieso grösser, wo hat er denn da wieder hingschaut #-o
darwin.nuernberg
27.08.2007, 20:13
Stecht doch alles da... https://www.roboternetz.de/phpBB2/viewtopic.php?p=304446#304446
www.ledsee.com
darwin.nuernberg
28.08.2007, 07:11
Ich finde keine Beschreibung zu
Ddrf.1 = 0 ' Sets port F.1 as input
Ddrf.3 = 0 ' Sets port F.1 as input because we need
Wenn ich den Prozessortyp auf Mega32 umstelle bekomme ich die Meldung,
dass diese Befehle nicht unterstützt werden,
bei Mega128 jedoch schon.
Was ist das für eine Ding das "Ddrf" ???
Sicherlich lässt sich das auch anders lösen, mit dem Touch,
aber ich würde schon gerne wissen was das ist...
Mir ist schon klar PortF hat der M32 nicht, aber was hat es damit auf sich?
Das ist Data Direction Register für Port F oder war deine Frage eine andere?
Wenn man 0 reinschreibt hat man nen Input, bei 1 nen Output-Pin.
Beim Atmega32 Datenblatt bei mir auf S64f.
Vielleicht funktioniert das auch nicht, mit dem Punkt da auf ein einzelnes Bit zuzugreifen... Ich mach es immer als komplette Hex-Zahl aber es kann auch mit dem Punkt funktionieren :|
PortF scheint beim 128 der ADC zu sein.
Ok, ich hatte jetzt auch grad Probleme zu verstehen, was da im Code passiert. Ich versuch mir das mal herzuleiten. Keine Gewähr auf Richtigkeit...
Config Pinf.0 = Output ' Makes port F.0 output
Config Pinf.2 = Output ' Makes port F.0 output
Set Portf.0 ' Sets port F.0 High
Reset Portf.2 ' Sets port F.2 Low
Ddrf.1 = 0 ' Sets port F.1 as input
Ddrf.3 = 0 ' Sets port F.1 as input because we need it now as ad input
Waitms 20 ' Wait until the port is stable
Y = Getadc(3) ' Read the ad value for the y
Y = 1024 - Y ' Invert the reading
EDIT: Warum werden hier die Ports 0 und 2 auf High bzw. Low gesetzt? Ist das nötig, damit der Touchscreen funktioniert? Gibt es zum Touch auch ein Datenblatt? Ich hab vom Display eines von der ledsee-homepage aber da ist nichts vom Touchpanel dabei soweit ich gesehen habe.[/EDIT]
Dann die beiden (1,3) die man braucht um Y auszulesen als Eingang setzen und den Wert mit Getadc() abgreifen. Hab leider keine Ahnung von Basic...
Was ich hier noch nicht so genau verstehe ist:
Auf dem Bild von Application-Note 128 sieht das Schaltzeichen des Touchpad aus wie ein paar Widerstände. Wenn ich aber Pin 1 und 3 als Inputs setz und dazwischen zwei Widerstände klatsche, wie bekomm ich dann ein Ergebnis?! Oder ist das nur ein Schaltzeichen und spiegelt nicht die Realität wider (sprich: Irgendwo liefert das Ding Spannung)?
EDIT: Oh halt mal... hat dieses Set Portf.0 was damit zu tun? setzt man die anderen Ports als High und Low und schaut dann, wie viel dann bei Pin 3 ankommt?
Blub... Bitte klärt mich jemand auf :-s
darwin.nuernberg
28.08.2007, 17:37
Na wenn, wie irgendwo erwähnt, das Touch "nur" ein Widerstand ist,
welcher sich je nach Position verändert (natürlich für jede Achse seperat),
dann bräuchte man eingentlich nur noch einen zweiten "Vorwiderstand" um einen Spannungsteiler zu realisieren. Der wird dann am Touch abgegriffen und vom ADC ausgewertet.
Wieso so kompliziert gearbeitet wird,
erschliesst sich mir momentan (noch) nicht.
(warum einfach wenn es auch kompliziert geht?)
Wäre dann evtl. auch ein guter "Frostschutz" :-b
Ich stell mir das dann so vor:
_____ _____
(+5V) ----|_____|-----+-----|_____|----- (GND)
R-v | R-touch(X)
|
zum ADC X-Achse
_____ _____
(+5V) ----|_____|-----+-----|_____|----- (GND)
R-v | R-touch(Y)
|
zum ADC Y-Achse
So ein (einfacher) Spannungsteiler funtioniert so
Rv/Rtouch = U1/U2
Anders:
das Verhältniss von Widerstand1 zu Widerstand2 entspricht den an den Widerständen abfallenden Spannungen.
Wenn nun ein Widerstand geändert wird, ändert sich auch die Spannung welche an diesem abfällt.
Die Summe der Teilspannungen ergibt die Gesamtspannung (+5V)
Ich messe einen effektiven Widerstand von 0,8kR bzw. 1.1kR je nach Sensorachse (ohne Touching)
Anschlussreihenfolge am 4-Pol Stecker:
R1a - R2a - R1b - R2b
Wenn ich die beiden Sätze und dieses Bild richtig verstehe;
Touchscreen x read, Set PF0 high and PF2 low and read PF1 or PF3.
Touchscreen y read, Set PF1 high and PF3 low and read PF0 or PF2.
http://www.mcselec.com/images/stories/mcse/an/148/figure5.jpg
kann man wohl auswählen, welchen Layer man ausließt. Bei dem einen bekommt man nur eine negative Spannung, mit der man erstmal nichts anfangen kann, da man diese in eine positive Spannung umwandeln muss, da ein AVR das sonst nicht auswerten kann.
Habe ich das so richtig verstanden? Bin mir nicht ganz sicher, könnte mir das aber so vorstellen.
Viele Grüße,
jon
darwin.nuernberg
28.08.2007, 23:14
Also wir arbeiten nicht mit +5V und -5V sondern mit GND und +5V
Bei den Batterien steht ja auch + und - drauf wobei das - an GND kommt (Potential 0)
Ich sehe das so:
X (+) und X (-) sind auf einer Lage (Layer) der oberen (TOP)
Y (+) und Y (-) sind auf der anderen Lage (Layer) der unteren (Bottom)
Und der Widerstand eines (beider) Layer ändert sich bei Druck je nach Position mehr (+) oder weniger (-).
Wenn man die Layer separieren könne/würde sollten diese auch für sich funktionieren.
Natürlich könnte ich auch total auf dem Holzweg sein,
und ich kann es auch mmt. nicht ausprobieren.
Jetzt könnte man ja einfach Blind das Ding nachbauen genz nach dem Motto "TEchnik ist, wenn es trozdem funtioniert", aler WIR (ich) will ja wissen warum dies wie funtioniert. Außerdem möchte ich mit einem M32 arbeiten und nicht mit 'nem M128.
MANF: Hilfäää
Jemand der weiss, wieviel man wissen muss um zu wissen dass man nichts weiss,
weiss mehr als jemand welcher nicht weiss wieviel man wissen muss um zu wissen dass man nichts weiss.
Wenn man die Layer separieren könne/würde sollten diese auch für sich funktionieren.
By pressing on the screen your making contact between the top and bottom layer.
Ich glaub für sich is jede Folie einfach ein platter Widerstand mit leitender Oberfläche.
http://bigfoot.h0sted.org/planloser_plan.gif
Hmm... das mit den Beschriftungen üb ich wohl besser nochmal. Unten an diesem Ende von R10 liegt GND, oben an R12 +5V. Blöde Kreuze von Eagle...
Ich sah das eher so, dass im Urzustand die gegenüberliegenden Widerstände einfach in Reihe geschalten sind und man so eben keine Spannung misst, da man ja immer die andere Folie an Spannung liegt, die man eben grad nicht am ADC hat (also wenn man x misst, dann liegt y an Spannung und umgekehrt). Sobald dann einer draufdrückt, teilt sich der Widerstand der unter Spannung stehenden Folie auf und wird am ADC-Eingang gemessen (??)
So richtig weiß ichs leider auch nicht...
Wäre auch dankbar für eine endgültige Aufklärung. Muss mich dem Vorredner (-schreiber?) anschließen, dass es schöner ist es auch zu verstehen...
darwin.nuernberg
29.08.2007, 23:56
ACHTUNG HALT STOPP
Wer sagt denn dass diese "AN #148" und das weiter oben aufgeführte Bild auch tatsächlich mit dem hier besprochenen Typ übereinstimmen???
Nicht dass wir uns in da was verrennen, nur weil jeder meint, das dies auch tasächlich die gleichen Funktionen hat.
(Ich habe jedenfalls keinerlei Merkmal, welches das Touch identifiziert, außer dass es eben auf dem Display "pappt")
Aaahsooo... Ich dachte das wäre so O_o
Ok, dann hab ich mich womöglich verrannt, womöglich auch nicht.
Habe gestern nen Zettel im Briefkasten gehabt, dass ich was abholen soll. Hoffentlich ist es das Display und nicht irgendwas anderes. Erstmal nen Blick drauf werfen und dann kann man vielleicht mal vermuten.
Wobei ich schon glaube, dass es sich hier um diesen Typ handelt. Naja, mal abwarten, was die Post so bringt...
EDIT: Ok, hab mein LCD jetzt bekommen. Was ist denn dieser Chip, der mit diesem Connector zusammen in dem Tütchen war oder ist der da aus versehen reingefallen?
"BBADS 7843E"
Muss man den erst auch noch einbauen um es zum Funktionieren zu bringen? Finde leider kein Datenblatt. Ein paar chinesische Seiten findet man zwar, aber da bekommt man dann immer sowas wie "对不起!没有相关资料信息!!!"
Gleich mit drei Ausrufezeichen "Sorry! Es gibt kein passendes Datenblatt!!!"
http://bigfoot.h0sted.org/komischerkaefer.jpg
Irgendwie will ich das Ding nicht löten müssen. Hab grad nur nen Monsterlötkolben.
darwin.nuernberg
30.08.2007, 15:43
Nee bei mir war der nicht extra dabei,
schau mal ob der irgendwo auf dem Modul fehlt ;-)
Ich habe aber auch im anderen (Einstiegs-) Beitrag gelesen dass "nur" der Stecker dabei war.
PS sowas keines hab ich auch (sogar fünfmal) das wird's einem schon beim Layouten warm ums Herz, und ich kann sogar das noch Toppen.
(wenn ich meine Kamera gereinigt habe gibt's auch 'ein Foto)
EDIT: Ich kriegs einfach nicht scharf, da muss wohl mein Mikroskop ran....
Nee bei mir war der nicht extra dabei,
schau mal ob der irgendwo auf dem Modul fehlt ;-)
Lol, das wär die Härte...
Aber ich nehm an, dass ich das einfach als Gratisbonus bekommen hab (reingefallen).
PS sowas keines hab ich auch (sogar fünfmal) das wird's einem schon beim Layouten warm ums Herz, und ich kann sogar das noch Toppen.
(wenn ich meine Kamera gereinigt habe gibt's auch 'ein Foto)
Sowas kleines hab ich zum Glück nicht. Habs heut mit meiner Zitterhand schon fast beim auf die ESC-Taste legen zerstört :|
Danke für die Aufklärung. Bin ich mal froh, dass ich das Ding aller Wahrscheinlichkeit nach nicht brauchen werd. :)
EDIT: Eine Makrolinse wird wohl mal auf meine Wunschliste geschrieben... Das Foto scharf zu machen war echt ein Problem. Wobei da auch gleich noch ein Stativ dazu muss...
darwin.nuernberg
01.09.2007, 12:24
Also alle meine Recherchen zum Touch Screen scheinen alle auf die selbe Technik hin zu deuten wie bereits beschrieben:
http://upload.wikimedia.org/wikipedia/commons/thumb/8/81/Touchscreen.png/350px-Touchscreen.png
Eine sehr schöne Beschreibung habe ich in der Wikipedia gefunden:
http://de.wikipedia.org/wiki/Touchscreen
---------------------------------------------
Eine andere Beschreibung als "Nur noch Geil" finde ich für dei folgenden Links nicht.
Schaut Euch die Video's an:, es lohnt sich....
https://www.roboternetz.de/phpBB2/viewtopic.php?p=310748
Check This:
Jeff Han's Multi-Touch Sensing (http://www.youtube.com/watch?v=zwGAKUForhM)
http://www.youtube.com/watch?v=89sz8ExZndc&mode=related&search=]Crazy Multi-Input Touch Screen
http://www.youtube.com/watch?v=iaKehq6qsdY&mode=related&search=]iBar - largest multitouch touchscreen
Ich mach mal einen Neuen Thread hierfür auf....
https://www.roboternetz.de/phpBB2/viewtopic.php?p=310748
Ok, also hatten wir das mit dem Touchscreens schon richtig vermutet.
Wow, so ein Multitouch wär perfekt für nen Club. Die Tanzfläche ein Riesentouchpad bei dem alle Füße und Bierpfützen miteinander durch Linien verbunden, und ein Haufen LSD-Druffis auf dem Boden rumliegend mit den Fingern Figuren malen würden :P
W00tage!!
Endlich mal ein Bild!
Hatte vergessen, dass Reset active low ist...
Ausserdem ist das Datenblatt irgendwie blöd, weil RS (Register Select) in der Tabelle als D/I (Data/Instruction) steht. Hatte erst überlegt, warum ich nen Reset machen sollte (wegen RS)... Naja, der Reset kriegt mich immer wieder. Ist wie das erste mal, als ich nen AVR programmiert hatte. Da war auch der Reset dran schuld, dass es nicht tat.
Jetzt muss ich erstmal ne Reichelt-Bestellung losjagen (war bisher zu faul).
Schon lange kein C mehr programmiert gehabt aber Basic wollt ich nicht :)
Jetzt noch ein stolzes Bild:
http://bigfoot.h0sted.org/LCD.jpg
Sieht Klasse aus!
Ich habe meine Reicheltbestellung mit den Teilen, die ich zum Anschließen des Displays brauche schon los getreten. Jetzt warte ich auf die Teile von Reichelt und auf das Display!
jon
Vielleicht kanns ja wer brauchen...
C-Code
(Kritik ausdrücklich erwünscht)
Bisher initialisiere ich nur das LCD, mal das Bild hin und park den µC dann im while(1)
// Project : LCD
// Author : BiGF00T
// Date : 2007-09-02
// AVR : ATMega16 @ 1MHz
//
// Blah :
// - RESET is ACTIVE LOW!!!
/*
CONTROL PORT D: DATA PORT B:
=============== ===============
CSA PD0 DB0 PB0
CSB PD1 DB1 PB1
DI/RS PD2 DB2 PB2
RW PD3 DB3 PB3
E PD4 DB4 PB4
RST PD5 DB5 PB5
-NC- PD6 DB6 PB6
-NC- PD7 DB7 PB7
=============== ===============
*/
#include <avr/io.h>
#define F_CPU 1000000UL // 1 MHz
// DIRECTIONS
#define RIGHT 0
#define LEFT 1
// PINS
#define CSA 0x01
#define CSB 0x02
#define DI 0x04
#define RW 0x08
#define E 0x10
#define RST 0x20
unsigned char Data[]= {
0,0,0,0,0,0,0,0,0,0,240,24,12,14,6,7,7,3,3,3,3,3,3 ,3,3,3,3,7,6,14,14,28,
60,120,240,224,192,0,252,6,6,7,15,15,15,14,14,14,1 4,14,140,252,124,28,4,0,0,0,0,0,192,224,112,56,
56,48,48,60,126,108,108,204,220,220,152,24,24,24,5 6,48,48,48,48,48,48,48,48,48,48,48,48,48,48,240,24 0,48,
0,0,128,192,32,32,48,48,48,48,48,48,48,48,56,56,24 ,24,24,24,24,24,24,24,24,28,28,12,12,12,14,254,
0,0,0,0,0,0,0,0,0,255,193,64,96,48,16,8,140,116,12 ,0,0,0,240,204,66,98,54,28,0,0,0,0,
0,128,225,63,31,0,3,126,192,0,0,0,0,0,0,0,240,252, 131,1,0,0,128,224,56,12,2,1,0,0,0,0,
0,128,128,128,128,128,128,0,192,121,15,1,128,224,1 6,16,16,16,16,24,8,8,8,8,8,8,16,24,15,195,96,176,
152,134,67,64,64,96,32,32,32,32,32,96,192,0,0,0,0, 0,0,0,0,128,128,192,64,64,64,32,32,32,32,63,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,62,3,0,0,0,0,0,0,0 ,0,0,0,0,48,56,120,246,
227,129,0,0,0,0,0,0,31,48,48,16,16,16,16,16,55,63, 191,224,56,12,3,0,0,0,0,192,112,28,6,3,
1,0,192,112,14,1,1,3,3,0,32,60,55,56,56,56,24,24,2 4,248,248,120,24,0,0,0,0,6,3,3,1,1,
0,0,0,0,0,0,0,0,0,0,128,124,3,0,0,0,0,128,127,1,1, 0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,192,124,3,0,0,0,0,0,0,224, 16,32,192,128,0,0,0,0,0,0,
1,7,15,30,248,240,48,12,14,14,14,14,14,14,30,28,60 ,30,147,112,48,0,0,0,0,240,30,3,240,16,24,24,
24,31,25,24,24,24,216,120,120,16,192,64,64,64,64,6 4,128,248,31,29,13,28,60,124,240,224,128,128,64,64 ,32,48,
48,120,120,240,224,192,0,0,0,240,31,0,0,0,0,0,240, 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,192,124,7,0,0,0,0,0,0,128,112, 15,0,0,0,1,3,6,12,240,0,0,
0,0,0,0,0,7,252,0,0,0,0,0,0,0,0,192,56,14,1,0,0,0, 0,224,254,129,144,190,99,32,32,0,
0,0,0,192,56,7,1,224,60,7,1,128,192,112,48,32,96,1 92,0,0,0,0,0,0,1,15,255,248,64,64,128,128,
0,0,0,0,3,15,255,252,240,31,0,0,0,0,0,0,255,255,25 4,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,128,240,112,224,224,192,192,60,3,0,0,0,0,0,0,1 28,240,255,0,0,0,0,0,0,0,192,112,29,7,0,
0,0,0,128,224,62,3,0,0,0,0,0,0,0,248,15,0,0,0,0,0, 0,0,7,7,7,3,1,0,0,0,0,
0,224,60,3,128,120,14,1,0,0,124,227,128,128,0,128, 128,129,231,56,0,0,0,0,0,224,255,128,0,128,128,129 ,
254,0,0,0,0,0,224,63,7,0,0,0,0,0,0,0,15,255,255,24 8,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,255,0,0,0,1,3,3,2,0,0,0,0,0,0,6,7,7,7,7,7,7,7, 7,7,3,128,128,128,192,96,
48,24,12,3,0,0,128,128,128,128,128,128,0,0,255,96, 32,32,16,16,16,16,16,16,240,32,32,32,64,192,128,0,
252,7,192,248,143,0,0,0,0,0,0,3,7,7,7,3,3,129,128, 128,64,96,56,204,135,0,3,3,3,3,1,1,
0,0,0,192,112,30,3,0,0,0,0,0,0,0,0,0,0,255,255,255 ,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,3,2,2,6,4,4,8,8,8,8,8,8,8,8,4,4,4,4,4,6,2,2,34 ,49,29,31,11,12,4,6,
2,2,3,1,1,1,0,0,0,0,0,1,1,3,7,14,0,0,0,0,0,0,16,30 ,17,16,16,16,16,16,16,19,
51,120,15,0,1,1,2,6,4,6,2,2,2,2,2,1,1,1,0,0,0,0,0, 0,1,1,1,1,1,2,34,58,
47,19,17,17,16,24,8,8,8,12,4,4,4,4,4,4,4,7,1,0,0,0 ,0,0,0,0,0,0,0,0,0,0
};
// set a bit of PORT D
inline void set(unsigned char what)
{
PORTD |= what;
}
// clr a bit of PORT D
inline void clr(unsigned char what)
{
PORTD &= ~(what);
}
// send an instruction to the LCD
int writeInstruction(unsigned char data)
{
clr(E);
clr(DI);
PORTB = data;
set(E);
clr(E);
return 0;
}
// send data to the LCD
int writeData(unsigned char data)
{
clr(E);
set(DI);
PORTB = data; // instruction on port
set(E);
clr(E);
return 0;
}
// select one of the two sides
void selectSide(unsigned char side)
{
if(side == RIGHT)
{
set(CSA);
clr(CSB);
}
else
{
set(CSB);
clr(CSA);
}
}
// initialize LCD
int initLCD(void)
{
writeInstruction(0x3f); // DISPLAY ON
writeInstruction(0x40); // SET ADDRESS Y (0-63)
writeInstruction(0xb8); // SET PAGE X (0-7)
writeInstruction(0xc0); // DISPLAY START LINE
return 0;
}
// TEST 0.1
int main (void)
{
char pageAdr = 0xb8;
int col = 0;
int page = 0;
// set pins
// Control Pins (Port D)
PORTD = 0x00; // All Pins are Low
DDRD = 0xFF; // All Pins are Outputs
// Data Pins (Port B)
PORTB = 0x00; // All Pins are Low
DDRB = 0xFF; // All Pins are Outputs
set(RST); // <<---- AAAAAAAAAAARGH, F*** Reset ist Active LOW!!!!!11!1one
selectSide(RIGHT);
initLCD();
selectSide(LEFT);
initLCD();
for(page = 0; page < 8; page++)
{
pageAdr++;
// write the first part of the picture inverted "~"
for (col = 0; col <= 63; col++)
writeData(~Data[(128*page)+col]);
writeInstruction(pageAdr);
selectSide(RIGHT);
// write the second part of the picture inverted "~"
for (col = 64; col <= 127; col++)
writeData(~Data[(128*page)+col]);
writeInstruction(pageAdr);
selectSide(LEFT);
}
while(1)
{
}
return 0;
}
Wie viel kB des Speichers von deinem ATMega16 braucht das Programm?
jon
Size after:
main.elf :
section size addr
.text 422 0
.data 1024 8388704
.bss 0 8389728
.noinit 0 8389728
.eeprom 0 8454144
.stab 876 0
.stabstr 132 0
.debug_aranges 20 0
.debug_pubnames 114 0
.debug_info 714 0
.debug_abbrev 280 0
.debug_line 456 0
.debug_str 172 0
Total 4210
Mann mann mann, kann das auch mal irgendwann untereinander stehen?!
Das ist das, was mir WinAVR beim Kompilieren anzeigt.
4,21 kB ist für so ein recht großes Bild noch akzeptabel. Da kann man dann nur nicht viele Bilder auf den ATMega16 laden...
jon
Naja, ich will ja auch keinen Film abspielen ;)
Später will ich eigentlich gar kein Bild anzeigen. Mehr Zahlen und Buchstaben und die kann man relativ klein machen und wieder verwerten :)
darwin.nuernberg
03.09.2007, 08:49
@grosserfuss:
Was hast Du dir denn da für ein Display bestellt?
sieht ja ganz anders aus....
Ich habe mir gas gleiche wie im Einstiegsartikel bestellt,
bin aber leider noch nicht zum testen gekommen :-(
Nein, ich hab nur das kleine 128x64 geholt... Wollte bei meinem ersten Versuch mit Displays mal klein anfangen. Hab halt alle Bits invertiert, deswegen siehts vielleicht anders aus. Wollte blaue Schrift auf weißem Grund.
So viel anders sieht es finde ich nicht aus. Nur halt ein bissle kleiner. Das Problem war nur, dass ich keine 50€ kaputt machen wollt.
darwin.nuernberg
03.09.2007, 22:30
So, ich hab wieder eine neue Version der LIBrary erstellt,
diesmal ist auch der SMD-Stecker für das TouchScreen mit dabei,
außerden ist eine "abgespeckte" Version des Symbol's dabei,
somit weden die doppelten Pins nicht automatisch verbunden (airwires)
Hmmm.... Wenn mein Display so viel anders is als deins, dann wird mir die Lib wohl nicht viel bringen. Aber der SMD-Stecker wird wohl gleich sein. Danke auf alle Fälle mal. Hab eh vor das Ding nicht direkt auf die Platine zu klemmen sondern mit nem Flachbandkabel zu verbinden. D.h. auf meiner Platine gibt es nur eine 20polige Buchse oder Buchsenleiste.
Hi,
ich spiele auch mit dem Gedanken, mir dieses Display (128x240) zuzulegen. Allerdings habe ich bei meinen elektrotechnischen Fähigkeiten schon fast Gewissheit, dass ich das Display kaputt bekomme, wenn man beim Anschließen an mehr denken muss, als daran die richtigen drähte zu verbinden... :oops:
Könnte vielleicht jemand von denen, die es zum Laufen gekriegt haben kurz schreiben, was sie für zusätzliche Bauteile verwendet haben, um das Display zu schützen, bzw. welche Schutzmaßnahmen sinnvoll wären?
Außerdem würde mich interessieren, ob jemand von denen, deren Paket geöffnet wurde den Zoll nachbezahlen musste, und wenn ja, wie viel. Haben sich die Behörden gar nicht daran gestört, dass dem als "Geschenk" deklarierten Paket eine Rechnung beigelegen hat?
Gruß,
Hepta
Bei mir war es nicht als Geschenkt deklariert wenn ich das richtig gesehen habe. Es war aber vom Zoll gecheckt, deswegen denke ich es wäre denen bestimmt aufgefallen dass da was nicht stimmt.
Schutzmaßnahmen habe ich keine getroffen und ich verheize so gut wie alles. Trotzdem schien dieses Display eine Ausnahme zu sein. Läuft bis jetzt super (ok, hab auch nur mal ein Bild angezeigt, für mehr hat die Zeit jetzt nicht gereicht).
Also bei meinem Display (128x64 Touch) habe ich, wie im Datenblatt beschrieben, einen 10k-Poti benutzt und ansonsten einen normalen LED-Vorwiderstand (glaub die haben um die 470 rum) für die Hintergrundbeleuchtung (könnt wahrscheinlich auch ein bissle kleinerer oder gar keiner hin aber man wills ja wie du schon gesagt hattest nicht gleich kaputt machen.) Ansonsten hab ich keine Bauteile verwendet ausser einem µC und dessen Peripherie.
Warhawky
17.09.2007, 11:32
Hi,
der ADS7843 der dabei ist, ist ein Touchscreen Controller. Er hat 4 ADC mit 12Bit und nen Seriellen Ausgang.
Datenblatt unter: http://www.tranzistoare.ro/datasheets/166/137894_DS.pdf
Gruß Matze
PS: Das BB steht für den Hersteller Burr Brown
thomas55
21.09.2007, 00:18
@Darwin
Die _UG-LCD-ModuleV2.zip hast Du toll gemacht.
Keinen Fehler gefunden.
Einzig das Symbol für den Touchscreen ist riesengross geraten.
Sonst alles super.
Gruss aus Berlin
Thomas
Hi,
der ADS7843 der dabei ist, ist ein Touchscreen Controller.
Danke, das hatte mir in meiner Sammlung noch gefehlt :)
µautonom
21.09.2007, 17:15
Hi, hat jemand das Touch Dipslay mit einem PIC angesteuert?
Mfg
Accenter
11.10.2007, 02:15
Hat schon jemand probiert damit ein Menue zu erstellen wie man es z.B. von den Navigeräten kennt? Mich würde vorallem interessieren ob man es auch mit den Fingern bedienen kann oder ob ein Stift zwingend erforderlich ist.
Der Stift wird nicht dringend erforderlich sein. Es wird auch mit dem Finger funktionieren.
Ausprobieren konnte ich es leider nicht, da ich mein Display immer noch nicht habe.
Aber ich bin mir da ziemlich sicher.
jon
Naja, bin leider grad ziemlich eingespannt, sodass das Display hier mehr oder weniger viel Staub ansetzt (manchmal puste ich ihn runter)... :| Bin noch nicht viel weiter als nach ein paar Tagen. Immernoch Standbild.
Ich hatte mal versucht, Bilder zu wechseln aber wenn ich umschalten will zwischen Bildern, bekomme ich ab und zu Grafikfehler. Muss wohl noch irgendwie was übersehen haben. Vielleicht schreib ich zu schnell in das Ding rein oder setz ne Adresse falsch zurück.
Touchscreen hab ich noch garnicht angerührt. Ohne Stift müsst aber echt machbar sein. Muss ja nur den Druck so ausüben, dass sich die beiden Widerstandsfolien berühren. Mit dem Finger ist vielleicht die Stelle bissle breiter aber das dürft nix ausmachen.
Accenter
17.10.2007, 12:29
Ich hab mir das 240x128 Touchdisplay auch vor einigen Tagen bestellt. Ich möchte damit dann eine Menuesteuerung realisieren mit Tastflächen am Display.
Ein Fingergroßes Rechteck soll dann eine Taste darstellen die beim "drücken" darauf invertiert dargestellt wird. Ich habe allerdings noch keine Ahung ob das mit Bascom zu realisieren ist.
Wenn jamand ähnliches vorhat wäre es toll wenn wir uns hier austauschen könnten.
Wenn du dir das durchgelesen hast, sollte es kein Problem sein: http://www.mcselec.com/index.php?option=com_content&task=view&id=189&Itemid=57
jon
Ich hebe mir auch den 128*64 Display von LEDsee besstellt und ich wollte ihn mit der Bascom librarie ausprobieren doch egal wie ich die anschlüsse einstelle bei dem Befehl COnfig glcd hängt sich mein ATMega16 auf.
Ich vermute die librarie ist beschädigt. Kann mir einer eine nachgewiesen ganze librarie per e-mail schicken???
Meine e-mail Adresse febaschu@aol.com
vielen Dank
MFG Schuster
Weiß jemand, was mit 1hdsquad los ist? Ich habe von ihm nun schon seit 1 1/2 Monaten nichts gehört und warte immer noch auf das Display.
Könnte sich auch mal derjenige bei mir über eine PN melden, der auch noch so ein Display über 1hdsquad bestellt hat?
jon
Accenter
01.11.2007, 02:19
Ich habe heute auch mein 240x128 Touchdisplay bekommen. Leider klappt es mit dem Touchfeld noch nicht wie es soll. Da bei mir keine SMD Buchse dabei war (ich fürchte den hat der Zoll verloren beim rumstöbern in meinem Paket) habe ich auf dieses Folienkabel direkt dünne drähte gelötet.
Im Datenblatt habe ich leider garnichts gefunden bezüglich der Touchansteuerung :-( Ich habe 4x100 Ohm Widerstände zwischen den Atmel und das Display gehängt, so wie hier zu sehen:
http://www.mcselec.com/index.php?option=com_content&task=view&id=189&Itemid=57
Das Display ist auf der X-Achse sehr genau. Auf der Y Achse jedoch liegen die gezeichneten Punkte etwas daneben und das steigt auch an je weiter man nach "unten" zeichnet. Weiß jemand was da los sein kann?
Ich wäre an einer Sammelbestellung interessiert.
Accenter
14.11.2007, 20:57
Ich habe eine Platine für das Touchdisplay erstellt. Würde mich freuen wenn ihr da mal drüber seht, ob ich auch keine Fehler gemacht habe.
Nähere Infos gibts hier in diesem Thread:
https://www.roboternetz.de/phpBB2/viewtopic.php?p=327914#327914
Accenter
17.11.2007, 19:32
Wie genau arbeitet dieses Display bei euch? ich habe leider, dass Problem, dass die Y Achse sehr ungenau ist. Hab natürlich auch schon Anpassungen probiert und alles genau asugerechnet.
Mein Problem:
Wenn ich am Touchdisplay von links nach Rechts fahre, stimmt der Y Wert am Anfang und auch am Ende. Je näher ich zur Mitte des Displays komme umso höher wird die Abweichung. man zecihnet übertrieben gesagt also nen "Hügel" obwohl man gerade von links nach rechts fährt. hab schon andere 100 Ohm Widerstände probiert aber daran lag es auch nicht.
Hat jemand ne Ahnung was da los sein kann?
Hallo,
ist es richtig dass beim Durchgangsprüfen Vcc sowie GND miteinander verbunden sind, also das Messgerät anschlägt? Vielleicht über irgendwelche speziellen Bauteile was ich mir aber nicht vorstellen könnte...
MfG Killer
Hallo leute,
also ich habe ein Problem mit dem Code von der ersten seit:
$regfile = "m128def.dat"
$crystal = 16000000
$hwstack = 100
$swstack = 75
$framesize = 40
Config Graphlcd = 240 * 128 , Dataport = Portb , Controlport = Portc , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 6
Config Adc = Single , Prescaler = Auto , Reference = Internal
Dim X As Word , Y As Word
Dim X2 As Single , Y2 As Single
Dim X3 As Single , Y3 As Single
Dim X4 As Byte , Y4 As Byte
Start Adc
Cursor Off
Cls
Locate 1 , 1 : Lcd "T6963 mit Touchscreen an ATMega128"
Locate 3 , 1
Lcd "Y-Koordinate analog: "
Locate 4 , 1
Lcd "X-Koordinate analog: "
Do
Gosub Readtouch
Locate 3 , 22
Lcd Y ; " "
Locate 4 , 22
Lcd X ; " "
If Y > 330 Then
Y3 = Y - 346
Y2 = Y3 / 2.89
Y4 = Y2
Else
Y4 = 0
End If
If X > 150 Then
X3 = X - 160
X2 = X3 / 2.78
X4 = X2
Else
X4 = 0
End If
Locate 5 , 1
Lcd X4 ; " "
Locate 6 , 1
Lcd Y4 ; " "
Pset X4 , Y4 , 255
Loop
End
Readtouch:
Config Pinf.0 = Output ' Makes port F.0 output
Config Pinf.2 = Output ' Makes port F.0 output
Set Portf.0 ' Sets port F.0 High
Reset Portf.2 ' Sets port F.2 Low
Ddrf.1 = 0 ' Sets port F.1 as input
Ddrf.3 = 0 ' Sets port F.1 as input because we need it now as ad input
Waitms 20 ' Wait until the port is stable
Y = Getadc(3) ' Read the ad value for the y
Y = 1024 - Y ' Invert the reading
Config Pinf.1 = Output ' Makes port F.1 output
Config Pinf.3 = Output ' Makes port F.3 output
Reset Portf.3 ' Sets port F.3 Low
Set Portf.1 ' Sets port F.1 High
Ddrf.0 = 0 ' Sets port F.0 as input
Ddrf.2 = 0 ' Sets port F.2 as input because we need it now as ad input
Waitms 20 ' Wait until the port is stable
X = Getadc(2) ' Read the ad value for the x
X = 1024 - X ' Invert the reading
Return
Wie kann er den PortB als Datenport nutzen , wenn da doch der SCK (Portb.1) hängt?
Mit dem ATMega32 klappt bei mir das ganze nachdem ich ich Ports hin und her getauscht habe. Aber mit dem ATMega128 kriege ich einfach keine Schrift auf das Display!
Jetzt hab ich irgendwo gelesen, dass einer auch das Problem hatte und einfach den PortB als Datenport genommen hat, und siehe da, es geht auf einmal.
Wie hat er das gemacht? Ich brauche doch den Portb.1 als SCK vom Programmer!? Oder?
Alex20q90
01.08.2008, 16:50
Welches Zweck erfüllen die 100Ohm Widerstände am Touch?
wird bei der AN genannt. Ist ein Schutz, falsch man die ADC Pins falsch setzt, dass man dann das Teil nicht zerstört.
jon
Hallo,
ich habe mir auch ein Touch geholt 128x64 aber ich versuche schon eine weile das Display anzusteuern.
Ich hänge immer noch bei dem Bascom Code und zwar kommt eine Fehlermeldung "Label not found (LCD Controlle)".
Was habe ich falsch ich komme einfach nicht mehr weiter ???
MFG
Der Code:
$regfile = "m16def.dat"
$crystal = 1000000
$lib "glcdKS108.lib"
Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = Portc , Ce = 0 , Ce2 = 1 , Cd = 6 , Rd = 3 , Reset = 5 , Enable = 4
'The dataport is the portname that is connected to the data lines of the LCD
'The controlport is the portname which pins are used to control the lcd
'CE =CS1 Chip select
'CE2=CS2 Chip select second chip
'CD=Data/instruction
'RD=Read
'RESET = reset
'ENABLE= Chip Enable
Cursor Off
Cls
Do
Locate 1 , 1
Lcd "Test"
End
Loop
Das Problem scheint der Befehl
Cursor Off
zu sein.
Wenn du den raus nimmst und das
End
hinter das
Loop
schreibst kommt bei mir keine Fehlermeldung.
Viele Grüße,
jon
@ John danke jetzt zeigt es mir keinen Fehler mehr an, da hätte ich auch drauf kommen müssen :Haue
Aber wen ich es auf den Atmega16 ziehe zeigt das Display mir nichts an.
Ich habe auch schon die ganzen Anschlüsse kontrolliert und durchgepipst, sie stimmen.
Habe ich bei der Contrast einstellung einen Fehler, muss man den Anschluss 18(VEE) vom LCD auch an das Poti mit anschließen ???
Hoffentlich habe ich das GLCD noch nicht zerstört :shock:
MFG
Was du vielleicht machen musst, das weiß ich aber nicht sicher, ist, einen Font zu laden. Dafür einfach mal in der BASCOM Hilfe nach Font suchen. da wirst du fündig und wirst eine gute Beschriebung zu dem finden, was du da machen musst.
Den Pin 18 muss man nach dem, was auf der www.mcselec.com zu sehen ist, nicht anschließen.
Viele Grüße,
jon
Jetzt bin ich schon ein Stück weiter es zeigt mir mal etwas auf dem Display an, O:)
ich habe das mit der Font versucht jetzt erscheinen Buchstaben auf dem GLCD aber nicht die wo möchte.
Ich möchte das auf dem GLCD "Test" erscheint aber irgendwie zeigt es mir "Tftu" an. Der Anfangsbuchstabe stimmt immer egal welches Wort ich eingebe aber der Rest nicht.
Habe ich möglicherweisen noch einen Initialisierung Fehler ??
Das mit dem Kontrast habe ich jetzt hinbekommen, ich habe es erst so versucht ohne den Anschluss18 aber es hat sich nichts gerührt erst als ich den Anschluss18 auch noch an das Poti anschloss habe ich den Kontrast einstellen können.
MFG
Ich stelle noch einmal den Code herein:
$regfile = "m16def.dat"
$crystal = 8000000
$framesize = 35
$swstack = 35
$hwstack = 35
$lib "glcdKS108.lib"
$include "font8x8.font"
Wait 2
Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = Portc , Ce = 0 , Ce2 = 1 , Cd = 2 , Rd = 3 , Reset = 5 , Enable = 4
'The dataport is the portname that is connected to the data lines of the LCD
'The controlport is the portname which pins are used to control the lcd
'CE =CS1 Chip select
'CE2=CS2 Chip select second chip
'CD=Data/instruction
'RD=Read
'RESET = reset
'ENABLE= Chip Enable
Cls
Do
Setfont Font8x8
Lcdat 5 , 5 , "Test"
Loop
End
BastelWastel
19.08.2008, 12:59
Lass es doch so, ich finde Tftu ist ein tolles Wort :D
Ne, Spass beiseite,..der Fehler hat System..
..die Buchstaben sind, bis auf den ersten, um eine Position verschoben..
T=T; e=f; s=t; t=u..
Teste mal ob es einen Unterschied bei gross/kleinschreibung macht.
Wenn ein kleines 't' am Anfang auch zum 'u' wird koennte man in der Font suchen, ansonsten Tip ich auf nen fehler in der Lib.
Steinigt mich wenn ich schwachfug red, is nur so'n Tip ins blaue..
warum setzt du denn in der Loop ständig den font neu?
Schreib nach noch vor das cls.
Auch finde ich, ist der Befehl "Wait 2" völlig überflüssig. Vor allem an dieser Stelle. Nach dem "Lcdat 5 , 5 , "Test"" würde ich aber mal eine Pause von mindestens 300ms reinsetzten, mehr, also 500ms wären besser.
Eventuell müsste es auch funktionieren, wenn du die Do-Loop Schleife raus lässt und einfach nur schriebst:
...
cls
lcdat 5 , 5 , "Test"
wait 1
end
Läuft dein µC wirklich auf 8MHz? Verwendest du den internen Quarz? Wenn ja, stell den mal auf 1MHz runter und änder das Programm entsprechend ab.
Das ist jetzt das, was mir an Fehlerursachen einfällt.
Geh das alles mal durch, Schritt für Schritt und berichte dann von deinem Ergebnis.
Viele Glück!
jon
\:D/ Danke für eure Hilfe super Forum,
Jetzt läuft mein GLCD endlich. Ich habe es auch schon geschafft Linien und Grafiken darauf anzeigen zu lassen. O:)
Ich habe die Do-Loop Schleife weg gelassen und den Befehl Wait vergrößert, wen ich die Buchstaben klein schreibe bleibt das Problem immer noch, aber wen ich die Buchstaben Groß schreibe dan zeigt es mir das Wort richtig an.
Großschreibung ist eh viel schöner:-), ich bin jetzt froh des es überhaupt das richtige anzeigt.
Ich habe die Fusebits schon richtig eingestellt auf 8MHz intern, ich habe die internen Quarze alle durch probiert ich finde mit den 8MHz läuft es am besten.
Da das anzeigen von Texten und Grafiken jetzt funktioniert kan ich zu der Auswertung des Touches kommen.
Wen es mit dem auswerten des Touches nicht funktionieren sollte melde ich mich wieder bei euch O:)
MFG
BastelWastel
20.08.2008, 19:40
wen ich die Buchstaben klein schreibe bleibt das Problem immer noch, aber wen ich die Buchstaben Groß schreibe dan zeigt es mir das Wort richtig an
Ich hab leider keinen Plan der lib und font, hatte sowas noch nie in den Fingern.
Aber wenn es nur mit kleinen Buchstaben zu dem Fehler kommt läßt sich das Problem doch schon sehr eingrenzen.
Bauteiltöter
24.10.2008, 15:48
Hallo,
ich werde mir zu Weihnachten auch ein solches LCD für meine Bastelraum-Alarmanlage wünschen. Ich habe aber keine Anschlussbelegung für das LCD gefunden.
Ich würde mich freuen, wenn jemand die Anschlussbelegung nennent könnte, ein Datenblatt verlinken oder die Seitenzahl sagen könnte.
MfG
Bauteiltöter
CARNIVORE
05.12.2008, 13:18
Hi,
habe nun auch ein solches Display (46 €)von Ledsee erhalten. Am 22.11.08 bestellt und am 3.12. erhalten - super verpackt! O:)
Nur bin ich leider etwas irritiert, da es sich scheinbar um ein etwas anderen Typen handelt, als der der hier bisher beschrieben wurde!? Dieses Display hat 34 Pin-Anschlüsse, die im Datasheet auch z.T. anders benannt werden...???
Das Datasheet von Ledsee beschreibt den Typen als: Graphic LCD Display 240*128 ; Model No: LCD240128A ; mit T6963 ; Version 2.0 vom 5.6.2008.
Hat jemand von Euch bereits so ein "neues" 240*128 Display beschaltet? Kann ja jetzt nicht mehr den Schaltplan von evertdekker.com nehmen und möchte es natürlich nicht beschädigen... 8-[
Viele Grüße,
Benny
CARNIVORE
06.12.2008, 12:48
Hi,
nach genauem studieren des Datasheets und anderer, habe ich bemerkt, dass sich dieses neue Touchpanel im Prinzip genauso beschalten lässt... - es hat u.a. nur ein paar für unsere Zwecke unnötige Pins (u.a. Doppelbelegungen etc. ab Pin 22 bis 34).
Also kann das basteln losgehen... O:)
Viele Grüße,
Benny
Bauteiltöter
26.12.2008, 19:47
Hi CARNIVORE,
ich habe gestern auch das gleiche Display wie du bekommen.
Hast du die doppelt belegten Pins einfach freigelassen oder hast du sie auch angeschlossen?
MfG bauteiltöter
CARNIVORE
27.12.2008, 10:50
Hi,
ich habe mich ja erst von den doppelten Pins irritieren lassen, sie dann einfach offengelassen und es klappte.
Nach dem Anschließen dachte ich erst das Display sei defekt, da ich keine Schrift o.ä. erkennen konnte und musste sehr feinfühlig das 10K Poti für den Kontrast einstellen.
Das Display ist wirklich eine feine Sache... O:)
Viele Grüße,
Benny
Bauteiltöter
27.12.2008, 12:36
hi,
ok du machst mir hoffnung ;)
werde berichten, ob es funktioniert hat :)
MfG
Ratman2000
05.01.2009, 18:40
Hallo,
ich hab mir auch ein 128 * 64 von LedSee.com geholt und funktioniert soweit auch super!
Allerdings hab ich ein Problem mit dem Touchpad...
Ich habe alle 4 Pins direkt über 100 Ohm an PA.0 - 3 von einem ATMega32 angeschlossen... Also auf die ADC Pins vom Controller...
Zum Auslesen verwende ich folgenden Code:
Readtouch:
Config Porta.0 = Output
Config Porta.2 = Output
Config Porta.1 = Input
Config Porta.3 = Input
Set Porta.0 'High
Reset Porta.2 'Low
Waitms 20
Y = Getadc(1)
Y = 1024 - Y
Config Porta.0 = Input
Config Porta.2 = Input
Config Porta.1 = Output
Config Porta.3 = Output
Set Porta.3 'High
Reset Porta.1 'Low
Waitms 20
X = Getadc(0)
X = 1024 - X
Return
Mein Problem liegt darin, die ADC Werte in die Pixel Positionen umzurechnen...
Kann mir jemand vieleicht erklären, wie genau ich das anstellen muss?
Und ist es normal, dass der ADC immer irgent einen Wert ausgibt, obwohl man das Touchpad nicht berührt?
Bei X hab ich immer einen Wert von ca 936 der ausserhalb des Berührungs-Bereiches liegt... Das ist also nicht das Problem...
Aber bei Y habe ich einen Wert mittig des Mess-Wertes der nach jeder Berührung auch schwankt...
Ich hoffe ihr könnt mir dabei helfen!
Danke!
MFG
Ratman2000
darwin.nuernberg
30.09.2009, 20:06
So nachdem mein altes schon etws gelitten hatte, wurde kurzerhand ein (zwei) neues LCD ohne touch bei LEDSEE bestellt.
(Ich wart mal bis ich mir einen maXTouch von Atmel abstauben kann, bis zur Embedded World 2010 kann ich noch warten).
Ich dachte ich krieg die Kriese, von Bestellung bis zum Warenerhalt hat's über einen Monat gedauert.
Das war schon grenzwertig, zumal ich auf meine Kontaktversuche zwar eine, aber dennoch späte und spärliche Antwort erhielt, angeblich Probleme mit dem Provider, ich lass das mal gelten.
Dann hats aber immer noch gedauert, bis die Versandmeldung ankam,
und nochmals über zwei Wochen bis die Sendung da war.
Ich hatte die knapp 130 Euro's fast schon abgeschrieben.
(war noch a bisserl mehr dabei ein paar FTDI's wenn die schon nachgeschmissen werden).
Gut wenn's sehr Preiswert sein soll, muss man halt watren können.
Immerhin war alles sehr gut verpackt (die Prinzessin auf der Erbse hätte nix zu Meckern gehabt), wie auch schon das letzte mal erwähnt.
Und der Zoll hat diesmal auch nix aufgemacht.
darwin.nuernberg
30.09.2009, 20:21
Und ist es normal, dass der ADC immer irgent einen Wert ausgibt, obwohl man das Touchpad nicht berührt?
Ist der Wert ungefähr stabil oder schwankt der über die ganze Breite?
Gringes "rauschen" liegt an den "billigen" Wandlern. Wenn Es extrem über eine große Range geht, könnte auch eine Störung evtl. Von einer Leuchtstofflampe oder deinem Monitor rein blasen.
Probiers erst mal mit einer einigermaßen guten Abschirmung,
schau mal ob Deine Versorgung sauber ist, ein oder zwei dicke Elkos auf die Versorgung únd auch ein paar kleinere Kondensatoren dazu (die können schneller Ladung abgeben). Und evtl siebst Du dein Touch auch noch mit ein paar 10nF gegen masse? Schaden kann es nicht.
Simon25j
04.10.2011, 00:32
Hallo zusammen,
habe das selbe Problem mit dem Touch 128x64 von LEDSEE hab stark schwankende Werte und einen sehr unlinearen Verlauf ohne Berührung 140 / 190 unterste ecke 430 / 550 , gegenüberliegende ecke 130 / 160 und bei jedem Tastendruck in die mitte des touchs werte von 150 / 120 bis 540 / 600 kann mir das ganze nicht erklären, habs auch schon mit 2 verschiedenen Touch versucht und immer das selbe Ergebnis.
Verkabelung stimmt, Kabellänge 15cm.
hab jetzt auch schon mit unterschiedlichen µC versucht, und immer selbe Resultat :-(
was hat bei euch geholfen?
n'abend,
ich beschäftige mich ebenfalls seit kurzem mit dem im ersten Post beschriebenem Display.
Leider habe och das Problem, dass rein gar nichts angezeigt wird.
Das Display bleibt einfach schlicht blau.
Wie man am Code erkennen kann, verwende ich einen ATMEga32.
Dataport ist Port B, Controlport ist Port D.
Die Pinbelegung ist ebenfalls wie im Code angegeben. Auch schon alles durchgepiepst.
Hat mir bis jetzt nur leider nicht geholfen.
Also, wenn mir jemand weiterhelfen könnte wäre ich echt dankbar.
Mit freundlichen Grüßen,
MArkus
ps: hier noch der Code:
$regfile = "m32def.dat"
$crystal = 16000000
$hwstack = 32
$swstack = 32
$framesize = 32
Ddrb = &B11111111
Ddrd = &B11111111
Wait 1
Config Graphlcd = 240 * 128 , Dataport = Portb , Controlport = Portd , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 6
Wait 1
Cls
Wait 1
Locate 1 , 1
Lcd "MCS Electronics"
Locate 2 , 1 : Lcd "T6963c support"
Locate 3 , 1 : Lcd "1234567890123456789012345678901234567890"
Locate 16 , 1 : Lcd "write this to the lower line"
Wait 2
End
Simon25j
02.11.2011, 09:25
Hallo,
versuch mal anstatt
Locate 1 , 1
Lcd "MCS Electronics"
folgendes
Lcdat 1 , 1 , "MCS Electronics" , 0
wie hast du dein Kontrast Poti angeschlossen?
Hi,
danke erstmal für die Antwort.
mit "Lcdat" habe ich es ausprobiert, bekomme aber folgende Fehlermeldungen:
Error: 5 No more space for Bit (___LCDROW)
Error: 5 No more space for Bit (___LCDCOL)
Mein Kontrast-Poti habe ich an VDD, VOUT und den Schleifer an V0
Mfg,
Markus
dussel07
02.11.2011, 16:47
Würde mal von Vss zu Vdd und V0 messen - sollte eine negative Spannung anliegen.
Ansonsten: Display kaputt oder Du hast was falsch angeklemmt - - - FOTO? - - -
Nachtrag: Fuses - JTAG deaktiviert?
Hi,
sorry das ich mich so lange nicht gemeldet habe, war ne zeit lang nicht zuhause.
Am Display kommen nur rund 3,5 V an.
Als Versorgungsspannung an meinem RN_Control verwende ich ein 7V-Netzteil, dass max. 3,5 A schafft.
Warum ist die Spannung am Display so gering ?
Guten Abend,
Weiß jemand woher ich den gleichen smd connecter für Folienleiter herbekomme;)
Bitte um genaue artikelbezeichnungen!
Danke, MfG manuuE
dussel07
03.12.2011, 14:23
Schau mal HIER (http://www.reichelt.de/DOG-LCD-Module/EA-WF100-04S/index.html?;ACTION=3;LA=2;ARTICLE=86701;GROUPID=30 07;artnr=EA+WF100-04S;SID=10TqXpR38AAAIAAGcuCswab8d6ea582ff4e2c71b99 6c93ba0120c)
Ist nicht perfekt aber geht.
oder
http://www.csd-electronics.de/de/index.htm
nach FFC suchen und dann Rastermaß 1mm oder 0,5 , und die Pinanzahl
@dussel07 wird das Folienkabel einfach reingesteckt?
Danke ;)! MfG manuuE
dussel07
06.12.2011, 13:13
Jawoll - Aber Vorsicht ist geboten, da der Folienleiter schnell abknickt (geht ziemlich stramm)!
Hallo Leute,
ich habe mir auch so ein Display geholt. Nun bin ich auf der Suche nach nem edlen Gehäuse, was man sich auch im Wohnzimmer an die Wand hängen kann.
Hat jemand ne Idee?
Besten Dank und schöne Grüße
Sunny
Hallo,
ich hätte noch eine Frage insbesondere zu V0 und VOut. An VDD leg ich +5V an, VOut ist der Power Outpot? Was oder welche Spannung kommt dort raus? Wie im Bild zu sehen, soll man an VDD +5V anlegen einen 10-20kOhm Poti verwenden, linker Kontakt +5V, rechter Kontakt auf VOut und den Schleifer auf V0, ist das richtig? Aber ich muss ja am Display zwischen VDD und VOut einen Differenz von -18,5V haben, wie kommen die zustande und was bewirkt es?
MfG manuuE
Hi Leute,
bin schon wieder voll am verzweifeln.
Da mein Mega128 zu klein geworden ist bin ich auf einen Mega2560 umgestiegen. Funktioniert soweit auch. Text wird richtig angezeigt und da Touchpanel geht auch. Das Problem ist, dass meine erstellten Bilder (*.bgf-Dateien) nicht richtig angezeigt werden. Beim Mega128 ging es ohne Probleme. Nun beim Mega2560 werden die Bilder komplet "schwarz" dargetsellt. Woran kann es liegen?
Viele Grüße
Sunny30
Hi,
Habe mir auch mal so ein 240x128 Pixel GLCD mit Touchscreen geholt. Lässt sich mit dem Code aus dem ersten Post auch ganz gut Ansteuern.
Nur kalibrieren müssten man den Touch noch. Bei mir ist sogar eher das Problem, dass der Touch nicht wirklich Linear ist.
In der linken unteren Ecke stimmen die Position vom Stift und der gezeichneten Markierung auf dem Display überein. Nur je weiter ich nach rechts und/oder auch nach oben mit dem Stift gehe, so driftet die Markierung immer weiter ab (viel weiter nach rechts bzw. viel weiter nach oben als es der Stift ist).
Leider habe ich nicht mal einen Ansatz wie ich diese unlinearität mit einer Formel etc. herausrechnen könnte.
Hat hier schon jemand soetwas gemacht?
Grüße
Florian
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.