Team:Cambridge/Project/Instrumentation
From 2012.igem.org
(→Electrical) |
(→Software) |
||
Line 17: | Line 17: | ||
== Software== | == Software== | ||
- | Software applications were developed for both | + | Software applications were developed, as mentioned before, for both PCs and android devices. This was done in order to provide extra flexibility as the potential use of our kit is field work. The computer software is written in the free open-source language python with cross-platform wxWidgets used to implement a GUI. The idea was to develop a fully functional GUI for collecting sensor data from all six inputs and display these as line graphs and in a final bar chart. The image on the right is a screengrab of the GUI under development and testing its ratiometric ability. The higher values are when one sensor is covered, the lower for the other and no change is observed when both are illuminated equally. By controlling the illumination, we managed to make our application write iGEM in morse code! The android GUI was made in Java using Eclipse editing mostly Amarino projects' open-source code. The first screen (shown below) asks for the address of the Bluetooth modem connected to Arduino. This application is also functional as it can successfully connect, read real-time data and plot them in any Android phone/tablet. |
- | The code (for programmers) as well as a ready application to be downloaded (for non-programmers) can be found | + | The code (for programmers) as well as a ready application to be downloaded (for non-programmers this is the .apk file) can be found [https://www.dropbox.com/sh/eg8u2epwkhr2zfh/H3bf-wN1d_<u><span style="color:#00000CD">here</span></u>] |
- | [https://www.dropbox.com/sh/eg8u2epwkhr2zfh/H3bf-wN1d_<u><span style="color:#00000CD">here</span></u>] | + | |
+ | It should be noted that amarino_2.apk, found in the link above must also be downloaded on the android device for our application (Bio_Logger) to be perfectly functional, as it requires one of the amarino libraries. | ||
- | |||
[[File:androidapp.jpg|320px|thumb|left|Android application start page]] | [[File:androidapp.jpg|320px|thumb|left|Android application start page]] | ||
[[File:python.jpg|225px|thumb|left|Python program for PC]] | [[File:python.jpg|225px|thumb|left|Python program for PC]] | ||
{{Template:Team:Cambridge/CAM_2012_TEMPLATE_FOOT}} | {{Template:Team:Cambridge/CAM_2012_TEMPLATE_FOOT}} |
Revision as of 13:33, 19 September 2012
Contents |
Instrumentation
Instrumentation was a vital aspect of our project in the development of the kit. The term instrumentation includes all the mechanical, electrical and software components which allow the incorporation of our multiple independent modules into a working kit. The design process as well as testing data of our instrumentation can be reviewed here
Mechanical
The mechanical chassis prototype, as can be seen from the image on the left, was made using two materials: foam and aluminium. Foam was chosen due to its easy manipulation and aluminium due to its excellent strength to weight ratio. The prototype includes a rotary mechanism (a central metal axon is connected to the cuvette holder cylinder), which can be driven in steps by a DC electric motor (and a suitable code).
The purpose is that our self-developed sensor, which was made using two light dependent resistors (and can be seen in the design page), an orange and a blue theatrical filter, takes multiple readings from different biosensors, each found in a different cuvette. It should be noted that each cuvette holder is coated on the inside with highly reflective mylar film (image on the right). In this way, most of the light produced by the bacteria is concentrated for more accurate sensor measurements.
Electrical
The hardware/software electronic interface was achieved using an Arduino microcontroller. The arduino circuitry, as illustrated on the left, is made up of our sensor, the motor, and a PCB or a breadboard (both were used in the process of our project). The Bluetooth modem (Bluesmirf Gold) is an extra to be used when communication with mobile devices (e.g. Android) is required. The LDRs of our sensor sit in a biased potential divider setup allowing for a direct ratiometric output without further calculations needing to be made in the software (more information, including testing data for our sensor can be found in the design page as well). The circuitry is incorporated into the mechanical chassis for an attractive, ergonomic overall design. The ode of the pre-set C++ program for driving the arduino can be found and downloaded hereNote that there are two different programs: one for PCs and one for android devices.
Software
Software applications were developed, as mentioned before, for both PCs and android devices. This was done in order to provide extra flexibility as the potential use of our kit is field work. The computer software is written in the free open-source language python with cross-platform wxWidgets used to implement a GUI. The idea was to develop a fully functional GUI for collecting sensor data from all six inputs and display these as line graphs and in a final bar chart. The image on the right is a screengrab of the GUI under development and testing its ratiometric ability. The higher values are when one sensor is covered, the lower for the other and no change is observed when both are illuminated equally. By controlling the illumination, we managed to make our application write iGEM in morse code! The android GUI was made in Java using Eclipse editing mostly Amarino projects' open-source code. The first screen (shown below) asks for the address of the Bluetooth modem connected to Arduino. This application is also functional as it can successfully connect, read real-time data and plot them in any Android phone/tablet.
The code (for programmers) as well as a ready application to be downloaded (for non-programmers this is the .apk file) can be found here
It should be noted that amarino_2.apk, found in the link above must also be downloaded on the android device for our application (Bio_Logger) to be perfectly functional, as it requires one of the amarino libraries.