Yearly Archives: 2010


Heater Controller in theory

Controlling temperature in a room can be a complicated task.

It depends on the room obviously, conditions needed in that room, the amount and types of sensors installed etc.

For keeping this system somewhat general, as there should be no artificial limits, starting from simple solutions and then adding complexity seems the way to go. Also this system should still work if some non essential sensors fail.

The system this device is intended to control, composes of a heating element and a heat carrier which distributes heat around the room.


Nuelectronics Ethernet Shield for Arduino

Connecting Arduino to a network need a bit of hardware - a shield in Arduino terms. http://www.nuelectronics.com/ makes some nice hardware for Arduino, including an ethernet shield. Unfortunately software and libraries that does come with their ethernet shield are weak.

Internet and open source comes to rescue again. Much more useful library can be found at http://blog.thiseldo.co.uk/?cat=14. works much, much better.

Only one big issue - it does not now nothing about MTU. If you want to send data that is longer than MTU (usually 1500 bytes) then you are out of luck.


Shielding sensors from elements

The next logical step for using sensors, in this case LM35 and DS18B20 temperature sensors, is to shield them somehow from elements. I am not very comfortable installing a bare sensor outside, into the rain for example. Some kind of small metal pipe should bee good enough. I did find some electric cable connectors for a thick power cable in local hardware store. I used some plasticine like stuff, which hardens in about an hour and is intended for emergency car repairs, to plug one end of that tube.

Cable length for LM35 and DS18B20 5

Playing with temperature sensors on breadboard is cool, but usually, if one has more than one sensor, one likes to get some distance between them. These are no scientific tests, but in my real world application, LM35 likes shorter cables. The shorter the better, or it will get large fluctuations in measurements. A cable about 3 meters is as long as I would go. Cable length of 5 meters got me into trouble. Consecutive readings did vary in more than 5 degrees. Not good.

Arduino and relay, or driving 220V devices with Arduino 4

To move something in the real world, more volts and amperes are needed than Arduino can put out bu itself. Relay to the rescue. A relay is an electrically operated switch. Very nice description by http://en.wikipedia.org/wiki/Relay Unfortunately, connecting a relay directly to Arduino is not possible or at least not feasible. Relays usually need more than 40mA at 5V to operate. And that is the maximum, Arduino can supply. So more electronic components are needed. At least three good stories, implementing almost the same schematics are http://www.glacialwanderer.com/hobbyrobotics/?p=9,

Arduino and DS18B20 – 1-wire digital thermometer 6

Finally got this DS18B20 working. Actually three of them. And in two modes. Parasite power mode and main mode. A 4.7K ohm resistor is the key. Starting with the main mode, three wires are needed, as this sensor has three pins. Datasheet is here http://datasheets.maxim-ic.com/en/ds/DS18B20.pdf. Connection is almost simple. Pin 1 to Arduino ground Pin 2 to Arduino digital input Pin 3 to Arduino 5V And a 4.7K resistor between pin 2 and pin 3 Works with three wires, as seen on the followind illustration.