Nerf-firing Rover
This rover makes use of the following:
CPPM RC radio input from openTx RC radio
Arduino Nano to handle communcations from RC, Raspberry Pi via USB (not attached yet), I/O to servos via i2c, I/O to/from Roboclaw motor controller via serial (gets velocity from encoders on motors), and output to various DC-driven devices (headlight, gripper).
5.8ghz video transmitter for FPV roving
Keystudio i2c 16-PWM controller: http://www.keyestudio.cc/h-pd-116.html
2 x Pololu gear motors with encoders: https://www.pololu.com/product/3241
2 x Pololu gear motors without encoders
L298N motor controller
Generic headlight modified for remote on/off
Makeblock gripper: http://makeblock.com/robot-gripper/
Nerf Stryfe gun, modified to remove all safeties, and fire via servo pulling trigger
Aluminum frame built from Lowes aluminum pieces
Frsky d4r-ii receiver with telmetry to send voltage values back to radio
Roboclaw 15amp motor controller: http://www.ionmc.com/RoboClaw-2x15A-Motor-Controller_p_10.html
The Arduino reads the CPPM signal from the RC receiver and decodes it into eight separate channel values. It uses serial to send motor values to the Roboclaw. It uses i2c to send arm movements to the arm servos, and to fire the Nerf gun. It uses four digital pins to control the L298N DC motor controller, which turns on the headlight and operates the Makeblock gripper.
The Arduino gets the wheel velocity from the Roboclaw via serial.
The Arduino sends all RC channel values and the motor velocity via USB serial to a raspberry pi. All motors/servos can be controlled from the Raspberry Pi, but not much has been done there yet. It will eventually support automomous driving and object detection via OpenCV on the Raspberry Pi, and perhaps find shoot recognized objects that need to be shot. The communications has been setup and tested, but I don't have a spare Pi to connect. There will be quite a bit of coding for the Pi's OpenCV object recognition.
Arduino sourcecode is attached to this post as roboclaw_multi.txt
Navigate via RC control, fires Nerf gun, supports autonomous control via Raspberry Pi
- Actuators / output devices: Servos, Gripper
- Control method: Semi-autonomous, RC
- CPU: Arduino Nano
- Target environment: indoor