Programming Demo
From Neuron Robotics Wiki
Contents |
Set Up Eclipse
Be sure to set up your programming environment before you begin.
Getting Connected
Easy
Advanced
Peripherals
A peripheral class is a wrapper around a single pin or set of pins on a DyIO. Most functions of the DyIO use just one pin (Digital In, digital out, servo out, pwm out, and analog input). Some modes use more then one pin (counter in/output uses 3 and the UART uses 2)
- Digital Input Channel Allows you to connect buttons and digital data into the DyIO.
- Digital Output Channel Allows 5v driven digital values to be sent by the DyIO.
- Analog Input Channel Allows 0v-5v analog values from sensors to be read by the DyIO.
- Servo Channel Allows the connection of standard R/C servos to the DyIO.
- PWM Output Channel Allows you to generate a 72khz 0%-100% duty cycle PWM.
- DC Motor Output Channel This mode scales the PWM to be centered on 128, with an additional digital output for the direction. These signals can be sent directly to an H-Bridge to drive DC motors.
- Counter Output Channel This generates a A-B full quadrature signal which id good for driving stepper motors with just the addition of a simple H-Bridge.
- Counter Input Channel This reads a "half-quadrature" input signal (usually sent by an incremental encoder). It counts up and down using the quadrature algorithm.
- UART Passthrough Channel A 5v TTL compatible serial port. You can program its baud as well as send and receive streams of serial data with a 250 byte buffer.
- SPI Passthrough Channel A 5v TTL SPI peripheral with programmable Slave Select pins.
- PPM R/C Signal Reader Channel A 5v reader for R/C PPM signals generated by old generation R/C transmitters.
- DyIO Multi-Channel PID Controller Used for closed loop control and real-time tasks.
Advanced Features
- DyIO Safe Mode and Watchdog This will allow you to override the safety locks on the voltages used by the DyIO;
- DyIO Sequencer/Scheduler Allow you to record a set of servo set points and synchronize them with an audio file.
- Programming with multiple DyIOs used for code talking to more then one DyIO at a time.
- Neuron Robotics Kinematics Framework used for developing kinematics and control systems for the DyIO.
- DyIO Cache/Flush System used for coordinated motion of multiple DyIO channels.
- Neuron Robotics Hexapod Library used to develop software for controlling hexapods of various configurations.
- Advanced Asynchronous Communication used for tuning the rate that data is collected by the DyIO and sent to the applications.
- Hokuyo LIDAR Interface used to interface with Hokuyo LIDAR modules.
- Kinematics System This is a generic kinematics and control system for building robots that move in Cartesian( X, Y, Z ) space.
- Link Abstraction This is a wrapping system for converting actuators into "Engineering Units".
Cool External Libraries
- DyIO Cloud Connect This is the library for integrating "Cloud Computing" by connecting the DyIO to Google Chat servers.
- OpenCV and the NRSDK This is a great library for talking to webcams and using image processign libararies. The demo will be showing how to use this library to quickly set up face tracking with the DyIO and a webcam.
