Team:CIDEB-UANL Mexico/Software-Function

From 2013hs.igem.org

(Difference between revisions)
Line 74: Line 74:
If 'A' was bigger or equal to 37, then a delay of 1 min takes place, and a comparison is made. If 16 have passed or not. Considering the 16 hours haven't passed, then it returns to the first comparison, of 'A' with 37. This can be described as the first phase of the basic function, in which the growth control, takes place. The next phase, starts after a lapse of 16 hours, in which the production control takes place.<br></br>
If 'A' was bigger or equal to 37, then a delay of 1 min takes place, and a comparison is made. If 16 have passed or not. Considering the 16 hours haven't passed, then it returns to the first comparison, of 'A' with 37. This can be described as the first phase of the basic function, in which the growth control, takes place. The next phase, starts after a lapse of 16 hours, in which the production control takes place.<br></br>
-
In this phase, 'M' a short term for the motor or pump, is turned on. We declare that input information from B, will received. A comparison is made, with 'B', which is the second temperature sensor probe. We have placed the sensor in an specific location in the container, thus enabling us to use some logic there. In other words, we can assume when water is on the container by using the readings in sensor B. If it's lower than 37, then water hasn't made contact with the sensor yet and the motor keeps pumping water, but if its bigger or equal, then we can assume water is in there! So the water pump is turned off.<br></br>
+
In this phase, 'M' a short term for the motor or pump, is turned on. We declare that input information from B, will received. A comparison is made, with 'B', which is the second temperature sensor probe. We have placed the sensor in an specific location in the container, thus enabling us to use some logic there. In other words, we can assume when the water is or not in the container by using the readings in sensor B. If it's lower than 37, then water hasn't made contact with the sensor yet and the motor keeps pumping water, but if its bigger or equal, then we can assume water is in there! So the water pump is turned off.<br></br>
After water is in the container or 'B' was bigger or equal than 37, another comparison is made, this time with 20 Celsius Degrees. If it's bigger than 20, then a process begins, in which 'B' must go down, so temperature must fall. That box, starts and turns the heat disperser on (for 1 min), and has a delay of 1 minute. Then it returns to the comparison of 20.<br></br>
After water is in the container or 'B' was bigger or equal than 37, another comparison is made, this time with 20 Celsius Degrees. If it's bigger than 20, then a process begins, in which 'B' must go down, so temperature must fall. That box, starts and turns the heat disperser on (for 1 min), and has a delay of 1 minute. Then it returns to the comparison of 20.<br></br>

Revision as of 22:33, 21 June 2013

Software
Function

This section, explains in detail the role of each part in the machine, it's logic and construction.



This is a diagram or picture we made in order to visualize the basic connections of the Machine. It's not 100% accurate, and it is subject to change, but it served as a fundamental basis. Because with it, we can have a view of what we are trying to achieve.

The Blue Block with black lines connected to it, is the Ardunio, which controls every output and input signal. Except for the resistors, which are connected to AC, and are controlled rather than connected directly to the Arduino, they are turned off and on, using Relays.

Every part detailed in the last section can be observed in the diagram, except for the ones used in the construction of the pump (The one of color red and white).



We made this flow diagram to explain the basic function of the Machine, which is quite straight-forward. The diagram is using certain terms, variables and other stuff we did in order to understand it. It goes like this: First the machine is turned on, next it will start receiving information from the sensors. It compares a variable with a temperature of 37 Celsius Degrees, after that, it takes a decision.

If 'A' was less than 37, then it starts a process, in which 'A' must go up. In order to do that, 'R' which is the resistor, is used for little time (15 seconds) and turns off. A delay of 1 min, takes place and then 'checks' a time lapse. If 16 hours have passed. Let's consider that 16 hours, haven't passed yet. The flow returns to the initial comparison, of 'A' with 37 degrees.

If 'A' was bigger or equal to 37, then a delay of 1 min takes place, and a comparison is made. If 16 have passed or not. Considering the 16 hours haven't passed, then it returns to the first comparison, of 'A' with 37. This can be described as the first phase of the basic function, in which the growth control, takes place. The next phase, starts after a lapse of 16 hours, in which the production control takes place.

