ABSTRACT The goal of this project was to create a more realistic and interactive appliance interface for a Usability Science class here at Union. Usability.

Slides:



Advertisements
Similar presentations
DATA PROCESSING SYSTEMS
Advertisements

Background Implementation of Gesture Recognition in the NIST Immersive Visualization Environment Luis D. Catacora Under the guidance of Judith Terrill.
Copyright © Allyn & Bacon 2008 POWER PRACTICE Chapter 3 Computers in the Learning Environment START This multimedia product and its contents are protected.
EXTERNAL COMMUNICATIONS DESIGNING AN EXTERNAL 3 BYTE INTERFACE Mark Neil - Microprocessor Course 1 External Memory & I/O.
10 Software Engineering Foundations of Computer Science ã Cengage Learning.
Bits and Bytes + Controlling 8 LED with 3 Pins Binary Counting and Shift Registers.
In this presentation you will:
The Operating System. What is an Operating System? The software which makes it possible for you to use your computer The software which starts up when.
Motivation: The idea behind this project was to create a platform for easily and inexpensively testing user interfaces. A good user interface is a layout.
Nickolas Potvin Advisors: Professors Hedrick, Cass, and Fernandes.
COMPUTER APPLICATIONS Mr. Toscano Computer Concepts Lesson Objectives Students are introduced to the differences between computer software and computer.
Microprocessor and Microcontroller Based Systems Instructor: Eng.Moayed N. EL Mobaied The Islamic University of Gaza Faculty of Engineering Electrical.
1 Electrical and Computer Engineering Cam Proctor Ramsey Khudairi Tom Gilbert Chad Young Project Orion TekBand.
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Project performed by: Safi Seid-Ahmad Emile.
Guitar Effects Processor Critical Design Review October, 07, 2003 Groups Members: Adam Bernstein Hosam Ghaith Jasenko Alagic Matthew Iyer Yousef Alyousef.
Basic Input/Output Operations
Component and Deployment Diagrams
1 Software, Programmings. 2 Types of Software Figure 9.1 Shakeel Ahmad.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
PIC Evaluation & Development Board Project Team Chad Berg – CprE Luke Bishop – CprE Tyson Stichka – EE Nick Veys - CprE Financial Budget Abstract/Background.
Team #9: Video Recording Tool for Car Infotainment and Navigation Systems Members: Shengzhe Gao, Radhika Somayya, Xinye Ji, Kun Zhang, Yan Gong, Jianying.
Senior Project – Computer Engineering Integrated Workout Shoe Peter Katlic Advisor – Prof. Cotter Development: Consisting of an 8051 microcontroller.
PIC Evaluation/ Development Board Dec02-12 December 10, 2002 Client: ECpE Department Faculty Advisors: Dr. Rover, Dr. Weber Chad Berg, Luke Bishop, Tyson.
Micro-operations Are the functional, or atomic, operations of a processor. A single micro-operation generally involves a transfer between registers, transfer.
Chapter 5 Engineering Tools for Electrical and Computer Engineers.
Senior Project – Electrical Engineering Biofeedback Training System for Improved Athletic Performance Matt Statton Advisor – Professor Helen Hanson.
Levels of Architecture & Language CHAPTER 1 © copyright Bobby Hoggard / material may not be redistributed without permission.
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
Components of Database Management System
R.O.M. System Team: RISC Takers Team Members: Paul Banks, Yorick Robinson, Evan Tu, & Hans Weggeman Louisiana State University – Senior Design October.
Se Over the past decade, there has been an increased interest in providing new environments for teaching children about computer programming. This has.
System Development Life Cycle. The Cycle When creating software, hardware, or any kind of product you will go through several stages, we define these.
Computers Are Your Future Eleventh Edition Chapter 2: Inside the System Unit Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall1.
Capstone Design A Pedagogical Tool for Usability Science Susan Beckhardt Advisors: Chris Fernandes Aaron Cass James Hedrick.
Accelerating Scientific Exploration Using Workflow Automation Systems Terence Critchlow (LLNL) Ilkay Altintas (SDSC) Scott Klasky(ORNL) Mladen Vouk (NCSU)
This tutorial has been created to help educators and CSME collaborators navigate the computer application “Audacity” to facilitate the creation of podcasts,
1 ISE 412 Usability Testing Purpose of usability testing:  evaluate users’ experience with the interface  identify specific problems in the interface.
Intermediate 2 Software Development Process. Software You should already know that any computer system is made up of hardware and software. The term hardware.
 Lecture 2 Processor Organization  Control needs to have the  Ability to fetch instructions from memory  Logic and means to control instruction sequencing.
