The Handy Board Bryan Valentini General Robotics 2003
The Handy Board Bryan Valentini General Robotics 2003
Overview • What is the Handy Board? • The Anatomy of the Handy Board • The HB and Interactive C • Care and Tips Mantra: Charge your batteries before Demo
What is the Handy Board? • Battery powered microcontroller • Capable of handling up to 4 DC motors (output) • Can read several sensors (input) • Re-chargeable • Re-programmable • Static Memory • Serial comm. /IC allows for real-time interaction (USAR)
HB Features • 16 x 2 char LCD • Beating Heart • Two methods for Charging (important!) • Analog/Digital Input
HB Features • Serial Comm. • DC Motor Outputs • Feedback LEDs • User Knob • User Buttons • Power • Bootstrap
Battery Charging • Trickle-charge (normal mode) – Adapter plugged directly to HB, charge light ON – Takes 12 -14 hours – Can leave indefinitely • Via Serial Interface (normal mode) – like trickle charge mode • Zap Charge – must set to ZAP mode – – Charge in 3 hours Charge light OFF Be careful, remove after charging. NOT YOUR FRIEND! EMERGENCY USE ONLY!
Interactive C From Newton Labs: • Complete type safety. Interactive C verifies correct arguments for all function calls and types across separate ". c" files. • Array bounds checking. Array bounds are verified, preventing writing off the ends of arrays and corrupting memory. • Powerful, interpreted, very similar to C • Free IDE provided on website • Require Reg. Number • Serial communication through Adapter to HB via Telephone wire • Read manual for details • Load. c files through IDE to HB, restart HB and code will immediately start executing • Additional libraries may be needed for sensors: fencdr. X. asm
Interactive C Free IDE available on Website License: Howie Choset, 24 -user Key : 58471 -53648 -17580 -18
Bootstrap to Get Started • Used to reset board in case of serious malfunction. 1 - While board is off, hold stop button down. 2 - Turn board power on 3 - Both LEDs should turn on, and the off. 4 - Only mode where board is on, but power light is off. • With IDE, load pcode_hb. s 19 • Pcode initializes the HB
Some Useful Library Functions • See page 20 – 24 • Turns on motor m at power level p. Power levels range from 100 for full on forward to 100 for full on backward. Turns off all motors. ao is a short form for alloff. int analog(int p) – • – Returns value of sensor port numbered p. Result is integer between 0 and 255. void stop press() – Waits for STOP button to be pressed, then released. Then issues a short beep and returns. • Waits for an amount of time equal to or slightly greater than seconds. sec is a floating point number. void printf(char*) – • Returns the position of a knob as a value from 0 to 255. void sleep(float sec) void ao() – • int knob() void motor(int m, int p) – • • Print to LCD void beep() – Produces a tone of 500 Hertz for a period of 0. 3 seconds. • Much more!
Care and Tips • BE CAREFUL!!!! • Trickle charge overnight. • Avoid Zap charge • Not all engines are equal. • Do not solder or glue anything directly to HB. • Build solid bases for HB in your robots. • There is limited memory, program wisely.
Final • Charge your batteries before Demo! • Everyone should have a base-level familiarity with the HB. • Look to website for reference material. Read some of this before you code. • Ask TAs for help before you get frustrated.
- Slides: 12