Giter Site home page Giter Site logo

minipantiltteensy's Introduction

MiniPanTiltTeensy Project

This project demonstrates the use of a Teensy 3.5 to prototype an FRC robot subsystem, developed in Java. It provides slew and center capabilities to an Adafruit Mini Pan-Tilt. The developed code implements WPILib commands and a subsystem. A subset of the WPILib command scheduler has been ported and is run at startup. The commands and subsystem can be directly deployed on a roboRio (if an IServo is implemented against the WPILib) if desired.

This gives the flexibility to run the subsystem as a standalone unit (plugging the teensy into the roboRio), or to plug the servos directly into the roboRio. To call the subsystem as a standalone unit, you would send serial commands using the WPILib SerialPort class. See the CameraMountJoystickDriver project for a standalone Windows Java application that implements the serial interface.

See entertainment here

Requirements

  1. Arduino IDE (which you do not need to use as an IDE)
  2. Teensyduino
  3. Realterm (optional if you want to send commands manually to the teensy)

And of course VSCode for FRC development (which includes the JDK and gradle).

Deployment

  1. Plug in the pan servo (yellow wire) to pin 36 and tilt servo to pin 35 on the teensy and make sure the servos have power. You can plug them in to the 3v3 power on the teensy.
  2. gradlew deploy
  3. The Teensy Loader should appear.
  4. Push the button on the teensy and observe the generated hex file being uploaded to the teensy.

Usage

  1. Use Realterm to connect to the teensy COM port (COM4 on my Windows 10 system). (56700, 8, 1, N which is the Realterm default)
  2. See the serial commands documented in the CommandProcessor.process() method.

or...

  1. Use a joystick and the above referenced driver project.

WIP

  1. Remove the Arduino and Teensyduino pre-install requirements
  2. Move boilerplate gradle tasks out of build.gradle and into a reusable file (maybe vscode plugin?)
  3. Cut release tag of dependencies so release tags can be used instead of commit tags

minipantiltteensy's People

Contributors

chuckb avatar

Watchers

 avatar  avatar  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.