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

Intelligent bi-colour backlit LCD display’s thermometer ICL7106 PIC16F84A LM324 74HC148

Preface

Fig.1 - The thermometer with the green backlight

Fig.1 – The thermometer with the green backlight

What I’m getting ready to explain below, is an original solution I adopted to backlight the thermometer’s project SP0003. Thanks to this, I solved quite easily the main difficulty that consists in generating an even illuminated background to the LCD display using some common LEDs.

At that time, I was also learning how to use the microcontrollers and I wished to make my first real project (and not only on a breadboard) with the PIC16F84A. I programmed the µC for changing the backlight’s brightness according to the room’s light intensity because it could be annoying in the dark, or insufficient in the opposite condition. I also thought that it could be nice switching the LCD backlight colour by pressing a push button.

To complete the project, I inserted a power supply to the thermometer capable of accepting a wide range of DC or AC voltage.

Continue reading

Precise Thermometer with 3½ Digits LCD Display ICL7106 AD590

Go to the project BP003 if you want to add a bi-colour LED backlight and a power supply board on the thermometer. In addition, an useful video clip is available there to watch the thermometer in action.

Preface

Fig.1 – The digital thermometer's LCD display in action

Fig.1 – The digital thermometer in action

I wanted to build this project because I needed a thermometer in my house, but also, because I wanted to have the occasion to use a LCD display for the first time.

I have always been fascinated by LCDs. Their capability to make numbers, letters and drawings on a glass plate is something magic. Thanks to this project I learnt a bit more about them and I discovered the tricks of the wizardry. Despite this, and even if the LCD displays have become obsolete, I still think they are the result of an amazing technology.

I chose to use the ICL7106 as the driver for the LCD display. This specific IC by Intersil, has also inside an A/D converter necessary to “transform” the analogue signal generated by the temperature transducer into a digital one. For practical reasons, I decided to split the project in two different sections, and then, in two different boards: one for the LCD display and another one for the ICL7106 IC.

Continue reading