Team:Cambridge/Project/Instrumentation

From 2012.igem.org

(Difference between revisions)
(Software)
(Software)
Line 19: Line 19:
== Software==
== Software==
[[File:androidapp.jpg|320px|thumb|left|Android application start page]]
[[File:androidapp.jpg|320px|thumb|left|Android application start page]]
-
[[File:python.jpg|230px|thumb|left|Python program for PC]]
+
[[File:python.jpg|225px|thumb|left|Python program for PC]]
Software applications were developed for both computers and android devices. This was done in order to provide extra flexibility as well as to present that a 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.
Software applications were developed for both computers and android devices. This was done in order to provide extra flexibility as well as to present that a 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.

Revision as of 12:59, 18 September 2012

Previous iGEM teams have charaterised an impressive array of inducible promoters, along with other elements of biosensing circuitry... Read More






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.

Mechanical

Mechanical chassis

The mechanical chassis prototype, as can be seen from the photo, 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).

File:Testinstr.gif
Data from luminescent bacteria

The purpose is that our self-developed sensor, which was made using two light dependent resistors, 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 left - below). In this way, most of the light produced by the bacteria is concentrated for more accurate sensor measurements. 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. The image on the left shows the resulting data from an experiment conducted with bacteria transformed with luciferase using our manually made sensor. As it can be seen, it is sensitive enough for light detection.

Electrical

Arduino circuitry
Cuvette holder coated inside with mylar film
Bluesmirf Bluetooth Modem

The hardware/software electronic interface was achieved using an Arduino microcontroller. The arduino circuitry, as illustrated below, is made up of our sensor, the motor, and a PCB/breadboard (both were used in the process of our project). A Bluetooth modem (Bluesmirf) is an extra to be used when communication with mobile devices (e.g. Android) is required. The circuitry is incorporated into the mechanical chassis for an attractive, ergonomic overall design. The code of the pre-set C++ program for driving the arduino can be found 'here'. (Note: There are two different programs: one for PCs and one for androids)

Software

Android application start page
Python program for PC

Software applications were developed for both computers and android devices. This was done in order to provide extra flexibility as well as to present that a 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 'here'.