Giter Club home page Giter Club logo

toolgun's Introduction

Tool Gun

Fully working and customizable Garry's Mod tool gun using a Raspberry Pi (and many other components).

RIP Dav0r

Features

UI

The UI is nearly identical to the one seen in-game. The biggest differences are that this one is actually interactive and includes more than one menu. Below is a complete list of UI features.

  • 24-hour clock
  • Audio mute status
  • Scrolling text that displays the title of currently selected tool
  • CPU and RAM usage stat
  • CPU temperature stat
  • System uptime stat
  • File menu - Displays custom menu defined by each tool
  • Open menu - Displays list of tools
  • Quit button

Tools

Unfortunately, this tool gun is incapable of defying the laws of physics, but you can still do some fun things with it. The main functionality of the tool gun comes from separate Python programs called tools, which are found in the Open menu. Every tool is designed to perform one main function by pulling the trigger, which in this case is a simple GPIO button. The behavior of this function, as well as other functions, can be modified through the File menu, which is customized for each tool. For example, the Samsung TV Remote tool can only transmit IR codes with the Samsung protocol and nothing else, but the specific code that gets sent can be configured. By default, the tool gun only comes with a few tools, but you can easily create your own using the base provided.

Current List of Tools

  • Samsung TV Remote
    • Has presets for standard Samsung TV remotes. Uses the IR transmitter.
  • BrizLabs Fairy String Remote
  • LED Web Server Remote
    • Has preset colors for my LED Web Server. The server is an ESP32 hooked up to the data wire of a BrizLabs fairy light string. It allows individual LEDs to be set to any color via an HTTP POST request.
  • Get Position
    • Prints user's general location based on their IP (Only works if program was launched in a terminal)

Building Your Own

If you want to make a tool gun yourself, everything you need is listed here. Once you have the required items, you can follow the setup instructions here..
If you have little to no experience with Linux, the Raspberry Pi, Arduinos, and/or electronic circuits, I HIGHLY recommend you learn the basics of each before attempting to make this, as the guides assume you're already familiar with these things. I will not provide support for issues you may encounter that aren't directly related to this project.

toolgun's People

Contributors

lambdagaming avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.