Current medical simulations for training students in the medical field involve the use of a complex computer interface to control key parameters. The Jump Trading simulation interface is an ergonomic and easy to use user interface that has been designed for use in these medical simulations. The user interface contains various switches, dials, and buttons that are used to quickly modify the most important parameters of a simulation thus allowing for a more fluid and real-time simulation experience. This report documents the design, construction, verification, and cost of this device.
There are a number of areas in the user interface in which there were alternatives in the design. We knew we wanted some type of device that would give us the capability to sweep parameters. The most obvious device was a linear potentiometer. Using a potentiometer was our initial plan. It was not until after the design review when we realized that this was not the best approach.
Choosing the microcontroller was another important decision. The first decision was to choose our microcontroller and we debated between the PIC microcontroller and Arduino. The PIC microcontroller was available for free in the senior design lab. This appealed to us from a cost perspective. In the end, we chose to go with the Arduino because the group had experience programming with the Arduino.
Choosing a display proved to be more challenging than originally anticipated. We were not sure what type of display to choose or what dimensions to choose since we did not know how much data a user may need to gather from the device. We decided to go with a 16×2 LCD. The screen is small, but we wanted our device to be ergonomic and we knew that incorporating a large display would make it difficult to meet this goal.
Our design for our GUI was determined using many factors. We decided to use Processing, because of its ease of implementation. We also determined that other GUI’s such as QT didn’t work as well with the Arduino and were more cumbersome to implement. Initially we wanted to use the GUI created for Laerdal’s SimMan manikin, but we didn’t receive the SDK early enough in the development process. The Processing language is based on Java and allows a user to compile and run the code instantly which allows the programmer to get instant feedback when working in this environment.
Our design incorporates two KC series six-position rotary switches. This allows for the selection of a total of 12 different parameters by the operator. Each switch contains seven pins: six input pins and one output pin. When the switch is rotated through each position, it creates a connection between output pin and the corresponding input pin, thus the output is whatever signal is present on that input pin. Figure 3.1 shows the switch circuit schematic implemented.
Two buttons are connected to the Atmega328 via two digital pins. Figure 3.3 shows the schematic for the buttons. One pin of each button is connected to 5V from the regulator. The second pin is connected to the digital pin of the microcontroller. A 10kΩ resistor functions as a pull down resistor.
We also incorporated a 100Ω resistor to limit the current flowing into the microcontroller. When the button is pressed, the circuit is completed, and current can flow. The Arduino will see approximately 5V at its input. When the button is not pressed, no current flows and the Arduino will see ground.
Verification of the user interface is accomplished by verifying each component of the user interface which includes the following: switches, keypad, push buttons, and rotary encoder.
To verify the USB interface we sent serial data from the microcontroller to the PC. The processing terminal printed out the serial data that we sent over. We compared the printed data to the sent data to confirm accuracy.
To verify the microcontroller, we wrote code to interpret the various inputs and displayed the data to the LCD. We changed the inputs and watched the corresponding values change on the LCD.
To verify the power supply we measured the voltage from the wall power adapter as well as from the voltage regulator. The voltages were measured using a multimeter. The voltage from the power adapter was 12.43V.
Total costs are shown in Table 4.3. The total cost is the sum of parts and labor costs.
Our project had many successes and we accomplished a great deal over the entire development cycle this semester. The 3D housing we created for our device was a huge success: it fits comfortably into the hand of the user and the housing device is also the most complex project to date produced from the 3D printer at the Champaign-Urbana Community Fab Lab.
Our device is ergonomic and has been laid out well. The buttons are easily accessible by the users thumb and the rotary encoder can be manipulated easily with one finger. The switches and keypad can also be accessed quickly. We were also able to attain the maximum communication rate of 115200 baud between the microcontroller and PC, allowing for manipulation of data as quickly as possible which corresponds to real time manipulation of data. We feel our design will dramatically improve the simulation experience to better train the students.
Finally, we are most proud of the fact that every design goal (other than implementation of the Laerdal software) and verification we had stated in our design review at the beginning of the semester was accomplished. We originally created a contingency plan for the Laerdal software, because we knew this was something that was out of our control based on when we received the software or if we received it at all.
Source: University of Illinois
Authors: Jacob Clifton | David McKiernan | Ryan Schmid