Automatic button presser help!

Hi all,
a complete and utter noob here and I really would like some help. I would like to build an automated bot that could press a physical button repeatedly, thousands of times, one press every couple of seconds. It needs to be USB or mains powered. Any help would be greatly appreciated.

Hi TotalNoob,

There are many ways to proceed for such a project.
What’s the movement needed and the force required to presse that button ?

:slight_smile:

Hi, just a simple linear movement would be fine. Not sure about the pressure.

Reading through other forums it seems a few people suggest connecting a servo to an Arduino or Raspberry Pi… which I still know very little about. Would that work? Can’t spend a lot on this project at the moment.

Making a version using a Servo and an Arduino is easy.
It would require you in the code to send a position A, wait for a delay then send it to position B.

There is an Arduino Servo library available:
arduino.cc/en/Reference/Servo

It would look something like that:

/*
Controlling a servo position using a potentiometer (variable resistor)
by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>

modified on 8 Nov 2013
by Scott Fitzgerald
http://www.arduino.cc/en/Tutorial/Knob
*/

#include <Servo.h>

Servo myservo;  // create servo object to control a servo

void setup() {
 myservo.attach(9);  // attaches the servo on pin 9 to the servo object
}

void loop() {
 myservo.write(45);    // sets the servo position A
 delay(1000);    // waits for the servo to get there
 myservo.write(135);  // sets the servo position B
 delay(1000);

}

Otherwise, we have this device which is kind of a no programming solution:
robotshop.com/en/microbot-p … =RB-Nar-01

:slight_smile:

Thank you for the tips, I appreciate it.

I’m not keen on the MicroBot Push as it’s battery powered and probably wouldn’t last for hours at a time continuously pressing a button every couple of seconds like I need it to, and the cost.

I guess I had better learn how to set up the Arduino then.