Lectura del touchpad a través de arduino es muy fácil, por que la salida de muchos touchpad es como la de un ratón con conexión ps2 (+5V, GND, data y clock) y esos datos los puede leer nuestra placa arduino con la libreria ps2.h
A continuación les pongo unas imágenes de como he conectado mi touchpad de Synaptics con chip T1004 y un vídeo con un ejemplo de una LED en una salida PWM controlada por el touchpad. Pero sus aplicaciones pueden ser infinitas no solo controlar una LED pueden controlar un servo, etc...
Conexiones del chip Synaptics T1004
Código de ejemplo
#include <ps2.h>
PS2 mouse(6, 5); //Pin 5 is the mouse data & pin 6 is the clock.
void mouse_init()
{
mouse.write(0xff); // reset
mouse.read(); // ack byte
mouse.read(); // blank */
mouse.read(); // blank */
mouse.write(0xf0); // remote mode
mouse.read(); // ack
delayMicroseconds(100);
}
int brightness = 0;
void setup()
{
Serial.begin(9600);
mouse_init();
}
void loop()
{
char mstat;
char mx;
char my;
/* get a reading from the mouse */
mouse.write(0xeb); // give me data!
mouse.read(); // ignore ack
mstat = mouse.read();
mx = mouse.read();
my = mouse.read();
/* send the data back up */
Serial.print(mstat, BIN);
Serial.print("\tX=");
Serial.print(mx, DEC);
Serial.print("\tY=");
Serial.print(my, DEC);
Serial.println();
// Control del LED
analogWrite(9, brightness);
brightness = brightness + my + mx;
if (brightness < 0) {brightness = 0 ;}
if (brightness > 255) { brightness = 255 ;}
}
Tags: arduino, duemilanove, Library, Synaptics, T1004, Touchpad
It’s a nice blog you have over here! It’s very usefull information for me and I just want to thank you for that! If you post more threads as this one, I’ll follow your blog active!
09.29.11 a las 13:17
I gotta bookmark this internet site it seems very helpful handy
02.15.12 a las 06:50
This website has lots of very useful information on it. Cheers for sharing it with me!
05.27.12 a las 13:28
Hola! Buenisimo lo q vas colgando acá. te hago una consulta: estoy queriendo conectar un mouse PS2 a la UNO y no he podido hacerlo andar, conpilo este código pero nada. no tengo mucha idea y recien comienzo con esto de programar así q me limita el conocimiento. si abro el monitor serial, debería ver los valores correr no? este código q armaste debería funcionar con el mouse PS2, no es cierto? Gracias!
07.30.12 a las 23:30
Congatulations for your blog!
Here you can see more information about Synaptics TouchPad :
http://www.synaptics.com/sites/default/files/ACF126.pdf?q=decaf/utilities/ACF126.pdf
pinout at pag. 27
Enhorabuena por tu blog.
Aquí podéis ver más información acerca de los TouchPad de Synaptics:
http://www.synaptics.com/sites/default/files/ACF126.pdf?q=decaf/utilities/ACF126.pdf
En la página 27 están los pines de salida Así podremos soldar más facilmente sin cargarnos nada sobre el cable de cinta plana.
10.30.12 a las 09:29
Gracias por el datasheet Ricardo! Me lo mirare detenidamente haber si se puede actualizar algo en esta entrada.
10.30.12 a las 19:28
Hola, al compilar el programa me daba un error: WProgram.h no encontrado.
Se soluciona renombrando WProgram.h de la librería ps2.h a Arduino.h
10.31.12 a las 11:40
La librería era para la antigua versión del IDE de arduino (las 00XX), ya he subido el archivo actualizado!
Es mejor en vez de cambiar WProgram.h por Arduino.h, añades:
Así la librería seguirá siendo compatible para las versiones anteriores y las nuevas.
Un saludo!
10.31.12 a las 13:04
Hello,
Do you still have the code for this project http://www.youtube.com/watch?v=ORohcXbIrEQ ? I have a Synaptics T1004 trackpad but my Arduino Uno returns nothing in the serial monitor… I’m using the PS/2 library ‘mouse’ code and it doesn’t work.
Thanks!
04.25.13 a las 17:51
Hello Neema!
Check the connections are correct!
04.25.13 a las 17:53
Hola,primero decirte que me ha encantado tu blog,soy nuevo con el arduino.
Me gustaria hacer dos preguntas
1)tengo un touchpad parecido (TM41*357) y no tengo muy claro cuales son los pines,no tengo manera de comprobarlo pues el portatil murio hace mucho.
(por lo que he buscado e ido leyendo ,creo que el clock deberia ser el 10,data el 11,los 5v el 15 y tierra el 20;pero esto basandome en otros parecidos como el tuyo)
http://imageshack.us/photo/my-images/835/qdf5.jpg/
http://imageshack.us/photo/my-images/19/ntvs.jpg/
http://imageshack.us/photo/my-images/560/04id.jpg/
http://imageshack.us/photo/my-images/46/6x3g.jpg/
2)Tengo otro touchpad que venia con un portatil BEEP BEE42376 ,y este es muy muy raro.
http://imageshack.us/photo/my-images/841/z8u4.jpg/
http://imageshack.us/photo/my-images/823/dcct.jpg/
http://imageshack.us/photo/my-images/18/atmd.jpg/
Por mas que he buscado no encuentro el datasheet de ninguno de los dos.
¿Donde podria buscar?
Muchas gracias.
Dani
(Espero que no te moleste,adjunto los link de las fotos que he tomado de ellos.)
09.04.13 a las 11:06
Hola! Very useful information!
How can I use more than one touchpad with Arduino?
I just find the instruction on Internet for one but not for “multi touchpad”. Could you help me?
Gracias!
Gord
09.12.13 a las 09:32
Hello GordTheRogue, I think you’re the first one that try to connect more than one touchpad at same time. Look at the code of the library ps2.h, creating another with a different name for the variables. Eg: ps2.1.h and ps2.2.h each one for each touchpad.
09.14.13 a las 04:27
Hola Dani, el primero que tienes utiliza el mismo chip que el mio, así que solo tienes que fijarte en la imagen del PinOut que he puesto y seguir la pista hasta donde puedas soldar un cable cómodamente. Del segundo touchpad es más difícil decirte, yo tampoco he encontrado el datasheet de ese chip, pero identificando bien la masa y la alimentación del chip los otros pines del conector se podrían averiguar mediante ensayo y error, hasta dar con los pines CLOCK y DATA. Un saludo!
09.14.13 a las 04:36
Hola,
Muy interesante. 2 preguntas.¿donde pueden comprarse uno de estos touchpads?.estoy buscando es webs de repuestos pero no encuentro.
Aparte, ¿que opciones hay para conectar un touchpad a un arduino de salidas a 3.3 v?
?
10.09.13 a las 15:51
Hola Juanakin, yo saque este touchpad de un ordenador bastante viejo pero te serviría cualquier touchpad que funcione mediante PS2 lo difícil sera averiguar el pinout. El tema de alimentarlo a 3V3 ya no sabría decirte, siempre se puede probar a alimentarlo con esos 3V3 haber si funciona bien sino no, ya que no se va a quemar por sobre voltaje.
10.10.13 a las 14:35
Hola! you helped me a lot with the trick of soldering directly to test points!
muchas gracias!
To anyone that land on this page and like me is unable to retrieve the ps2 library from the above link (page not found), you can find the library here:
http://playground.arduino.cc/componentLib/Ps2mouse
The change from Wprogram.h to Arduino.h in ps2.h is still required
– pivan
11.06.13 a las 01:47
Pivan Thanks for your comment, I have already fixed the link to the library.
This weekend I will update the library to make it compatible with all versions of Arduino IDE (0022 version or lower need to include WProgram.h, and 1.0.0 or higher need to include Arduino.h).
11.06.13 a las 12:45
Спасибо _________________ игровые автоматы с денежным бонусом за регистрацию за номером телефона
09.12.24 a las 06:30
consists of the book itself
09.25.24 a las 16:31