Hardware/Software Basics Test
Computer Software Operating Systems – Programs. Computer Language - Review We learnt that computers are made up of millions of tiny switches that can.
HOW A COMPUTER PROCESSES DATA. What is hardware? Hardware is the electric, electronic and mechanical equipment that makes up a computer What is software?
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
Dance Tutorial Design Review Steve Amoroso Lauren Bouchard Marcy Dutcher CE Design Projects II December 1, 2005 Professor Czernikowski.
Hardware/Software Basics Test Get out your DIY Test Review.
Von Neumann Machines. 3 The Von Neumann Architecture Model for designing and building computers, based on the following three characteristics: 1)The.
1 AQA ICT AS Level © Nelson Thornes 2008 Operating Systems What are they and why do we need them?
The information systems lifecycle Far more boring than you ever dreamed possible!
Web Programming Java Script-Introduction. What is Javascript? JavaScript is a scripting language using for the Web. JavaScript is a programming language.
Poster Design & Printing by Genigraphics ® Matlab-based Nanoscale Device Characterization Paul R. Haugen and Hassan Raza Nanoscale Devices.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ read/write and clock inputs Sequence of control signal combinations.
Management Information System (MIS) MIS is short for management information system or management information services. Management information system,
Embedded Systems. What is Embedded Systems?  Embedded reflects the facts that they are an integral.
Java Programming: From the Ground Up
WHAT IS A NETWORK TYPES OF NETWORK NETWORK HARDWARE
Microcontroller Enhancement Design Project
More Devices: Control (Making Choices)
Chapter 2: Operating-System Structures
FeMaidens Programming
Weaving Abstractions into Workflows
CIS16 Application Development – Programming with Visual Basic
Engineering Tools for Electrical and Computer Engineers
Intelligent HVAC Control
Computer Basics Applications.
FPGA Vinyl to Digital Converter (VDC)
CS334: Logisim program lab6
Presentation transcript:

ABSTRACT The goal of this project was to create a more realistic and interactive appliance interface for a Usability Science class here at Union. Usability Science deals with how easily a user can accomplish certain tasks and evaluating how usable certain designs are. The purpose is to replace the previous cardboard, ad-hoc interfaces with something that allows students to test their designs for usability more efficiently. The goal of our research was to design and create both the software and hardware implementations of a system that allows students to plug in any of many “widgets” (I/O devices) onto a main board in any location and then let the student specify in software how the widgets are supposed to interact with each other. Using a microcontroller, the board will also record when and how each widget was used so that the usability of a certain design can be determined. Designing the most modular and flexible way to create the hardware widgets along with an easy to use and modular programming language have been focal points of the project. The design has moved from connecting wires, I/O devices, and chips together on a protoboard, to prototype devices, to printed circuit boards with all the components in place and a programming language that allows a user to define a state machine for a design. A Pedagogical Tool for Usability Science Senior Project - Computer Engineering Nickolas Potvin Advisors: Professors Hedrick, Cass, and Fernandes BACKGROUND Many of the design choices for this project were previously decided by another student so one of the main goals for us was to follow the designs already in place. The designs in place and future designs also have to coincide with the overall design goal to create a product that is modular and allows for a more usable simulation of an appliance. This means that all designs have to function in tandem with the microcontroller chosen for this project: the TINI by Dallas-Micro. The TINI is a Java enabled microcontroller that also has support for the 1-wire devices developed by the same company which are location independent due to their addressability. In addition, the TINI is Ethernet-enabled so all code updates and testing can be done through telnet or FTP. SOFTWARE DESIGN In order to design any software to use the TINI microcontroller and get these widgets to function, we had to explore the individual chip functions and use them in a Java program. The chips we used for this project are the DS2450 (A/D converter) for input and the DS2413 (2-channel switch) for output. Both chips have their own unique functions and every chip has a unique ID number used to identify it on the 1-wire bus. Each device’s ID number is stored in a database after I’ve created the widget using that device. After a user has created a program using my specific language created for this project, that program gets parsed into a tree, that tree gets broken down into a data structure, that data structure has specific values filled in from the database of known devices, and that data structure can then be used to fill in a template Java program to be used on the TINI. FUTURE WORK As of now, there are difficulties fitting some of the desired designs on to the given space requirements for each widget. Further research into the use of PIC chips is required in order to fit a clock (four 7-segment displays) or another complicated device onto one widget. The software also has much more work that needs to be done before it can be fully functional. In addition to storing information about each widget in a database, the program needs to save time-stamped data about each widget that is used while a program is running and be able to dump that data log at any point. The software also needs to easily allow each widget’s functionality to be tweaked for each user so that different boards can be designed. WIDGET CREATION The first picture here (left) shows one of the prototype widgets I have created that is a 7-segment display that uses four DS2413 chips. The second picture shows another finished widget made using printed circuit boards. This second widget (middle) uses a potentiometer to act as a knob and a DS2450 chip. Both widgets were created using a solder reflow process that involves a special solder paste and the use of an oven to solder small chips. This design can be easily reproduced and simply plugged into the main board, which can be seen below (right). This prototype board only allows four widgets to be plugged in simultaneously but has the exact same functionality of a larger final board. WIDGET DESIGN After we decided on the initial hardware design, we needed a more efficient way to create each widget. We were able to transfer the previous hardware design into CAD Eagle (top). After all the parts are on the schematic in Eagle it is a simple matter of making connections where they are needed. A board file is then created in Eagle, which specifies the exact locations of each part and wire (middle). Once we have finished the board file, it is exported to CircuitCAM, which allows us to prepare and convert the design for the circuit board printer. We can then use the circuit board printer to create the designed circuit using a collection of drilling and milling tools (bottom) on the LPKF rapid prototyping machine. The finished product (after quite a bit of soldering) can be seen in the “Widget Creation” section. RESULTS Not only have we created a design that allows the widgets to be location independent and interchangeable but we have also created several fully tested and implemented widgets. Two widgets have been fully tested and four have been designed. A prototype main board has also been created to allow the widgets to interact just as they would on a larger version. I have also made notable progress on a user scripting language that defines how widgets behave.