{"id":19865385,"url":"https://github.com/stevennaliwajka/tf2sentryee","last_synced_at":"2025-05-02T05:31:39.073Z","repository":{"id":243603875,"uuid":"812860783","full_name":"StevenNaliwajka/TF2SentryEE","owner":"StevenNaliwajka","description":"(IN-PROG 80%) Lifesize fully working TF2 Sentry IRL, AI to target, turns and shoots w/ airsoft gun. Contains instructions and documentation.","archived":false,"fork":false,"pushed_at":"2025-02-11T16:25:56.000Z","size":9633,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T23:07:11.875Z","etag":null,"topics":["ai","airsoft","circuit","hardware","image-detection","tf2","turret"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/StevenNaliwajka.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-10T03:20:26.000Z","updated_at":"2025-02-11T16:25:59.000Z","dependencies_parsed_at":"2024-08-11T12:33:04.149Z","dependency_job_id":"ef262afc-f0ca-489e-8b55-b4b37c9c88a1","html_url":"https://github.com/StevenNaliwajka/TF2SentryEE","commit_stats":null,"previous_names":["convexburrito5/tf2sentryee","stevennaliwajka/tf2sentryee"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StevenNaliwajka%2FTF2SentryEE","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StevenNaliwajka%2FTF2SentryEE/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StevenNaliwajka%2FTF2SentryEE/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StevenNaliwajka%2FTF2SentryEE/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StevenNaliwajka","download_url":"https://codeload.github.com/StevenNaliwajka/TF2SentryEE/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251992887,"owners_count":21677022,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","airsoft","circuit","hardware","image-detection","tf2","turret"],"created_at":"2024-11-12T15:22:23.251Z","updated_at":"2025-05-02T05:31:34.063Z","avatar_url":"https://github.com/StevenNaliwajka.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"### 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.\n### To Lockheed Martin, call me...\n## Documentation is NOT complete. In progress\n# TF2Sentry\nThis is the final piece of a project with [Maiikiru](https://github.com/Maiikiru) and Bradon\nto create a fully functioning level one sentry from TF2 using an AIRSOFT gun.\n\nInbetween classes and work each of us have put countless hours into creating a cool project.\n\nThe work can be broken up into 3 repos.\n- [Maiikiru's CV Repo](https://github.com/Maiikiru/TF2SentrySource) for the brain and the logic\n- [Bradon's CAD Repo](https://github.com/ConvexBurrito5/TF2SentryCAD) for the physical CAD/STL files\n- [Current Repo](https://github.com/ConvexBurrito5/TF2SentryEE) for circuitry and build instructions.\n\nThis repo is my work (Steven Naliwajka/ConvexBurrito5), [GitHub](https://github.com/ConvexBurrito5), [LinkedIn](https://www.linkedin.com/in/steven-naliwajka-69564929a/).\n\n### Two options for targeting: \n1) Maiikiru has gone through and created a Computer vision (CV) repo that automatically detects and targets people: [Maiikiru's CV Repo](https://github.com/Maiikiru/TF2SentrySource)\n2) I have also gone and created a remote control, [a slightly modified wrangler](https://www.youtube.com/watch?v=LYPzGNSfVRk)\n\n\nTo jump straight into building, see the Documentation folder.\n\n![sentry](https://wiki.teamfortress.com/w/images/thumb/3/3a/TF2LVL1SG.png/163px-TF2LVL1SG.png)\n![wrangler](https://wiki.teamfortress.com/w/images/thumb/2/27/BLU_Wrangler.png/192px-BLU_Wrangler.png)\n\n## Review of my learned Skills\n- At a high level, what we are trying to accomplish is simple however, as always, implementation is not as easy. I have learned lots:\n  - Communication!\n    - I2C Communication, learned how to implement and write code to utilize it in python.\n    - Radio, utilizing 2.4Ghz wireless transceiver modules to talk from the turret to the wrangler\n  - Power!\n    - The turret and wrangler run off batteries.\n    - 7.6v, 12v, 9.2v was all required. Got to use Buck DC voltage regulators.\n    - Load calculation to make sure at least 5 hours of battery life.\n  - Circuitry!\n    - Circuitry to be able to plug in the turret without removing the battery. Same for Wrangler.\n    - Performed proper wire size calculations; by working out max amps through each.\n  - Coding!\n    - 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.\n    - Arduino(C++) - Got to continue to hone my skills.\n    - Git - I was dragged into the 21st century by Maiikiru. I'm proficient at Git now.\n  - 3D Design!\n    - Solidworks - I am competent at solidworks now.\n  - Improved my 3D printing troubleshooting skills... and gotten a sizeable print farm out of it (2 decked out Ender 3s)\n  - Working with Motors/Servos with control from both I2C and PWM.\n\n\n\nWith that out of the way, lets look into what we have completed.\n## Features of the project\n- Detection and tracking of a person, See [Maiikiru's CV Repo](https://github.com/Maiikiru/TF2SentrySource)\n- We have provided [Maiikiru's CV Repo](https://github.com/Maiikiru/TF2SentrySource) with standard API interfaces so it easy to implement multiple hardware solutions. So far:\n  - Raspberry Pi 5 (Please do not use a pi4, we tried to make it work, the performance is not good) , See 'instructionFT232H.md'\n  - Standard laptop using [Adafruit's FT232H Breakout](https://www.adafruit.com/product/2264), See 'instructionRaspberryPi4.md'\n- There are 4 interfaces implemented in each solution\n  - FiringController\n    - Handles the firing by pulling logic high on a switch to bridge the motor on the airsoft gun.\n  - MotorController\n    - Handles all motion. Basic set of methods to move your servos.\n    - Idle motion, pans slowly looking for people.\n  - PeripheralController\n    - Handles the leds\n  - SoundController\n    - Handles all the sound, runs off of the devices default speaker.\n- If a switch on the wrangler is turned on, automatic movement from [Maiikiru's CV Repo](https://github.com/Maiikiru/TF2SentrySource) will be disabled and overruled.\n  - Input will be solely from the joystick and the firing button on the Wrangler.\n\n## How can you build one?\nGood news! Through many sleepless nights of documentation I have\ncompiled instructions to build your own TF2 Turret. You can begin by \nheading to the Documentation folder","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevennaliwajka%2Ftf2sentryee","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstevennaliwajka%2Ftf2sentryee","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevennaliwajka%2Ftf2sentryee/lists"}