Hallo,
So viele "Leser"
Kann denn keiner Helfen?
MFG
Ratman2000
Hallo,
ich habe einen ATMega32 (Grundschaltung) mit 16 MHZ Quarz und Stabilisierter Spannung aufgebaut und von ledsee.com ein 128 x 64 Touch Display bestellt...
Das Display hab ich nun auch wunderbar laufen so wie es sollte... Grafiken funktionieren auch wunderbar...
Allerdings macht mir das Touch ein paar Probleme...
Und zwar habe ich die 4 Adern? (vom Flachkabel) jeweils auf ein 100 Ohm
Wiederstand (Schutz vor Zerstörung) und dann direkt auf einen ADC des ATMega32 gelötet...
Wenn ich nun die X und Y Werte auslese (Pin 1 und 3, 2 und 4 jweils high / low) dann erhalte ich bereits OHNE Berührung und auch ohne Schutzfolie einen Wert rund um 400 Schwankend...
Sollte nicht ein wert zwischen 0 - 2 normal sein ohne Berührung?
Weiss da jemand zufällig eine Abhilfe, denn dadurch ist es so gut wie garnicht möglich, zu erkennen wo jemand berührt hat, denn nach dem Berühren schwankt der Bereich des ADC bei dem Wert des Berührens weiter... Sprich berühre ich den Screen so dass er 220 anzeigt, dann schwankt er zwischen 200 - 300 weiter...
Ziemlich merkwürdig halt
Ich hoffe auf eure Hilfe!
Vielen Dank!
MFG
Ratman2000
Hallo,
So viele "Leser"
Kann denn keiner Helfen?
MFG
Ratman2000
Also mit dem TD-Controller erhalte ich ohne Berührung immer Werte schwankend zwischen 30-70 für X bzw. Y Achse. Poste mal den Code, den du zum Auslesen verwendest
Elektronische Bauteile funktionieren mit Rauch. Lässt man den Rauch raus, sind sie kaputt.
Hallo,
das sieht bei mir so aus:
MFGCode: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 Lcdat 3 , 20 , "Y: " ; Y Config Porta.0 = Input Config Porta.2 = Input Config Porta.1 = Output Config Porta.3 = Output Set Porta.1 'High Reset Porta.3 'Low Waitms 20 X = Getadc(2) X = 1024 - X Lcdat 4 , 20 , "X: " ; X
Ratman2000
warum soll das komisch sein? kann doch sein dass eben genau die Touchfolie 400 hat ohne Berührung. Was hast du denn mit berührung?
Hast du ein Datenblatt zu dem Ding? Deine 100Ohm Schutzwiderstände musst du ja auch rausrechnen, oder?
Hallo,
nein ein Datenblatt gibts dazu leider nicht...
Komisch ist es, weil die Folie ja als "Wiederstand" agieren soll...
Sprich kann er mir ohne Berührung nicht so einen hohen Wert ausgeben (wenn ich das richtig verstanden habe) Denn solange die Folien sich nicht berühren, kann ja auch eigentlich kein Wert (bzw nur ein minimaler) gemessen werden...
Das Problem ist, dass der Wert am ADC IMMER in dem Bereich schwankt, wo ich zuletzt berührt habe... Berühre ich ihn bei 400, schwankt er auch in dem Bereich weiter...
Normal fände ich wenn er zwischen 0 - 10 läge und bei berührung z.b. auf 400 springt und beim loslassen wieder zurück auf 0 - 10...
Das wäre nen Zustand, mit dem man arbeiten könnte...
Aber wie soll man, wenn der "Berühren Zustand" immer anhält, auswerten ob berührt wurde oder nicht? Das erscheint nicht logisch...
Berühre ich das Display z.b. weiter Links, dann geht der Wert auf 200 runter... weiter rechts auf 600 hoch usw... Verhält sich echt merkwürdig...
Das ich den Wiederstand setzen sollte habe ich aus einem Schaltplan entnommen siehe hier:
http://www.mcselec.com/index.php?opt...=189&Itemid=57
Ich habe folgenden Touch Display gekauft:
http://ledsee.com/index.php?page=sho...mart&Itemid=27
Das einzige was ich nicht mache ist den Treiber Baustein zu benutzen... Den das sollte der ATMega32 schon alleine hin bekommen wie es hier beschrieben wurde:
https://www.roboternetz.de/phpBB2/ze...ht=touchscreen
Das einzige was bei diesem "Beispiel" anderst ist, ist das er nen anderen AVR nutzt und nen Display ne Nummer grösser...
Aber ich bekomms einfach nicht zum laufen *heul*
Ich bitte um eure Hilfe!
Das Display selbst kann ich ohne Probleme ansteuern... Also liegt es wirklich nur noch an den 4 Polen des Touches...
Danke für eure Hilfe!!!
MFG
Ratman2000
Probier mal folgenden Code der funktioniert bei mit 100%ig
Die Widerstände sind egal...kannst du auch weglassen. Die sind eig. nur als Kurzschlussschutz, falls sich die Ports berühren....dann hast du wenigstens einen Widerstand dazwischenCode:Config Pina.0 = Output Config Pina.2 = Output Set Porta.0 Reset Porta.2 Ddra.1 = 0 Ddra.3 = 0 Waitms 20 Y = Getadc(3) Y = 1024 - Y Print "VALUE Y : " ; Y Config Pina.1 = Output Config Pina.3 = Output Reset Porta.1 Set Porta.3 Ddra.0 = 0 Ddra.2 = 0 Waitms 20 X = Getadc(2) X = 1024 - X Print "VALUE X : " ; X
Elektronische Bauteile funktionieren mit Rauch. Lässt man den Rauch raus, sind sie kaputt.
Hallo,
habe den Snipped gerade probiert...
Aber mein Problem bleibt...
Ich habe nach jedem "lesen" nun mal 1 Sekunde Pause gemacht, um genau zu sehen, welche Werte er anzeigt...
Beim einschalten ist der erste Wert irgend etwas über 500...
Nach einer Sekunde dann bei ca 300 und pendelt sich dann bei ca 200 ein springt dann aber immer um Werte +-100
Sprich wenn er sich bei 210 eingependelt hat, springt er mal zu 110 und mal zu 310... Ganz merkwürdig...
Gibt es evtl irgend etwas, was solch ein Verhalten auslösen kann? Könnte das Touch defekt sein?
Vielen Dank für eure Hilfe!!!
MFG
Ratman2000
Hallo nochmal,
ich habe gerade auch mal den X Wert aufs Display gebracht... Was
mir da auffällt ist, das der Wert zwischen 1 und 2 Schwankt, solange ich das Display nicht berühre...
Sobald ich es berührt habe (z.B. bei 210) dann bleibt der X Wert auch bei der Zahl und schwankt +- 100 wie der Y Wert...
Hab ich evtl irgend etwas falsch gemacht? Muss man vorher irgend etwas spezielles machen? Kann es z.B. am Quartz liegen oder sonst irgend eine Möglichkeit geben das was faul ist?
Danke!!!
MFG
Ratman2000
Hallo,
ich habe gerade mal aus lauter verzweiflung alle 4 Pins vom ATMega32 abgezogen (sind auf Sockelleisten gelötet so das ich sie Stecken kann)
Das heist am ADC hängt nun nur noch der Wiederstand mit 100 Ohm...
Kein GND, kein VCC garnichts... Die Pins gehen also ins Leere^^
Der Witz: Auf dem Display bekomme ich schwankende Werte ausgegeben...
Wie kann der Mega32 etwas "messen", wenn garnichts dran hängt?
HILFE
Danke!
MFG
Ratman2000
Lesezeichen