Team: XeroDual. EEL 4924 Electrical Engineering Design. Final Report 3 August Project Ehrgeiz. Team Name: XeroDual

Similar documents
ARDUINO BOARD LINE UP

Preliminary Design Report. Project Name: Finger Pointer

Preliminary Design Report A Wireless ECU Monitoring System Team WEMS 27 January 2009

TEVATRON TECHNOLOGIES PVT. LTD Embedded! Robotics! IoT! VLSI Design! Projects! Technical Consultancy! Education! STEM! Software!

Members: Mark Kampfer, Richard Robinson

WIRELESS VEHICLE WITH ANIMATRONIC ROBOTIC ARM

Preliminary Project Design Report. Project Title: LiveDrive Display. Team Name: Team Road Rage

EasyAVR6 Development System

Preliminary Design Report

Bend Sensor USB Glove Kit User Guide

CSE 466 Exam 1 Winter, 2010

Modular Rapid Monitoring System

Unbridled Raw Hex,

Accelerometer with Analog and Digital I/O for StackableUSB USB1600

Goal: We want to build an autonomous vehicle (robot)

Final Report 26 April 2012

HAND ACTIVATED NON-OBSTRUCTIVE SYSTEM (H.A.N.S.)

LOW ENERGY ANDROID GAMEPAD. Project Proposal

ARDUINO MEGA INTRODUCTION

Final Design Report. Project Title: Automatic Storm Shutters. Team Name: Make It Rain

Dual Serial Shield User Manual

Re: ENSC 440 Design Specifications for a World of Warcraft Input Device

Microcontrollers for Ham Radio

Design Progress Report: x10 Environmental Control System Brian Kennedy, David Ramsay University of Rhode Island, Department of Biomedical Engineering

3.3V regulator. JA H-bridge. Doc: page 1 of 7

Group 10 Programmable Sensor Output Simulator Progress Report #2

Module 003: Introduction to the Arduino/RedBoard

Arduino Dock 2. The Hardware

EMBEDDED SYSTEM DESIGN. George E Hadley, Timothy Rogers, and David G Meyer 2018, Images Property of their Respective Owners

Preliminary Design Report

SBAT90USB162 Atmel. SBAT90USB162 Development Board User s Manual

LOW ENERGY ANDROID GAMEPAD

Doc: page 1 of 8

Midway Design Review. Team RCA December 5, 2012

Amarjeet Singh. January 30, 2012

EEL 4924 Electrical Engineering Design (Senior Design) Final Report April 25th 2010

Lecture 14. Ali Karimpour Associate Professor Ferdowsi University of Mashhad

Arduino Uno R3 INTRODUCTION

ARK. SDP18 Team 21 MDR 12/07/2017

Dynamic Keyboard. Jeevitesh Juneja. Nigel Haran. Final Report for ECE 445, Senior Design, Spring TA: Xinrui Zhu. Project No.

DT-ROBOT Line Follower

EEL 4914 Senior Design Spring 2008

Clock and Fuses. Prof. Prabhat Ranjan Dhirubhai Ambani Institute of Information and Communication Technology, Gandhinagar

WIZTECH AUTOMATION SOLUTIONS (P) LTD., An ISO 9001:2000 and IAO certified company

Virtual Grand Piano. 1. Introduction Objective Background

Wireless Colour Sensing Arm Robot

Dual-POB. View Full-Size Image View Full-Size Image. ( POB-Technology ) ( POB-Technology ) Description

Base Module Board. Engineering» Design» Product. User Manual. Blue Wolf, Inc W. State Street Garden City, ID 83714

USB Virtual Reality HID. by Weston Taylor and Chris Budzynski Advisor: Dr. Malinowski

Voltage Regulator Board User Guide

Doc: page 1 of 6

Computer Basics. Hardware. This class is designed to cover the following basics:

5/12/2016 Eamon Wick. Concept: Utilize a pair shoes and a combinations of natural and unnatural gestures to control musical expressions.

Preliminary Project Proposal. Project Title: Automatic Storm Shutters. Team Name: Make It Rain

OmniMouse Final Presentation

M32 Development Board

Doc: page 1 of 6

The Atmel ATmega328P Microcontroller

How to Use an Arduino

