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.
Physical set up
Arduino HardwareIntroduction to Arduino hardware
Removing thermosensors from breadboard
- Remove about 2 cm of wire insulation
- Twist both ends of the wire into a braid
- 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
- Choose either of the above options, however make sure that the wires are well physically connected before beginning to solder
- Use an alligator clip or some other device to secure the wires in place so that they do not move during the soldering
- Heat soldering iron and put some soldering on the tip of the iron
- Knock off excess solder onto some paper
- Tin the tip again (step 6)
- Gently place the tip of soldering iron against the wires: heat the wire and melt some solder onto the wire joint
- The solder should begin to flow onto the wire
- Do this until the wire joint is completely covered and silver
- Insert DS18B20 sensor into breadboard with outer pins on rows 1 and 3 and middle pin on row 2.
- Insert resistor into breadboard with pins going into row 2 and 6
- 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
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.
One temperature sensor
- Download the Arduino Software IDE (Different versions depending on what operating system you have)
- Install the “One Wire” library in order to run the code for the temperature sensor This code looks like this:
- Then we can run the Serial Monitor from the Tools menu which should give you a reading of the temperature every second
For Multiple thermosensors we need to install the following libraries:
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:
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.