Some Fun with a Cloned Arduino and W5100 Ethernet Shield

This article mainly concerns the many trials of reliably bringing a remotely installed cloned Arduino and Wiznet W5100 Ethernet shield back to life after a power cut. The W5100 board is being explored as an alternative to the cheaper 28J60 board which itself ended up with its own reliability issues as described here in another article.

Please note that this particular article references DCcduinos only. The problems described within do not affect a genuine Arduino in my experience.

View comments.

more ...

Giving an Arduino a Heartbeat

How would one be able to restart a system that has been deployed in a remote area which gives no immediate access for human intervention? The answer is to give the system an ability to reset itself in case of a system crash.

This is where a watchdog timer (WDT) comes into use. It is a hardware based timer capable of automatically resetting a system should the main program fail to periodically send out a heartbeat. Now, the Arduino does indeed have a WDT on board, as do probably all microcontrollers, but a small amount of reading will inform you that once it has started running a sketch, there is no software function that has the same effect as pressing the reset button.

View comments.

more ...

Soil Temperature Monitoring - Part Four

Some would say that at this stage I was almost there with the soil sensor project. All there was left to do was get the thing into the ground. Being that I am a flawed perfectionist, I had some other ideas . I was not going to simply chuck it in the ground without some more prevarication.

Anyway, onwards...

View comments.

more ...

Soil Temperature Monitoring - Part Three

A very brief part three of the, somewhat delayed, soil temperature monitoring project. This project has been left a little on the side gathering dust whilst I spent some time concentrating on the cloud detection project, but I am now determined to get this system up and running and its sensors in the ground before the winter weather sets in. Being in the ground soon will also mean that I get a good run before the cold weather hits.

At this point I have progressed with getting the electronics from breadboard to circuit board, well, Veroboard anyway. Also, the mission has crept slightly: after some more research, I have decided that the project is to become more of a surface/ground temperature station with the addition of minimum grass and concrete temperature measurements.

View comments.

more ...

Cloud Detection - Part Four

This post follows on quite quickly (for me at least!) from my last one regarding my latest tests and reflections on environmental issues with some thoughts about how to measure ground temperatures in a reliable way. I am also going to take a look at the difficulties I might face in trying to automatically interpret cloud cover the whole year through. Finally I am going to share some thoughts on how I might approach packaging the system for deployment in the open air, and what to do about supplying power and communications.

View comments.

more ...

Cloud Detection - Part Three

Since the last part in this series I have continued to conduct experiments comparing and contrasting the two variants of MLX90614, the wide field of view BAA and the considerably more focused BCF. Whilst undertaking these 'in the field' tests I have also come up against a few, what you might call, environmental problems which need addressing before I can move from the prototype phase to the implementation phase.

View comments.

more ...

Arduino and Multiple MLX90614 Sensors

Nearly all articles you might look for regarding trying out an MLX90614 with an Arduino contain examples of using one sensor at a time. This makes sense as probably 99% of people are going to prototype a system with only one sensor in it. Quite a few articles make the incorrect assumption that having more than one sensor in a circuit is not even possible because the device slave addresses are hard coded. They do all come out of the factory with a default slave address of 0x5A, but this can be changed with a small amount of effort.

Now I plan to use two of these MLX90614 sensors in my cloud detection project so there was no two ways about it - I need 2 sensors, hence two slave addresses. Below I am going to take a look at the code to change the slave address on one of these devices, and then a way of actually implementing the change.

View comments.

more ...

DS18B20 Device Discovery

A little bit of work stemming from from the soil temperature monitoring project; this is an aside on DS18B20 temperature sensing device address discovery with the Arduino. Being that I am going to have a handful of sensors in the ground and therefore not easily accessible for identification I need to find a way of easily finding out all the device addresses in one fell swoop.

View comments.

more ...