Giter Site home page Giter Site logo

bhhs-physbotlib's Introduction

PhysBot

Rewrite of the RedBot library functions for the SparkFun RedBot robot. This repository serves as the codebase for our robotics project program.

First lets give ample credit to where it is due:

  • Mike Hord, SparkFun Electronics and
  • B. Huang, SparkFun Electronics

who provided an excellent starting point for this codebase. Without their effort I wouldn't have been able to put this together. I will definitely buy them a round or two if I ever find myself in their neighborhood or should they find themselves in mine.

In early 2015 we started to shop around for a robotics kit we could incorporate into our physics and engineering classes. We bought a few and evaluated many more and finally settled on the RedBot kit by SparkFun. I am not saying its the best around, everyone has to decide what works for them but for us this was just the ticket for us. It was relatively cheap, had ample room for 'growth' (read: tinkering) and could serve a variety of students from NooBs to experts.

The basic kit we provide our students allows for kinematic and motion studies as well as control functions and projects (sumobots, mazebots and the like). As such all of our robots have wheel encoders (an optional add on) and have line following sensors with a modified mount. We have sonic ranging kits and light sensors (robo-roaches!). I started to tweak the code to provide a streamlined library for our kits and ease of use for students who are just starting out. Pretty soon I started to make so many modifications that I decided to break this out into its own library.

This collection of objects is, as stated, a streamlining and amplification of the fine work by the SparkFun Folks so as to meet our particular needs. As we develop curricular models for projects and should you want to implement this library (or some iteration of your own) feel free to do so. Please include the initial acknowledgement for the original authors above.

Paul Beeken, Physics
Byram Hills High School

Summary of files

PhysBot_Experiments Folder containing simple examples. REAMDE.txt

PhysBot.h/cpp Definitions for PhysBotMotor, PhysBotMotor, PhysBotButton, and PhysiBotSensor. Code needed by everyone. Handles interrupts and pins

PhysBotButton.cpp, PhysBotBlinker.cpp PhysBotEncoder.cpp PhysBotMotors.cpp PhysBotSensor.cpp Implementation of the definitions in PhysBot.h

PhysBotMotorServo.h/cpp Code needed if you want to limit motor motion to certain distances or times. Can also servo speed but is limited by current to motors.

PhysBotKinematics.h/cpp is used by PhysBotMotorServo or if you only want to monitor the motion of the robot by itself. Provides dimensional information (speeds in cm/s etc.)

PhysBotLineTracker.h/cpp Implements a line following program it shows how to manage the small sensors in coordination

PhysBotAccel.h/cpp Code needed if you want to incorporate the Accelerometer daughter card.

====

Currently unused

PhysBotRadio.h/cpp, PhysBotBumper.h/cpp, PhysBotSoftwareSerial.h/cpp PhysBotSoftwareSerial.h We'll get to these later.

bhhs-physbotlib's People

Contributors

pbeeken avatar

Watchers

 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.