Team:Tec-Chihuahua/Measurement

Igem Tec 2016

Measurement

Summary

The purpose of developing a sensor for this project is to correctly measure transformation efficiency.

The sensor had to analyze the surface of each sample and compare it to a successful test. To do the analysis, the sensor runs a scan across the surface of the petri dish in order to map the regions in which colonies were successfully deployed. With this information, we can determine at which level the transformation was complete. Additionally, the sensor runs a scan at determined lapses of time to see how it develops.

Problem Statement

The transformation process of myxobacteria needs to be measured in order to determine its effectiveness. The problem is that, to measure the effectiveness, there is no unit to measure how well the transformation was deployed.

Information Gathering

Myxobacteria can be transformed to produce proteins that reflect light. With this in mind, there are sensors that detect the amount of light that is emitted from a source.

The transformation process is not instantaneous. The changes on the surface occur slowly during the incubation process. This means that the system has to be measured at determined lapses of time.

Materials

Component Units
Arduino UNO 1
USB cable type B (for the Arduino) 1
Photoresistors 11
100kΩ resistor 3
Multiplexor 74153 2
H Bridge L293d 1
Red LED 4
DVD drive 1
5V Power Source 1
AWG 22 wire 3 meters
Soldering iron 1
Solder 60% tin and 40% lead 1 meter
Perfboard 20x20 cm
 

Due to the fact that the Arduino UNO has only six ADC channels, we need to measure the value of each of the photoresistors. In order to achieve this, we use a multiplexor to select each photoresistor one by one. After this, we need a circuit to control the scanning system. We use a DVD drive and place the sensors so that they scan line by line as shown in the following picture.

Diagram showing how the sensor scans the data

A light source is used to illuminate the surface scanned. The reflectin will act reflecting the light emitted by red LEDs. After all the surface is scanned, a .txt file is created so that the results can be uploaded to a server. Red leds are useful because they fall well into the sensitivity of the photoresistors.

Each photoresistor is calibrated using a BH1750 light sensor, which has a 16-bit resolution. The light sensor is used as a reference against the same light source and inclination. The BH1750 has its output expressed in lux.

In order to calibrate each sensor, an LED was set. It is written the maximum value sensed by the photoresistor and the maximum value measured by the BH1750. This produces a correspondence of values.

BH1750 light sensor characteristic curves.
Sensitivity of the photoresistors.

Each line of photoresistors represents a segment of the sample. When graphed and lined together, they will map the surface of the petri dish and the contents. If certain point of the coordinate presents a high value, then it means that there is reflectin is present.

Conceptual Development

The sensor can be broken into six stages.

  • 1. Sensing stage. – Light coming from a LED is directed to the surface. The proteins reflect part of the light. The array of sensors detect the reflected light.
  • 2. Acquisition algorithm. – The data from the sensors is entered to the MCU.
  • 3. Conversion stage. - Here, the continuous analog signal from each photoresistor is converted to a digital discrete value using the internal ADC of the MCU. These values are readable by computers.
  • 4. Packet conversion. - The data from each scan is converted to a packet in .csv file format.
  • 5. Server uploading. - The packets are uploaded to the server.
  • 6. Data plotting. – The server plots the data of each packet so that is graphically understandable.
Scanning flowchart

Notation

ADC. - Analog to Digital Converter. A device that converts a continuous analog signal into digital discrete signal readable by a microcontroller.

MCU. - Microcontroller. A computer on an integrated circuit.

Sensor Array Scanner

The sensor works like an office scanner. The scanner part is composed by 10 photoresistors aligned so that they cover the Y axis of the sample. They are in series with a 100kΩ resistor. Using a voltage divider, it is obtained the value that corresponds to a determined level of light. Using a 16-bit resolution optical sensor, the value of the photoresistor is proportionally assigned to the value obtained with the optical sensor. This way, the sensors are calibrated. Because the optical sensor already has a curve that outputs the results in lumens, we can determine the amount of light using the photoresistors.

Why using photoresistors instead of an optical sensor? The answer is that photoresistors are affordable and easy to buy in Mexico; as well as accessible in any country in the world since they are easy to find and acquire. Also, the sensitivity can be adjusted using a voltage divider using the correct resistor. This way, the sensor can be adjusted with more sensitivity to a big or small amount of light.

The ADC used is inside the Arduino UNO, which has an ATmega328P. This ADC has a resolution of 10 bits, which in total gives us 1024 values for the sensors. (Atmel Corporation, 2015). After each value of the photoresistors is stored, the sensor will move forward to scan the next section.

The data is transmitted using the Serial Port emulated by the Arduino to Processing, a program that will create a .txt file which will store all the values.

After each file is created, a newer file with newer data will replace the old one. Each file represents the state of the myxobacteria at certain hour of the process.

Finally, the data is periodically uploaded to a server.

The periodicity of the scanning can be readjusted so that the scanning process occurs every 10 minutes, 20 minutes, 30 minutes and so forth.

Server

An external website has been developed to allow the uploading and visualization of data scanned by this sensor. The server’s front-end is made in the state-of-the-art bootstrap framework, while the back-end relies on the robust Laravel Php engine. The website is hosted at a team member’s server and can be found at the address http://igem.jaquez.mx/

The uploading is reserved for registered users, to avoid any unauthorized person to upload random data as if it were legitimate scans. Uploads can be configured to be a one-shot or a periodic re-upload in order to automatically upload new data gathered by the sensor. A small text-based console shows color-coded feedback to the uploader, as well as provides upload logs for the current session.

Screenshot of the server's main menu
Upload view
Scan display view

Guests, and registered users, are able to view the results of the scans in the other section. Scans are both shown as raw data (numbers obtained from each sensor in a grid) and plotted as a 3D surface. Each scan is automatically tagged with the date and time of its upload.