In this phase, 'M' a short term for the motor or pump, is turned on. We declare that input information from B, will received. A comparison is made, with 'B', which is the second temperature sensor probe. We have placed the sensor in an specific location in the container, thus enabling us to use some logic there. In other words, we can assume when the water is or not in the container by using the readings in sensor B. If it's lower than 37, then water hasn't made contact with the sensor yet and the motor keeps pumping water, but if its bigger or equal, then we can assume water is in there! So the water pump is turned off.

After water is in the container or 'B' was bigger or equal than 37, another comparison is made, this time with 20 Celsius Degrees. If it's bigger than 20, then a process begins, in which 'B' must go down, so temperature must fall. That box, starts and turns the heat disperser on (for 1 min), and has a delay of 1 minute. Then it returns to the comparison of 20.

If it's smaller or equal than 20, a delay of 1 minute takes place. A process begins, which turns 'L' on. 'L' is a term for the black light we will be using. In other words, the UV LED s, are turned on, and we declare input with variable 'E' being equal to the wavelength of the light reflected in the solution or medium. If it's not between 400nm and 500nm, then it returns to the comparison of 20. If its true, then the machine is turned off.

Note: We decided to change 37 in 'B', for 30, since the temperature of water may fall a little bit, while travelling in the pump. It also falls during the time lapse, that would take to fill the other container. Delays between the processes affect too, this is why we changed that number. Also, the last process in which 'E' is reading the wavelength, is subject to change. Rather than using a sensor to sense it, we could use our very own eyes to see it, and afterwards turn off the machine.

How it's connected and how it works:

There are 2 sensors connected to the Arduino, which are placed inside the containers. This way, we get readings from the water itself. They have a +, -, signs on each cable. Those are connected to any I/O port on the board. Through the means of code, we can alter the polarity of those ports, one being 5v, and the other being GND, or analogical ground. There's a third connection, which is the data or readings produced by the sensor. That cable is connected to an analogical input, since we want detailed data.

The beakers (containers), are placed over the heat sinks. The fan must look downwards, and the iron linings must make contact with the beaker. The heat sinks have motors, which make up the fan. We use this to dissipate and cool the system. They have 4 connections, but we are using just 2 of them, being +, -. We connect those to PWM, output ports. We want to control the amount of volts, applied to the motor.

The resistors are placed to the right and left respectively of each beaker. They have 2 connections, those are connected to a electrical terminal. They will heat the beakers, while they are making contact with it. Relays, are placed in the cables of the resistor. The 100~120v side, is connected to the cables of the resistor. The other side, is connected to any digital I/O port in the Arduino.

The water pump is placed between the 2 beakers, preferably supported by a column or pasted to a beaker. It's transparent tubes are placed inside the beakers. The tube on the upper side is connected to the GC, and the lateral tube is connected to the PC. There's 2 cables in it also, which are +,- respectively. Those are connected to any PWM port in the Arduino.

The array of UV LEDs, has an anode and cathode, they can be connected in series, or parallel, depends on the preference. Those are connected to their respective polarity in the Arduino. Their lateral side must be enclosed by any type of container. The upper side must not be covered, this is, to protect the eyes of the viewer.

The LCD display requires to be connected in a certain specific way. To view with detail, please refer to its datasheet. The 4 buttons are connected to any I/O digital port in the Arduino, they could be placed in a breadboard, as a mean to prevent any soldering.

The AC/DC adapter must be connected to an electrical terminal. And its other cable must be connected to the Arduino power entry. This acts as the power source of the system. The Arduino has a communication port, which is connected to the computer. The Arduino is then programmed, with its respective software.

The following systems works, by receiving data from the sensors. While they receive the information, the heat sink and resistors are turned, respectively in order to regulate the temperature of the water. The UV LEDs, turn on in order to expose the glow in the solution. The water pump is simply activated, when the basic function completes its 16 hour lapse, or if it's prompted by the user. The LCD Display, is our interface. We designed an interface, in which 1 button can switch between options, and the other 3 can task predetermined orders. Brief example: Set Temperature: is chosen by switching between options, and 37 is selected by increasing or decreasing the number with other 2 buttons. Then the machine activates the heat sink or resistors until obtaining the desired temperature.

cideb
cideb
Contact us! Follow us on twitter and facebook or send us a mail.
CIDEB UANL Team. Centro de Investigación y Desarrollo de Educación Bilingüe
facebooktwitterenvelope