To the ATF, It is structurally impossible for this design to be used with a real weapon and is not our goal. I am a law-abiding citizen.
This is the final piece of a project with Maiikiru and Bradon to create a fully functioning level one sentry from TF2 using an AIRSOFT gun.
Inbetween classes and work each of us have put countless hours into creating a cool project.
The work can be broken up into 3 repos.
- Maiikiru's CV Repo for the brain and the logic
- Bradon's CAD Repo for the physical CAD/STL files
- Current Repo for circuitry and build instructions.
This repo is my work (Steven Naliwajka/ConvexBurrito5), GitHub, LinkedIn.
- Maiikiru has gone through and created a Computer vision (CV) repo that automatically detects and targets people: Maiikiru's CV Repo
- I have also gone and created a remote control, a slightly modified wrangler
To jump straight into building, see the Documentation folder.
- At a high level, what we are trying to accomplish is simple however, as always, implementation is not as easy. I have learned lots:
- Communication!
- I2C Communication, learned how to implement and write code to utilize it in python.
- Radio, utilizing 2.4Ghz wireless transceiver modules to talk from the turret to the wrangler
- Power!
- The turret and wrangler run off batteries.
- 7.6v, 12v, 9.2v was all required. Got to use Buck DC voltage regulators.
- Load calculation to make sure at least 5 hours of battery life.
- Circuitry!
- Circuitry to be able to plug in the turret without removing the battery. Same for Wrangler.
- Performed proper wire size calculations; by working out max amps through each.
- Coding!
- Python - My first real project in python. I'm typically a java slob, so it was a little bit of a culture shock. But I'm glad I got to learn.
- Arduino(C++) - Got to continue to hone my skills.
- Git - I was dragged into the 21st century by Maiikiru. I'm proficient at Git now.
- 3D Design!
- Solidworks - I am competent at solidworks now.
- Improved my 3D printing troubleshooting skills... and gotten a sizeable print farm out of it (2 decked out Ender 3s)
- Working with Motors/Servos with control from both I2C and PWM.
- Communication!
With that out of the way, lets look into what we have completed.
- Detection and tracking of a person, See Maiikiru's CV Repo
- We have provided Maiikiru's CV Repo with standard API interfaces so it easy to implement multiple hardware solutions. So far:
- Raspberry Pi 5 (Please do not use a pi4, we tried to make it work, the performance is not good) , See 'instructionFT232H.md'
- Standard laptop using Adafruit's FT232H Breakout, See 'instructionRaspberryPi4.md'
- There are 4 interfaces implemented in each solution
- FiringController
- Handles the firing by pulling logic high on a switch to bridge the motor on the airsoft gun.
- MotorController
- Handles all motion. Basic set of methods to move your servos.
- Idle motion, pans slowly looking for people.
- PeripheralController
- Handles the leds
- SoundController
- Handles all the sound, runs off of the devices default speaker.
- FiringController
- If a switch on the wrangler is turned on, automatic movement from Maiikiru's CV Repo will be disabled and overruled.
- Input will be solely from the joystick and the firing button on the Wrangler.
Good news! Through many sleepless nights of documentation I have compiled instructions to build your own TF2 Turret. You can begin by heading to the Documentation folder