The perfect self-controlled watering system PIC18F4550 PIC12F509 HD44780

Preface

Fig.1 - The boxed HD44780 LCD display

Fig.1 – The boxed HD44780 LCD display

I want to clarify from the outset that this is an ambitious project. Making a watering system that interacts with the environment and autonomously decides if it will irrigate some plants and how long, is not a trivial matter. For this reason, even if the version 1.00 works quite well and it is already operative in my balcony, probably many others will follow soon.

The concept is not far from the project BP0001: watering triggered by the sun and not by clock time, multiple watering zones, same economic 24V AC solenoid valves, same water piping system. But, as you maybe already know, the BP0001 is a good solution only to buffer for a short time frame (ex. a holiday). Indeed, the code is too simple, based on the knowledge I had at that time, and the watering system does what it needs to do as long as the environment remains unchanged. But that’s the point, that’s the limitation to overcome, that has become my goal.

Fig.2 - The perfect self-controlled watering system with the PIC18F4550 (without the display)

Fig.2 – The watering system

So, I have decided to make a system with a temperature and light transducer, controlled by a powerful MCU, such as the PIC18F4550, and with the possibility to add some more devices on its inputs.

The PIC also has to drive a 16×2 LCD display HD44780 (figure 1) in order to monitor the situation and manage the watering more easily. In addition, a smaller MCU has to keep under control the work of its big brother and intervene if something goes wrong with it. On figure 2 you can see the watering system (without the display).

Continue reading