Desktop RoboTurret - LazerDazer


This project is a great distraction for cats and people alike! Make your RoboTurret activate a laser and randomly move about! Cats just want to straight up do a murder on that little red laser dot. Hunting is great exercise for cats, and it's always amusing to watch them go on the attack! Sure you can just grab your laser pointer and go for it, but you always know where the laser is going to be. Let's inject a little chaos into the mix with a pan/tilt turret to make a laser that moves to random positions at random intervals!


Project Parts List:

This should work with any hobby servo driven pan/tilt turret. Here are two suggestions:

RobotGeek Pan and Tilt:
This is a great choice if you'd like to add a camera or attach a fishing pole type cat toy.

Mini Pan-Tilt:

This is a good choice for low cost, but using 9G servos limits the weight of what you can add.

Download the Sketch

RoboTurret Sketches

A .zip file with all of the RoboTurret Sketches can be found here.

Unzip the file and you will have a folder called desktopRoboTurretV3-master We recommend that you create a folder RobotGeek Sketches in your Arduino user folder and put the desktopRoboTurretV3-master in there. The rest of this guide will assume you've placed your sketches in the following folder.

  Arduino -> RobotGeek Sketches -> desktopRoboTurretV3-master

This will be the same 'Arduino' folder you put your libraries and robotgeek tools in, and NOT the folder where the Arduino application is.

Random Control - LazerDazer

The LazerDazer Sketch will activate the laser and randomly move the Roboturret. Not only does the LazerDazer make a great cat toy, but it is also a great way to learn about goal positions and pseudo-random behavior in Arduino.

The LazerDazer code can be found at:

    File -> Sketchbook -> RobotGeek Sketches -> desktopRoboTurretV3-master -> roboTurret3_lazerDazer  

Wiring for the LazerDazer is identical to the Test setup.

Device Pin Type Pin #
Pan Servo Digital 10
Tilt Servo Digital 11
Laser Digital 2
  • The LazerDazer code has several #define statements that are appended with _MIN and _MAX. By changing these values you can alter the turret's behavior, changing positional boundaries, servo speed, pause frequency, and pause speed.

PC Control These demos and projects allow the robot to be controlled via a computer.

ArbotiX Commander Control - These demos and projects control the Robot using the ArbotiX Commander, the handheld Arduino based remote control.

Direct Control - These demos and projects control the Robot directly from sensors connected directly to the Robot's control board.

Pose Control - These demos and projects allow you to create and playback a sequence of poses.

Serial Control - These demos and projects control the robot using a serial packet protocol.

Standalone - These demos and projects are deisgned to let your robot function without a computer or additional microcontroller.

Wireless Control - These demos and projects allow you to control the robot wirelessly - usually by replacing the Serial Connection with XBee modules.

Reference - These articles have technical details regarding the control and operation of the robot.


More info here

Feedback Form