Screen Tapping Robot

7.7K2216

Intro: Screen Tapping Robot

Do you need a robot who clicks the "like" button on all your friends' posts? This screen tapping robot clicks touch screen in the way you program it to!

STEP 1: The Operation Console

I used a 9" x 12" pattern plate as the operation console which holds the mobile phone (or any other touch screen based devices) and the motion components.

There are two grommets and two standoffs attached to the platform in order to fix the mobile phone so that when the stylus is tapping, the mobile phone won't move.

STEP 2: The X-Axis

To control the stylus movement, I built a rack based on Cartesian coordinate system, i. e. one with X and Y axises. I also tried polarized coordinate system which required fewer components, but it was much less stable.

The X-axis is implemented by a lead screw driven by a NEMA 17 stepper motor. Because the X-axis need to mobilize the rest of the components including Y-axis and the stylus system, which are kind of heavy, I stabilized the X-axis movement using two 8mm x 300mm stainless steel precision shaftings with linear ball bearings.

STEP 3: The Y-Axis

I could use another lead screw to implement Y-axis, but it is too heavy because the lead screw is stainless steel. So I built a slider system based on aluminum pinion pulleys and timing belt.

The timing belt is attached to two channel sliders so that I can mount the stylus system later.

The Y-Axis is driven by another NEMA 17 stepper motor.

STEP 4: The Stylus System

To click the touch screen, I need to make the stylus move linearly. Initially I was planning to use linear actuator, but it was too big and more expensive than I expected, so I ended up with building my own.

The stylus is attached to a pulley system similar to the Y-axis, but much smaller. Another difference from the Y-axis is the stylus movement is driven by a standard servo (instead of a stepper motor).

STEP 5: The Control

Now everything is in place, it's time to make them moving!

The stepper motors and servo can be driven from any micro controller. I picked Raspberry Pi 3 as the main controller and used two A4988 based stepper motor drivers to control the stepper motors for axis movement. The servo is driven by the PWM signal from Raspberry Pi itself. If you want to drive multiple servos at the same time (which is not the case in this project), you may want to get a PCA9685 based multi channel servo driver.

STEP 6: The Components

I got most of the components from Servo City. Please find the parts list here.

12 Comments

I am going to build a somehow similar setup, but Arduino and with an additional servo motor and additional stepper. It would save me a lot of time if you also post the wiring that you have setup for the steppers and the source code you use to control the motors. Could you please publish it?
The solution is based on Raspberry Pi so it's in Python (instead of Sketch for Arduino) so probably not much of the "source code" is applicable. But I do recommend looking around on github and https://www.adafruit.com/.
Hi. How did you make the pen to be able to be sensed by the screen? I did a similar thing and the screen doesn't "feel" the pen when it is attached to the robot. When I hold it, it feels it. I noticed that wire going out of your pen. Is it going to the common 0 Volts level (ground)?
Sorry for the very very very late reply :( You may want to ground the metal part of the stylus. I just used a duck tape to attach a jumper wire to the metal enclosing of the stylus (the pink part).
You need to connect the stylus to the ground. For this project, I connected the stylus to the “ground” pin of the Raspberry Pi using a wire :)
Where can I purchase this item? Are you willing to sell one?
I got most of the parts on servocity.com . I didn’t make this item for sale but I’m happy to help if you come across any questions when building one :)
That’s great mate, will surely get back to you. Thank tou
Hey! I've been wanting to build a robot like this for a few months! Awesome work. I know nothing about hardware or software so I am trying to figure out how to write the code in Python for an Arduino. How would you have the code tell the Arduino how to make everything move? I would greatly appreciate any tips you have to share.
Hey! For this project particularly, I used python + Raspberry Pi. I worked on projects using Arduino too, but as far as I know the main programming language for Arduino is a variation of C. There are plenty of articles on the Internet which provide detailed instructions about how to use Arduino to control a stepper motor, for example: https://www.arduino.cc/en/Reference/Stepper

Please feel free to let me know if you have any questions :)

man ive been wanting to make this for forever im so glad someone did it!