This mini pi controlled robot has the potential to wreck havoc on your co-workers! Jordan B. has the full tutorial up on her blog.
Meet Raspberry Jolt, my mini nerf-dart-shooting robot with WIFI control and remote video recording. It’s powered by the first gen Romo by Romotive and a raspberry pi.
Parts list:
- Jolt gun by Nerf
- First-gen Romo by Romotive
- Raspberry Pi
- 16 GB SD Card with Raspbian
- Adafruit 16-Channel 12-bit PWM/Servo Driver
- Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
- Futaba S-148 Servo (included in kit below)
- JOMAR Linear Servo Conversion Kit for Futaba Servo
- Raspberry Pi Case
- 4-AA 6V battery case
- Edimax EW-7811Un USB Nano Wifi Adapter
- High Quality 5200mAh External Battery Pack Power Bank Charger
- Female Jumper Wires
- Male Header
I used the Adafruit 16 Channel 12-bit PWM/Servo Driver tutorial with this circuit and Adafruit’s Python Library to hook up the servo to the Pi. After I had the circuit working on a breadboard I used the male header pins and female jumper wires to slim down the bot. Getting the Raspberry Pi to auto-connect to WIFI and run headless took some work; I used wpa_supplicant.conf to do it, and installed vncserver and SSH to control it remotely. I installed Avahi, which is the same as Apple’s Bonjour, so that I could always connect to the pi via http://raspberrypi.local once it boots and connects to the router. (However, once you have its IP address, shooting the dart is faster via IP address rather than by DNS lookup).
I modified Adafruit’s Servo_Example.py script to pull the servo back for 1 second and then return to front position. To access the Pi’s GPIO pins you need to be root, so I followed this tutorial to write and compaile a simple C script that could temporarily run commands as root. (I skipped the shell script part and just ran the python command from the C script). Finally I installed apache and PHP, and wrote a simple PHP script that calls the pulltrigger python script.
Mounting the servo to the trigger was the hardest part. My first two versions had the servo placed next to the trigger, but that was really hard to mount onto the round barrel of the gun. I also tried an all-lego chasis with reinforcement, but it was too heavy and bulky to mount onto the Romo.
Read more and see the full tutorial here.
Featured Adafruit Products!
Adafruit 16-Channel 12-bit PWM/Servo Driver – I2C interface – PCA9685: You want to make a cool robot, maybe a hexapod walker, or maybe just a piece of art with a lot of moving parts. Or maybe you want to drive a lot of LEDs with precise PWM output. Then you realize that your microcontroller has a limited number of PWM outputs! What now? You could give up OR you could just get this handy PWM and Servo driver breakout. Read more.
Adafruit Assembled Pi Cobbler Breakout + Cable for Raspberry Pi: Now that you’ve finally got your hands on a Raspberry Pi® , you’re probably itching to make some fun embedded computer projects with it. What you need is an add on prototyping Pi Cobbler from Adafruit, which can break out all those tasty power, GPIO, I2C and SPI pins from the 26 pin header onto a solderless breadboard. This set will make “cobbling together” prototypes with the Pi super easy. Designed for use with Raspberry Pi Model B AND Model A, both revisions. Read more.