RS Animatronic Lab Board

Introduction

/media/uploads/p07gbar/_scaled_board4.jpg

RS has released the RS Animatronic Lab Board to help with mbed learning and development. The board is equipped with Ethernet, USB, a motor driver, two potentiometers, two tactile push buttons, a barrel jack power input and headers for the RS Audio Codec board (sold seperately) along with the headers for the mbed.

The board is available from RS: Animatronic Lab for mbed

/media/uploads/p07gbar/animatronics_labboard_total.png

Demo

Have a look at /users/p07gbar/notebook/larry-the-lobster-larynx-transplant/ for an idea of what the board could be used for!

Components

USB

The Lab Board is equipped with a USB socket for USB host applications; making it easy to just plug in a USB flash drive or bluetooth dongle and use the mbed (user created) libraries:

Import programMSCUsbHost

Implementation of USB Host for mbed 1768 which can access USB flash drives. See notebook page for details.

Import programBlueUSB

Bluetooth support for MBED with $2 Bluetooth dongles. Includes a USB host and built in support for bluetooth HID devices such as mice, keyboards and wii controllers.

Ethernet

The lab board also has a Ethernet jack with magnetics integrated. This allows the mbed to be connected to LAN and the internet easily: you only have to load up a simple sketch to get started:

Import programTCPSocket_HelloWorld

TCP Socket Hello World with Ethernet

Potentiometers and switches

The potentiometers wipe between 0 and 3.3V. The switches require the pull down enabled in software:

#include "mbed.h"

DigitalIn button(p16);

int main() {
   button.mode(PullDown);
   bool isButtonPressed = button;
}

For anything else, the handbook is what you want: The Handbook.

Motor Driver

The board has on it an L293 dual H-bridge driver chip. This allows the running of 2 DC motors, a Stepper motor or 4 solenoids from its outputs. The chip has 3 pins per half bridge pair: A level, B level and AB enable. Setting A level high will make the A half bridge drive high, so long AB enable is also high, and so on. Full details can be found here: TI L293 Datasheet

Here's an example (SW1 turns the motor on and off and R4 sets direction/speed, hook up an external power source to V+ and GND):

Import programRSALB_hbridge_helloworld

A test program for the RS animatronic lab board motor drivers.

Import library

Public Member Functions

  HBridge (PinName A, PinName B, PinName en)
  Creates an instance of the HBridge class.
void  stop ()
  Hard stops the motor.
void  start ()
  Starts the motor.
void  speed (float speed_in)
  Sets the PWM output of the enable pin and therefore the speed of the motor.
void  power (bool onoff)
  Turn off and on the enable pin.
void  power (float power_in)
  Set the pwm value of the enable pin.
void  soft_stop ()
  Soft stop the motor.
void  forward ()
  Go forward, starts the motor.
void  backward ()
  Go backward, starts the motor.
void  forward (float speed_in)
  Go forward, starts the motor.
void  backward (float speed_in)
  Go backward, starts the motor.
void  A (bool highlow)
  Set A high or low.
void  B (bool highlow)
  Set B high or low.
void  direction (bool direction_in)
  Set the direction of travel.

Audio Codec

The TLV audio codec daughter board provides high quality audio input and output to the mbed. For more information see here: RS Audio Codec