Team:UNIK Copenhagen/Design

Arduino Protocol


The aim of this experiment is to build a prototype for conducting gradient temperature experiments. We will do this by programming an arduino to receive input from 5 DS18B20 temperature sensors and display this data. More specifically our experiment will involve testing moss’s survivability at 3 different temperatures by placing petri dishes of wild type moss on a temperature gradient.


  • Flamingo box
  • Dry ice
  • 3 Petri dishes with wild-type moss
  • 3 Petri dishes with moss transformed with antifreeze protein gene
  • Tape
  • Pencil soldering iron
  • Solder
  • Aluminium rod
  • Arduino UNO
  • Breadboard
  • USB A to B cable
  • Temperature Sensor DS18B20
  • Five 4.7k resistors

  • Method

    Physical set up

  • Hammer aluminium rod into the flamingo box
  • Mark 3 places evenly spaced on the aluminium rod
  • Estimate using the eye where the middle of the moss culture is on the petri dishes
  • Place the middle of the moss culture roughly on the line marked on the aluminium rod
  • Tape the petri dishes onto the aluminium rod with wild type moss on one side and transformed moss on the other
  • Tape thermosensors onto aluminium rod as close to the petri dishes as possible
  • Fill the box with 10 kg of dry ice
  • Set the computer to collect temperature data and write it into a text file
  • Leave the experiment overnight
  • Next day the moss can be studied under the microscope to determine it's survival

  • Arduino Hardware

    Introduction to Arduino hardware

    Removing thermosensors from breadboard


    1. Remove about 2 cm of wire insulation
    2. Twist both ends of the wire into a braid
    3. How to connect the wires:
      • Inline splice: crisscross the wires and twist them together
      • Pigtail splice: have the two wires parallel and twist them together
    4. Choose either of the above options, however make sure that the wires are well physically connected before beginning to solder
    5. Use an alligator clip or some other device to secure the wires in place so that they do not move during the soldering
    6. Heat soldering iron and put some soldering on the tip of the iron
    7. Knock off excess solder onto some paper
    8. Tin the tip again (step 6)
    9. Gently place the tip of soldering iron against the wires: heat the wire and melt some solder onto the wire joint
    10. The solder should begin to flow onto the wire
    11. Do this until the wire joint is completely covered and silver

    One thermosensor

    1. Insert DS18B20 sensor into breadboard with outer pins on rows 1 and 3 and middle pin on row 2.
    2. Insert resistor into breadboard with pins going into row 2 and 6
    3. Connect a wire:
      • From pin 10 on Arduino to pin 2, in order to get data input from thermo sensor
      • From GND ( ground pin on the arduino) to row 1
      • From 5V (power pin on the arduino) to row 3 and 6

    Multiple thermosensors

    This has a similar setup to the one above, however now there are multiple thermosensors connected in series to pin 11 and use the same resistor connected to the first thermosensor.

    Arduino Software

    One temperature sensor

    1. Download the Arduino Software IDE (Different versions depending on what operating system you have)
    2. Install the “One Wire” library in order to run the code for the temperature sensor This code looks like this:

    1. Then we can run the Serial Monitor from the Tools menu which should give you a reading of the temperature every second

    Multiple thermosensors

    For Multiple thermosensors we need to install the following libraries:

  • “One Wire” library as above
  • “Dallas Temperature Control Library”
  • The code looks like this:

    With data being shown as output on the computer in the following form:

    Results from multiple thermosensors prototype:

    Below is a sample of the reading that we recieved from the prototype. As is evident we have gotten 3 different temperatures, with one of them way below freezing which very roughly constitutes to the temperature gradient that we wanted.

    Conclusion and evaluation

    In order to have made out experiment more accurate we could have used a crimping technique instead of soldering to extend the wires from the breadboard. It is a more modern technique that does not require heating up the wire and instead uses plastic to fasten the wires together. This method is less "messy" and would be more effective as it is less likely to change the resistance of the wire which is used to read the temperature.

    Another improvement that could improve our experiment is to use Arctic Silver Thermal Adhesive to attach the thermosensors to the aluminium rod instead of the tape we used. This is because thermal adhesive is specially tailored not to interfere with the temperature readings.

    Further possible sources of error:

  • Insulation if moss: Cannot wrap it in tin foil in order to insulate as moss is a biological system that needs light
  • Moss unevenly distributed on the plates
  • Conduction of heat of the aluminium rod: what if it is not pure aluminium? Alloy of different materials?

  • Improvement suggestions for next year's team

    If the next year's team would like to continue with our project it is possible that they can improve on the prototype and attach a heat-reservoir. This would create a more varied temperature gradient that would perhaps give more accurate temperature readings. We have not tried such a set up however we believe that if we had more time it would improve our experiment.