Figure 1. A test controller communicates with User I/O, the DUT, a DMM, and a PC (for program development).

Indriya_DP_03A14. Features. Block Diagram. XBEE based Wireless Sensor Network development platform

Unlocking the Potential of Your Microcontroller

MAXREFDES24EVSYS User Manual

Basic Components of Digital Computer

Preliminary Design Report January 28 th, 2012

AVR Microcontrollers Architecture

For more detailed information about this product please refer to the QT510 datasheet.

Final Design Report. Team Name: No Rest for the Weary

Plasma V2 USB Module

AVR- M16 development board Users Manual

LBAT90USB162 Atmel. LBAT90USB162 Development Board User s Manual

Adafruit Metro Mini. Created by lady ada. Last updated on :12:28 PM UTC

PAN3504 USB OPTICAL MOUSE SINGLE CHIP

EEL 4924: Senior Design. 27 January Project Design Report: Voice Controlled RC Device

DIGITAL COMPASS SOLUTION

Design and Research of Virtual Instrument Development Board

General-Purpose Microcontroller Module 12a Hardware Reference Release 1.4a (October 11, 2017)

PCI Host Controller 14a Hardware Reference Release 1.2 (October 16, 2017)

Cerebot Nano Reference Manual. Overview. Revised April 15, 2016 This manual applies to the Cerebot Nano rev. A

Advance Robotics with Embedded System Design (ARESD)

Embedded Systems, Android & Robotics INTERNSHIP CONTENT

Adafruit USB Power Gauge Mini-Kit

Microcontroller Based Data Acquisition System

ARDUINO MEGA ADK REV3 Code: A000069

Portable Refreshable Braille Display

E401. User Manual. The New Vision of Touch

Lab 2.2 Ohm s Law and Introduction to Arduinos

Note : Power consumption and sample rate will vary according to different firmware versions.

Lesson 5 Arduino Prototype Development Platforms. Chapter-8 L05: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education

Farklı Arduino Boardlar

Blobo Clone Angry Birds Toy Upgrade. Requirement and implementation specification and test plan

