Monselice PD Italy
Offline
Faraday Member
Karma: 15
Posts: 5015
фон Крыса
|
 |
« on: April 14, 2011, 10:09:30 am » |
Qualcuno saprebbe aiutarmi sul come usare un touch screeen del nintendo ds volevo suddivederlo in varie aree per utilizzarle poi con bottoni virtuali.... ho il seguente problema non riesco a fare delle letture "normali" i valori letti cambiano in continuazione...
|
|
|
|
|
Logged
|
Se corri veloce come un fulmine, ti schianterai come un tuono.
|
|
|
|
Urbana Padova
Offline
Full Member
Karma: 0
Posts: 196
a piccoli passi.
|
 |
« Reply #1 on: April 14, 2011, 10:10:29 am » |
Fai la lettura X,Y in 2 letture distinte? Come è collegato?
|
|
|
|
|
Logged
|
|
|
|
|
Monselice PD Italy
Offline
Faraday Member
Karma: 15
Posts: 5015
фон Крыса
|
 |
« Reply #2 on: April 14, 2011, 10:13:25 am » |
questo è il collegamento l'ho preso da un sito: http://www.practicalarduino.com/projects/touch-control-panel non cè verso che vada ho provato anche con delle resistenze di pull down ma nulla... i valori cambiano in continuazione
|
|
|
|
|
Logged
|
Se corri veloce come un fulmine, ti schianterai come un tuono.
|
|
|
|
BZ (I)
Offline
Brattain Member
Karma: 172
Posts: 16128
+39 349 2158303
|
 |
« Reply #3 on: April 14, 2011, 10:20:41 am » |
Il touchscriee é composta da 2 pellicole con un rivestimento resistivo e elettrodi, uno a DX e SX e l' altro in alto e in basso e in mezzo dei distanziatori in modo che i 2 rivestimenti resistivi non si toccano. Devi dare della tensione in una direzione e misurare la tensoine risultante sul altra direzione: Dai GND a X1 e 5V a X2 (cosí hai un parttore resistivo che va da 0 v a 5V) premendo il Touchscreen la pellicola X fa contatto con la pellicola Y. Leggi la tensione sul asse Y1 e trovi il punto di contatto in asse X. Ripeti il tutto sul asse Y: Dai GND a Y1 e 5V a Y2 e leggi la tensione sul X1 e trovi il punto di contatto in asse Y.
Ciao Uwe
|
|
|
|
|
Logged
|
|
|
|
|
Monselice PD Italy
Offline
Faraday Member
Karma: 15
Posts: 5015
фон Крыса
|
 |
