Here is a recent experiment I've done with making a cheap temperature sensor connected to my MAC. The sensor itself is quite cheap to make (the orange board), the sensor IC is about 3 dollars, and the rest are some wire jumpers, a 2k trim potentiometer and a resistor. Total cost about $8-10 and some free time.

What you see the temperature board hooked up to is an Arduino, a cheap USB i/o controller available from Sparkfun electronics. I can control about 10 analog inputs (one is being used to monitor the voltage of the temperature sensor) and 10 or so 5V outputs that I monitor/switch from the computer. The neat thing about getting this interfaced to an i/o board is I can use the temperature data to switch devices, sound alarms, etc.

Here is a screenshot of the software. Basically, the temperature sensor takes an input of 5v, and will output a voltage at +10 mV/ Kelvin, which can be easily converted to Celcius as seen in the software. The sensor turns out to be quite accurate and highly responsive -- I can breath on the sensor lightly and detect a minute temperature change. Right now it is obviously not waterproof, but that is easily solvable with some heat shrink tubing (this is actually recommended in the IC datasheet by the manufacturer for making waterproof temp. sensors!)

A diagram of the board, and all the parts used. I'm happy to explain how the Arduino board works to any interested, and code examples are available for the brave hearted.

Could you post the actual schematic, just so it is more clear, how the connections on the test board were made.

Also, how cheap is Arduino? Do you know if it is available worldwide?
Is there something similar for digital input/output? I see so much potential use for this gizmo it is mind boggling. Also, do you know, how accurate are the readouts from Arduino?

Andy, the Arduino boards are about $30 USD, I have one I brought from the US from Sparkfun electronics, and I've also purchased another one here in Australia (thats why you see two, my temp sensor actually only uses one, but I was playing with getting the two to talk when I took the pictures). They are fairly popular among the physical computing community so you should be able to find them quite easily; if you don't have any in your country I'm sure you could find an international shipper.

The Arduino board has 13 digital in/out pins that can be used either way, and 6 analog inputs. Each digital pin can also be used for serial TX or RX, and two digital pins are also available for hardware serial TX/RX. Lots more information on these boards is available on the Arduino.cc website. Great little boards and I love them to death.

Your question about accuracy-- the accuracy would be as good as your sensor. The temperature sensor I've build here depends on the trim pot to make a calibration, which is only as good as the thermometer I'm calibrating to. What I read from my analog input is an integer value from 1-1024, which I'm assuming 1 = 0v and 1024 = 5v in my calculations. I then convert the number to volts, then to kelvin, then to celcius. You can see the original 1-1024 reading as "raw" in my software.

Here is the schematic I used from the LM335Z Temperature Sensor PDF. The trim pot used is actually 5k (10k works, but I found 5k is actually better for the 5V load you get from the Arduino), and the R1 resistor is 2k. Find the LM335z from Mouser or some other electronics supply. I can buy them from my local electronics shop they are that common.

Ha...I'm not sure. You probably want to look at the documentation of the ATMEGA 168 chip that drives the board. I'm sure its accurate enough for what we want do do though (fish tank control)....just maybe not for cruise missiles and space ships and such.

I hope you are able to get an Arduino, they are great to play with and a cheap alternative to marine controllers if you want to have a little fun building as well. I've successfully driven high-current relays for mains power with the arduino (using an external power source, and diode-protected transistors of course).

In the end though, making your own gives you so much more possibilities for what you can do (not to mention much cheaper), but potentially more prone to failure if your craftsmanship is shoddy.

SirLeech wrote:....just maybe not for cruise missiles and space ships and such.

Oooohhh, but that is exactly what I want to do.

Seriously, I am thinking about using it for some laboratory equipment interfacing. Like running a HPLC and being able to read the data (-1 to +1 V signal). So 12 bit would be at least minimum. I guess I'll just look up the specs.
Another question, how do you read the data (software?) is it custom, is there a neat way of writing your own (commands wise?)

Last edited by TheChemist on Fri Jan 16, 2009 2:07 pm, edited 1 time in total.

About software, the Arduino board has a few options you can go with. The board was designed to be a programmable controller-- you program the board with your USB cable, then let it go free, it does its own thing. The example I show however is using Processing, a Flash-type language for graphics programming. Some good folks at Arduino have written a good library for talking with Processing, so it's really easy to get the the Arduino talking to your computer. This is totally customizable as you are writing the code for the software Andy.