Propeller Activity Board (#32910)

Design And Implementation Of Ordering System For Restaurants

REQUIRED MATERIALS Epiphany-DAQ board Wire Jumpers IR Rangefinder Sensor LED Resistors Breadboard Multimeter (if needed)

VKey Voltage Keypad Hookup Guide

Wireless Sensor Networks. FireFly 2.2 Datasheet

2011 FIRST Robotics Competition Sensor Manual

SYSTEM DESIGN SPECIFICATIONS ZIGBEE BASIC SYSTEM

Embedded Programming with ARM Cortex-M3 Basic Experiments 1

ISA Host Controller 15a Hardware Reference Release 1.2 (October 16, 2017)

Transcription:

Page 1/20 EEL 4924 Electrical Engineering Design Final Report 3 August 2009 Project Ehrgeiz Team Name: XeroDual Reinier Santos yayan26@ufl.edu Project Abstract: This project aims to design a human interface device (HID) for computers, an innovation of the mouse and keyboard. The design consists of a pair of wireless gloves that can translate hand gestures into input that a computer can understand. This project encompasses USB Interfacing, writing a driver for an HID compliant device, high resolution analog to digital conversion and sensors, multiple wireless device communication, and writing packets that are HID compliant. Among these five areas, USB interfacing and the concept of HID compliant devices have not been encountered by the member so dynamic research is much required.

Page 2/20 Table of Contents Project Abstract 1 Table of Contents 2 List of Tables and Figures 3 Project Features and Objectives 4 Analysis of Competitive Products 7 Concept and Technology Selection 9 Project Architecture 11 Flowcharts and Diagrams 14 Division of Labor 16 User Manual 17 Bill of Materials 18 Gantt Chart 19 Appendix 20

Page 3/20 List of Tables and Figures Figure 1 Base Device System Level Design 5 Figure 2 Glove Device System Level Design 6 Figure 3 G-Speak Platform 7 Figure 4 Raytheon s version of Minority Report glove 8 Figure 5 System Level Design 11 Figure 6 Hardware Block Diagram of the System 12 Figure 7 Software Flow Chart 14 Table 1 Division of Labor 16 Table 2 Bill of Materials 18 Table 3 Gantt Chart 19

Page 4/20 Project Features and Objectives Ehrgeiz offers the end-user the ability to ease the communication between him and his personal computer. A wide variety of tasks such as engineering design, digital graphics design, 3D modeling, computer gaming, and even as an accessibility for the disabled will be greatly simplified. Ehrgeiz allows the user to more intuitively control graphical user interfaces with his two hands instead of the archaic mouse and keyboard. The main features offered by Ehrgeiz are the following: Hand movement/gesture translation using accelerometers and flex resistors Wide range of movement for each hand through completely wireless connection between the gloves and the base device USB connectivity allows for modernization HID compliancy that allows for Plug-and-Play Acceptable resolution of hand movement/gesture -> computer screen resolution conversion when gloves are used as a mouse Multiple flex resistors allow higher resolution to allow more intuitive hand actions that represent users intended action on the computer Base Device Objectives The base device needs to be configured as an HID device. This can be accomplished by either writing an OS side driver that can read the serial data read from the COMM port that the base device will be plugged into or write a Microprocessor side driver that the OS can recognize as an HID device. The base device must be able to achieve a wireless 1-to-2 communication between it and the two glove devices by either polling or using interrupts. The base device must be able to properly process the serial data received from the two glove devices into HID compliant packets. The base device must be able to power up and communicate between the wireless RF modules that will be used to facilitate the wireless 1-to-2 communication.

Page 5/20 Figure 1 Base Device System Level Design Glove Device Objectives The glove devices must be able to properly communicate between the base device wirelessly by being polled and only sending data whenever acknowledged. The sensors to be equipped on the gloves must be properly configured and designed. The flex sensors must each be in a voltage circuit using a reference resistor that can provide the widest range of voltage values for a better resolution during conversion. The accelerometer must be properly initialized and data must be read in the correct time for processing. The sensor values must be properly processed prior to transmission to avoid error and inconsistency. The gloves and all the devices must be able to fit in a small circuit board that can be easily mounted on the physical gloves. The gloves and all the devices must be correctly powered knowing how sensitive the devices could be, regarding power consumption.

Page 6/20 Figure 2 Glove Device System Level Design

Page 7/20 Analysis of Competitive Products Oblong s G-Speak Platform A very similar device to Ehrgeiz is Oblong s g-speak platform. Both designs are actually based on the movie Minority Report. The g-speak platform, however, is a spatial operating environment, much like an operating system in itself. Although the g-speak is a more futuristic and high-tech design, it isn t economical and uses too much resource, and mainly spatial resource. My design aims to be comfortable and economical in a way that it would be possible to have every home possess one. Figure 3 G-Speak Platform (http://www.gizmag.com/the-real-life-minority-report-computer-interface/10469/)

Page 8/20 Raytheon s version of Minority Report glove Another similar invention was developed by the defense company Raytheon based in Massachusetts. The version was also based on the same movie, Minority Report. In fact, the company hired John Underkoffler, who proposed the similar concept used in the movie, to design the glove. The gloves also work based on image processing through a camera that tracks the gloves. Again, a system that is completely different from my idea of using flex resistors and accelerometers. Figure 4 Raytheon s version of Minority Report glove (http://www.newscientist.com/article/dn7271) Regarding the bigger picture, there are more products similar to my project but as I have researched, all have used one or a combination of many different transducers. Most of these products are currently applied to military, robotics and gaming. My product is geared towards flexibility while taking advantage of the portability of HID and USB connectivity and the needlessness of having to mount a camera. Everything will be entirely local when an actual consumer product is manufactured, for a price much less than that used for military and robotics applications.

Page 9/20 Concept and Technology Selection Operating System: PC operating system for testing Windows XP Windows XP is easy to interface with especially since it comes with the portable USB Plug-And-Play feature that lets the user use any HID device without having to worry about drivers. Linux - Willing to learn how to write drivers for Linux but i prefer XP over this even though Linux is more stable to work with. USB Interface: I have looked up how I can interface USB with AVR and found 3 possible solutions. FT232BM (FTDI) - Using an FTDI chip and writing the drivers through the given programming software, I can write a driver that interfaces my application with XP. http://www.ftdichip.com/ AT90USBKEY - a development board manufactured by Atmel with an AT90USB1287 microcontroller on board that can already interface with a PC soon as you program the microcontroller with the given example codes Teensy++ - a breakout board manufactured by PJRC for the AT90USB646 that comes with a USB mini B receptacle Base Microprocessor: Microcontroller required in interfacing the wireless glove and PC via USB Atmega32A + FT232BM chip One way of interfacing with USB requires the use of a Microprocessor that has RS232 capabilities connected to an FTDI chip. If FT232BM is used as the USB Interface, any Atmel microprocessor, such examples are the Atmega32A or Atmega324P, will definitely be used as the Base microprocessor. AT90USB1287 AT90USB chips are also Atmel Microprocessors that have the same RISC as the Atmega32. The good thing about this line of products is that they have USB functionality and it would be rather easy to implement USB Interfacing using one.

Page 10/20 Glove Microprocessor: Microprocessor that has SPI, USART and ADC features. Atmega32A - Very easy to use and has all of the functionalities stated above but has a possibility of not running stably under low voltage (~3.3V) but will work as far as testing is concerned. Atmega644P In the same line of product as an Atmega32A but has picopowered technology features that will run stably under low voltage. Glove Sensors: Sensors that will be used to translate hand gestures. Flex Resistors - Resistors that change resistance depending on how much bend it gets that will be equipped on each finger. It is required for the final implementation. ADXL320 Analog Accelerometer 5g An accelerometer that measures the acceleration in the X and Y axis and outputs a Voltage on the output pins in reference to the Voltage on the VCC pin. It is very easy to implement but harder to process due to noise. LIS302DL Digital Accelerometer 2g/6g An accelerometer that measures the acceleration in the X, Y and Z axis and outputs serial data that can be read digitally through SPI or I2C. Harder to implement since it requires a boot up sequence and reading registers correctly. Software: program to test interface onto. Windows Desktop easiest way to test mouse functionality of gloves Notepad easiest way to test keyboard functionality of gloves Warcraft 3 a PC video game that requires frequent use of the keyboard and mouse Protel DXP software used in designing circuit boards that can be used to demonstrate the use of the device in the industry. Power Source: Source of power An external battery will be used to power up each of the microprocessor in the gloves. The USB VCC and GND coming from the PC will be used to power up the base for common Ground. Power for the gloves will have to be 3.3V in order to comply with the voltage requirements of the devices such as the accelerometers, XBEE, and the microprocessor.

Page 11/20 Project Architecture Figure 5 System Level Design Ehrgeiz consists of three devices, the base device and the two gloves for each hand. The main components of the base device include an AT90USB646 as the controller and an XBEE as the wireless module. The main components of a glove device include an Atmega644P as the controller, an XBEE as the wireless module, six Flex Resistors, an LIS302DL digital accelerometer, and a 4.5V-6V power supply/battery.

Page 12/20 Hardware Block Diagram Figure 6 Hardware Block Diagram of the System

Page 13/20 The Base Device The base device handles the communication between the gloves and the computer. It uses AT90USB646, a microcontroller by Atmel that has a USB class that can handle USB interfacing. It has the USB receptacle that will be physically connected to the computer. It has an RF wireless module, preferably an XBEE that receives the serial data from both gloves wirelessly. Basically, the base functions as a bridge that converts the serial data that comes from the gloves into HID compliant data that can be understood by a computer. The Glove Devices The glove devices handle all hand movement/gesture translations and wirelessly send serial data to the base device. The gloves can use most Atmel ATMEGA microprocessor that has at least 6 ADC pins to accommodate the flex sensors but in this case, Atmega644P is chosen since it can run stably on 3.3V. There will at least be one ~1.5 flex resistors in each fingers and one on the wrist and a 3-Axis accelerometer for each hand. This accounts to a minimum of 6 ADC pins from each microprocessor per glove. Data will be transmitted wirelessly via RF wireless modules and an XBEE on each glove can accomplish this. Each packet will contain the glove ID and the bytes that represent the gesture. The packets will then be handled by the base device. This minimizes the process time of the glove microprocessors since 6 ADC calls may take a lot of time.

Page 14/20 Flowcharts and Diagrams Figure 7 Software Flow Chart

Page 15/20 Software Description Base Device initialize hardware such as LED, USART, and USB send device descriptor so the PC can recognize the device as an HID compliant keyboard and mouse use USART polling to poll the right and left glove, first poll the right glove by sending ID byte and wait for data to be received match the received data to any of the conditions and if a match is found, process the command and then send to the PC via USB poll the left glove by sending ID byte and wait for data to be received match the received data to any of the conditions and if a match is found, process the command and then send to the PC via USB reset the appropriate variables in preparation for the next loop, then poll the two gloves again Glove Device initialize hardware such as LED, USART, SPI, and ADC boot up the accelerometer by sending the control signals via SPI read the value of the 6 flex sensors and then store them onto their respective variables read the value of the three axes of the accelerometer and then store them onto their respective variable process the data to be transmitted to the base device based on the values of the sensors wait for the base device to send the corresponding ID byte of this glove if the ID byte received is for this glove, transmit the processed data if the data processed corresponds to a keystroke, de-bounce by delaying for a few hundred milliseconds reset the appropriate variables in preparation for the next loop, then read the sensor values again

Page 16/20 Division of Labor Since Team XD consists of one person, all labor is done by the single member. Here is a summary of the significant events in the design. Item Reinier Santos USB interface programming 100% USB interface testing 100% Base microcontroller programming 100% Glove ADC testing 100% Flex Sensor Testing 100% Accelerometer Testing 100% Glove Microcontroller programming 100% Wireless communication programming 100% PCB design 100% PCB building 100% Sensor Processing and Tweaking 100% Table 1 Division of Labor USB interface programming includes writing the AVR side drivers USB interface testing includes testing to see if the PC can read the device as an HID compliant input device Base microcontroller programming preliminary programming of the base microcontroller to process correct information prior to sending the command to the PC via USB Glove ADC testing preliminary testing of the Analog-to-Digital capabilities of the microcontroller to be used Flex Sensor Testing experimentation on the range of values and readability of the Flex sensor Accelerometer Testing experimentation and initialization of the accelerometer to be used Glove Microcontroller programming - preliminary programming of the glove microcontroller to process correct information prior to sending the serial data to the base device via USART Wireless communication programming experimentation and programming of the XBEE wireless RF modules and the 1-to-2 communication between the three devices PCB design designing the PCB of the project PCB building involves populating the PCB with the correct circuit elements and devices Sensor Processing and Tweaking calibration of the sensors and final programming of the microcontrollers

Page 17/20 User Manual How to use the gloves when playing Warcraft 3 Mouse Movement right hand acceleration, in other words, move your right hand towards the direction you want your mouse pointer to go to Left Click bend right index finger Right Click bend right middle finger Attack bend right pinky finger Go to Character bend right ring finger New Skill after leveling bend right thumb Hold Action lift right hand up Use 1st Skill bend left pinky finger Use 2nd Skill bend left ring finger Use 3rd Skill bend left middle finger Use 4th Skill bend left index finger Raise Stats after leveling bend left thumb Cancel Skill lift left hand up Pan Screen left hand acceleration, in other words, move your left hand towards the direction you want to pan the screen

Page 18/20 Bill of Materials Material Manufacturer Amount Cost Shipping Total Teensy++ (AT90USB646 breakout) PJRC 1 24 6.6 30.6 XBEE Wireless RF Module DIGI 3 19 8.65 65.65 Atmega644p Atmel 2 7.76 4.8 20.32 Flex Sensors (Samples) Flexpoint 12 0 0 0 SEN-08658 (LIS302DL Breakout) SparkFun 2 19.95 6.95 46.85 Pair of Gloves Walmart 1 10 0 10 Batteries and power supply Self supplied 0 0 0 0 Circuit Elements Lab and Self 0 0 0 0 Total 173.42 Table 2 Bill of Materials

Page 19/20 Gantt Chart Introduction Project Proposal Research on USB Interfacing Write AVR side driver for HID Interface base board with PC via USB A/D testing for gloves Build glove board Analog to Digital to HID conversion Transmit Glove data to PC Demo (team) Available Weeks in Summer 2009 0 1 2 3 4 5 6 7 8 9 10 11 12 Table 3 Gantt Chart Planned Extension Down time

Page 20/20 Appendix A Circuit Designs