The perfect self-controlled watering system PIC18F4550 PIC12F509 HD44780


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


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