More Related Content
Similar to Modified_PCR_CODE in Arduino
Similar to Modified_PCR_CODE in Arduino (20)
Modified_PCR_CODE in Arduino
- 3. Serial.print(", DNA Denaturing, Target temp = ");
Serial.println(hot);
}
digitalWrite(heatpin, LOW);
//main program
do {
//denaturing step
do {
//Begin PCR Reaction by heating to 95 degrees;
digitalWrite(heatpin, HIGH);
digitalWrite(coolpin, LOW);
sensors.requestTemperatures(); // Send the command to get temperatures
temp = (sensors.getTempCByIndex(0));
Serial.print("Cycle #");
Serial.print(cyclecount);
Serial.print(" Temp = ");
Serial.print(temp);
Serial.print(", Heating Lamp ON. Target temp = ");
Serial.println(hot);
}while (temp < hot);
digitalWrite(heatpin, LOW);
digitalWrite(coolpin, LOW);
//strobe bulb to maintain hot
for (int count = 0; count < denaturetime; count = count +1){
delay(1000);
sensors.requestTemperatures(); // Send the command to get temperatures
temp = (sensors.getTempCByIndex(0));
if (temp < hot)
{
digitalWrite(heatpin, HIGH);
}
else
{
digitalWrite(heatpin, LOW);
}
Serial.print("Cycle #");
Serial.print(cyclecount);
Serial.print(" Temp = ");
Serial.print(temp);
- 4. Serial.print(", DNA Denaturing. Target temp = ");
Serial.println(hot);
}
digitalWrite(heatpin, LOW);
digitalWrite(coolpin, LOW);
//Anealing step
do {
//cooling to Tm
digitalWrite(heatpin, LOW);
digitalWrite(coolpin, HIGH);
sensors.requestTemperatures(); // Send the command to get temperatures
temp = (sensors.getTempCByIndex(0));
Serial.print("Cycle #");
Serial.print(cyclecount);
Serial.print(" Temp = ");
Serial.print(temp);
Serial.print(", Cooling to Tm. Target temp = ");
Serial.println(tm);
}while (temp > tm);
digitalWrite(heatpin, LOW);
digitalWrite(coolpin, LOW);
//strobe bulb to maintain tm
for (int count = 0; count < annealtime; count = count +1){
delay(1000);
sensors.requestTemperatures(); // Send the command to get temperatures
temp = (sensors.getTempCByIndex(0));
if (temp < tm)
{
digitalWrite(heatpin, HIGH);
}
else
{
digitalWrite(heatpin, LOW);
}
Serial.print("Cycle #");
Serial.print(cyclecount);
Serial.print(" Temp = ");
Serial.print(temp);
Serial.print(", DNA Annealing. Target temp = ");
- 5. Serial.println(tm);
}
digitalWrite(heatpin, LOW);
digitalWrite(coolpin, LOW);
//elongation step
do {
//heating to extension temp
digitalWrite(heatpin, HIGH);
digitalWrite(coolpin, LOW);
sensors.requestTemperatures(); // Send the command to get temperatures
temp = (sensors.getTempCByIndex(0));
Serial.print("Cycle #");
Serial.print(cyclecount);
Serial.print(" Temp = ");
Serial.print(temp);
Serial.print(", Heating to Extension. Target temp = ");
Serial.println(elongtemp);
}while (temp < elongtemp);
//pulse to maintain extension temp
for (int count = 0; count < elongtime; count = count +1){
delay(1000);
sensors.requestTemperatures(); // Send the command to get temperatures
temp = (sensors.getTempCByIndex(0));
if (temp < elongtemp)
{
digitalWrite(heatpin, HIGH);
}
else
{
digitalWrite(heatpin, LOW);
}
Serial.print("Cycle #");
Serial.print(cyclecount);
Serial.print(" Temp = ");
Serial.print(temp);
Serial.print(", DNA Extending. Target temp = ");
Serial.println(elongtemp);
}
digitalWrite(heatpin, LOW);
digitalWrite(coolpin, LOW);