« Reply #4 on: April 14, 2011, 10:26:37 am » |
è appunto ciò che ho fatto il codice è il seguente: int xVal = 0; int yVal = 0; void setup() { Serial.begin(38400); Serial.println("Starting up touch screen reader"); } void loop() { pinMode( 15, INPUT ); // Analog pin 1 pinMode( 17, INPUT ); // Analog pin 3 pinMode( 14, OUTPUT ); // Analog pin 0 digitalWrite( 14, LOW ); // Use analog pin 0 as a GND connection pinMode( 16, OUTPUT ); // Analog pin 2 digitalWrite( 16, HIGH ); // Use analog pin 2 as a +5V connection delay(2); // Wait for voltage to settle xVal = analogRead( 1 ); // Read the X value pinMode( 14, INPUT ); // Analog pin 0 pinMode( 16, INPUT ); // Analog pin 2 pinMode( 15, OUTPUT ); // Analog pin 1 digitalWrite( 15, LOW ); // Use analog pin 1 as a GND connection pinMode( 17, OUTPUT ); // Analog pin 3 digitalWrite( 17, HIGH ); // Use analog pin 3 as a +5V connection delay(2); // Wait for voltage to settle yVal = analogRead( 0 ); // Read the Y value Serial.print(xVal); Serial.print(","); Serial.println(yVal); delay (200); }
|
|
|
|
|
Logged
|
Se corri veloce come un fulmine, ti schianterai come un tuono.
|
|
|
|
Urbana Padova
Offline
Full Member
Karma: 0
Posts: 196
a piccoli passi.
|
 |
« Reply #5 on: April 14, 2011, 10:31:22 am » |
Hai provato questo? https://github.com/practicalarduino/TouchControlPanel/blob/master/TouchControlPanel.pdeil fatto che i valori cambino ... non mi sembra "male". Vuol dire che funziona ... no? A parte le battutacce, leggevo (nel vecchio forum) che se metti delle resistenze di carico (non ricordo come e valore) non hai bisogno di fare la "taratura". Provato con google?
|
|
|
|
|
Logged
|
|
|
|
|
BZ (I)
Offline
Brattain Member
Karma: 172
Posts: 16128
+39 349 2158303
|
 |
« Reply #6 on: April 14, 2011, 10:34:57 am » |
Il codice mi sembra giusto. Ciao Uwe
|
|
|
|
|
Logged
|
|
|
|
|
Urbana Padova
Offline
Full Member
Karma: 0
Posts: 196
a piccoli passi.
|
 |
« Reply #7 on: April 14, 2011, 10:35:22 am » |
|
|
|
|
|
Logged
|
|
|
|
|
Monselice PD Italy
Offline
Faraday Member
Karma: 15
Posts: 5015
фон Крыса
|
 |
« Reply #8 on: April 14, 2011, 10:37:54 am » |
Si l'ho provato.... i valori cambiano anche se non cè il contatto sulla parte sensibile..... si su google non cè un piffero.....
|
|
|
|
|
Logged
|
Se corri veloce come un fulmine, ti schianterai come un tuono.
|
|
|
|
Urbana Padova
Offline
Full Member
Karma: 0
Posts: 196
a piccoli passi.
|
 |
« Reply #9 on: April 14, 2011, 10:44:11 am » |
Sto provando il codice. A me varia continuamente da: Starting up touch screen reader 468,1003 997,1001 998,1001 996,1001 1002,1001 1000,1001 1001,1001 1002,1000 1002,1001 996,997 996,997 998,998 999,999 342,850 304,848 Effettivamente sbarella 
|
|
|
|
|
Logged
|
|
|
|
|
Monselice PD Italy
Offline
Faraday Member
Karma: 15
Posts: 5015
фон Крыса
|
 |
« Reply #10 on: April 14, 2011, 10:44:55 am » |
non va neanche così...... che p**** oggi non sarà giornata...
|
|
|
|
|
Logged
|
Se corri veloce come un fulmine, ti schianterai come un tuono.
|
|
|
|
BZ (I)
Offline
Brattain Member
Karma: 172
Posts: 16128
+39 349 2158303
|
 |
« Reply #11 on: April 14, 2011, 10:50:17 am » |
penso che devi mettere una resistenza di pullup sul canale che legge la tensione: controllo meglio. Ciao Uwe
|
|
|
|
|
Logged
|
|
|
|
|
Urbana Padova
Offline
Full Member
Karma: 0
Posts: 196
a piccoli passi.
|
 |
« Reply #12 on: April 14, 2011, 10:55:45 am » |
Ratto, appena fatto  Ora (senza toccare nulla) è inchiodato a 0. // Taken from http://kousaku-kousaku.blogspot.com/2008/08/arduino_24.html /* #define xLow 14 #define xHigh 15 #define yLow 16 #define yHigh 17 */ //modified to match my sparkfun connector #define xLow 17 #define xHigh 15 #define yLow 16 #define yHigh 14 void setup(){ Serial.begin(9600); } void loop(){ pinMode(xLow,OUTPUT); pinMode(xHigh,OUTPUT); digitalWrite(xLow,LOW); digitalWrite(xHigh,HIGH); digitalWrite(yLow,LOW); digitalWrite(yHigh,LOW); pinMode(yLow,INPUT); pinMode(yHigh,INPUT); delay(10); //xLow has analog port -14 !! int x=analogRead(yLow -14); pinMode(yLow,OUTPUT); pinMode(yHigh,OUTPUT); digitalWrite(yLow,LOW); digitalWrite(yHigh,HIGH); digitalWrite(xLow,LOW); digitalWrite(xHigh,LOW); pinMode(xLow,INPUT); pinMode(xHigh,INPUT); delay(10); //xLow has analog port -14 !! int y=analogRead(xLow - 14); Serial.print(x,DEC); Serial.print(","); Serial.println(y,DEC); delay(200); } Messe pure le resistenze  Ora devo scappare a prendere mio figlio. Alla prox
|
|
|
|
|
Logged
|
|
|
|
|
Monselice PD Italy
Offline
Faraday Member
Karma: 15
Posts: 5015
фон Крыса
|
 |
« Reply #13 on: April 14, 2011, 10:59:35 am » |
bah continua a non andarmi...
|
|
|
|
|
Logged
|
Se corri veloce come un fulmine, ti schianterai come un tuono.
|
|
|
|
BZ (I)
Offline
Brattain Member
Karma: 172
Posts: 16128
+39 349 2158303
|
 |
« Reply #14 on: April 14, 2011, 03:58:36 pm » |
Ma, misurando con un tester i pin del Touchscreen cosa misuri (senza aver collegato niente esenza toccare lo scermo tattile? Ciao Uwe
|
|
|
|
|
Logged
|
|
|
|
|
|