2013年9月12日 星期四

OpenCapSense FYP Application Idea 1



OpenCapSense FYP Application

OfficePro






Objective

Living in a metropolis with high-end technology around us, computer seems to have become a necessity to every one of us. Though not foolproof, Hongkongers are sitting in front of the monitors a few hours every day. With such a high usage this means it would be highly beneficial to the citizens if we walk a further step to improve the user experience - which is why we are introducing the OfficePro to you.

Our sensing table follows three main principles: environmentally-friendliness, convenience and fun. We allow automatic turning on and off of computer and lighting systems by detecting presense of users. This prevents unnecessary usage of electricity which helps to reduce greenhouse gas emission.

With the help of the OpenCapSense Kit, we are transferring the traditional keyboard onto a smart table which users can have complete control of the computer with simply some gestures. The table serves as a floating keypad that allows arrow and volumn control to be used for from basic internet surfing to word file editing to even pc game playing. It replaces part of the function of the traditional keyboard. It is modern and user-friendly, and it is fun.



Details of the project

Our sensing table will make use of the OpenCapSense Kit to serve functions that provides the users with a whole new working experience. Whilst the table brings convenience to users, we try to keep everything simple so that it is easy to use even for first-time users.

The sensing table basically serves the following functions:

1.    Automatic system turn on

   
When user sits on the chair and approaches the table, the action triggers sensor A to turn on the whole system. System recognizes that the table is in use and thus turns on the computer monitor and the light for the users. The remaining sensors also switch to the stand-by mode.

2.    Floating arrow keys


We understand that sometimes it’s just hard to do internet surfing with greasy hands of snacks, which is why we are designing the floating arrow keys to allow computer control without the trouble of having to touch the pad. Sensors B,G,F and H are by default set as UP, DOWN, LEFT and RIGHT keys respectively. This gives users more freedom to explore on the unlimited internet world and brings more interest to playing computer games as the sensors serve also as a game controller.

There is also a sensor C in between the four sensors for user customization later on. Users can decide the function of the key according to their individual needs.

3.    Volumn control

On the left side there lies sensors D and E which are responsible for the volumn control of the computer. D and E represent maximum and minimum volumn respectively, and users can move their hands in between the two to have gradual increase/decrease of volumn as the two sensors can sense change of input data due to movement of hands.

4.    System locker



A sensing table is somehow just a table, and there are times when we do not want any          additional features and want to keep it simple and plain. In this case, a locker may help. We decide default locking pattern for the system triggered with sensors B,F,G and H. It is easy like unlocking your smartphone. The only difference is that you do not even have to touch.

After a successful recognition of the locking pattern, any further control options would be denied. At this time users can do things on the table freely without needing to worry that their gestures would trigger some unwanted options for the computer. They now can do writing, drink cola or simply take a good nap on the table!

2013年8月25日 星期日

Progress slot 1: IKVM and Weka

Recently we have been working on a number of things to prepare for the start of the project.


1. Enhancing the board data collection performance

Last time we developed a C# program to display the collected data. But soon we found the program reacting a bit too slow that sometimes it failed to handle the large amount of input data, resulting in the program not responding.

Thus, we amended the way the data displays to enhance the speed of the program. At first, we put each of the input data into a list and display them accordingly to the user. The weakness of this method is that the system fails to handle the tremendous amount of data. Considering that it is not necessary to study all the information, we changed the way the data is displayed. This time we choose to extract and display at regular intervals so that not all information is shown.



2. Testing of the sensing board with variations in parameters

We tested the sensing board with different board size and distance and the nature of materials nearby (conduction/insulator).



Materials tested: 1. large sensing board; 2. small sensing board; 3. aluminium foil; 4. lead foil.

 We found that there are no observable differences in data values for different board sizes. But with a larger sensing board it increases the effective area that can be sensed.

For nature of testing materials, we tried to use the above materials to serve as sensing boards. We used bared hands to approach and finally touch the materials. We found that conductors (the foils) led to variations in data values, while insulators (wooden ruler) did not make observable changes in values.



A small sensing board



A large sensing board



Lead foil as a sensing board

The data value started to vary as the hand was around 15cm to the board. As it continued to approach the board, value increased. Finally when the hand touched the board, there was a significant increase in value immediately.



We connected two sensors in coils. This allows two independent sensors to sense a same particular area.

3. IKVM + Weka


We wrote lines to call out Weka for use in our C# program. However, Weka is compatible only with Java, thus cannot directly communicate with C#. We thus use IKVM to allow use of Weka on C#.

Reference:

IKVM with WEKA tutorial
http://weka.wikispaces.com/IKVM+with+WEKA+tutorial

C# code to run weka classifier
http://stackoverflow.com/questions/9820348/c-sharp-code-to-run-weka-classifier

2013年8月3日 星期六

Hands on testing of the OpenCapSense Kit

So this is our first hands on experience with the OpenCapSense Kit, our exciting journey begins!

Before start, we first explored on the OpenCapSense website and read through the documentations to gain better understanding of the components and the principles behind.

We then downloaded the Virtual COM port installation and installed the VCP drivers.


We then installed PUTTY to configure the USB port to allow connection.


Once connected, the microprocessor works to receive data from the eight USB ports in a round-robin manner at regular intervals.

PUTTY serves as a platform to display the received data and show them on the screen accordingly.


We also wrote a C# program to display the data just as what PUTTY does. For this program, we could save all the received data in a .csv file for later use.