To do this project, I had to learn:
- python, from being able to barely hobble along
- AI from scratch
- How websites work - I had to write all the front end stuff (js, css, html) and a few back end scripts. I also had to learn the basics of ajax and what it means for computation to be server-side versus client-side
In addition to that, I also inadvertently ended up learning:
- lots of background nerf knowledge (turns out there's a huge community of professional nerf modders)
- different types of batteries, how they work, what's needed to use them, etc.
- basic electronics: had to create custom voltage regulator and had to plan out my circuit (all the switches make it a bit confuzzling to think about)
- lots of rpi and general unix stuff - I got a lot better at navigating through my project from the terminal (because the pi runs headless)
Technical specs/features:
- rechargeable battery
- can automatically shoot when human or squirrel is in range (you choose human or squirrel) (classifier still isn't great)
- hosts a web server that:
- stores all photos/images
- streams POV video
- hosts a website with buttons to control the gun
- can take POV photos/videos with a button on the gun
- can act as just a normal nerf gun, with or without camera functionality
- hopper thing to hold a lot more rounds (still doesn't work great - lots of jamming. "forced ammo conservation")
- battery level display