I've also looked into other alternatives to Processing. At first I really wanted to get the board hooked up to Flash so I could use Actionscript and not have to learn a new language. There are Actionscript 3-Arduino libraries/drivers, but I couldn't get them to work very well as they are out of date and have not been maintained (as sometimes happens with Open Source projects).

The Arduino uses serial communication, so if you want a custom software solution, any language that can read/write your serial ports can communicate with the board. Just could take a little (or alot) of work.

In the end I am using Processing anything I want to see on my computer as it was the easiest solution, but will still want to take advantage of the "programmable" nature of these boards and configure them to run on their own. I wouldn't trust any general-use operating system with life support. I've only recently started using these boards, and will try to apply them in interesting and useful ways to my fish tanks. Will keep you guys posted of my progress if interested...

I remember this thread from the past about the Arduino USB interfaced controller. I finally have a use and need to figure this one out. There are quite a few add ons and extension circuits available, including temperature sensors and a variety of other sensor and controller circuits. I also noticed a variety of genuine arduino main boards and clones available. What are the functional differences. Which is more versatile? Which are more functional.

Considering how this community has grown in the last year or so, has anyone else had experience with the use of this interface?Any other thoughts?John

"The exact contrary of what is generally believed is often the truth" Jean De La Bruyère (1645-1696)

Hi All, back after a while. Good to see the forum is still growing strong and the redesign looks good.

"I remember this thread from the past about the Arduino USB interfaced controller. I finally have a use and need to figure this one out. There are quite a few add ons and extension circuits available, including temperature sensors and a variety of other sensor and controller circuits. I also noticed a variety of genuine arduino main boards and clones available. What are the functional differences. Which is more versatile? Which are more functional.

Considering how this community has grown in the last year or so, has anyone else had experience with the use of this interface?Any other thoughts?

John,

Arduino Clones are mean't to be exact copies of the Arduino Duemilanove and Mega, and sometimes include extras such as wireless communications and SD card slots. There are indeed lot's of sensors you can hook up to the Arduino and outputs such as relays you can drive to control your pumps and heaters.

Another interesting "shield" for the Arduino is the Ethernet Shield-- it allows your temperature readings to be posted to the internet via HTTP or act as a web server and serve live sensor feeds, or a form to control the Arduino's outputs.

Here is my live air temperature feed from Canberra, an Arduino with Ethernet Shield and LM335 temperature sensor ran outside my house:http://www.pachube.com/feeds/8281

Yes, I was considering using a thermistor as a submersible sensor but a LM317 sensor properly insulated and attached to the outside glass of one of my growout tanks might serve the purpose without actually getting into wet electronics. I might even be able to attach sensors to several tanks to monitor temperature variations within the system.

I was also considering which circuit would be best for driving 200 - 500 watt heaters. The idea is to minimize power deain while maximizing the temperature control. It is not very efficient for all heating units to come on all at once when only 200 or 300 watts is necessary. Pulsing power to a few units might be better as well.

The ethernet shield would help communicate with a remote control computer. I am planning to use an old Mac G4 to drive and monitor the system.

John

"The exact contrary of what is generally believed is often the truth" Jean De La Bruyère (1645-1696)

AndyI would guess that a conductivity probe could work well to monitor salinity. These probes are relatively easy to make from small pieces of platinum wire (an old chlorine titration probe or something has plenty of platinum wire. Two pieces spaced about a cm apart would provide a good gap for low voltage jump from wire to wire. They could be sealed into a short piece of small diameter tubing if I am not mistaken. The platinum would be soldered to copper leads to complete the run to a A/D converter.

Someone correct me if I have this wrong.John

"The exact contrary of what is generally believed is often the truth" Jean De La Bruyère (1645-1696)

Regarding a circuit to drive heaters, sounds like you need to switch some heavy duty relays for the heaters. With the Arduino you can use a transistor array to switch 12v which can be used to switch larger 120v mains relays (that are operated by 12v). Here is a schematic I followed to do just this:

But perhaps to get this post on to more productive discussions, can I raise some questions to the group regarding automation in mariculture? I'll throw some out:

1) We've already seen the possibilities of marine breeding automation using microcontrollers in the previous posts. However, is automation desired, or even needed in marine breeding? Does it over complicate things or add an extra expense?

2)If so what aspects need controlling and would benefit from digital/computerised controls? Can we narrow down some "Easy wins" to target possible systems to be developed?

3) Can microcontrollers combined with communication tech's (SMS,Email, Web) help with disaster prevention and early warnings? Does anyone have disaster stories that could have been prevented by "smart" monitors? (e.g. a SMS that is sent when water flow is stopped to your main growout system? or heaters fail in a cold climate?)