Go Down

Topic: LED and aquarium controller with TFT LCD touch screen (Read 23 times) previous topic - next topic

vasco

Mar 03, 2011, 04:41 pm Last Edit: Mar 04, 2011, 10:22 am by vasco Reason: 1
Mine (not yet) finished light and tank controller.
No documentation yet but the sketch (source code) is available here.
I've decided to use older Arduino Mega board as those are on ebay for about the same price as Uno.
The screen is 3.2'' TFT with touch panel, again from ebay for about £16. There are few different ones, mine has Himax HX8347-A controller and can work only with 16-bit parallel interface. I use Henning Karlsen's libraries to drive the screen and touch panel.
Last bit is RTC chip DS1307, again from ebay.  :smiley-roll:
At the moment everything is connected on breadboard, I have to order few more bits to connect it to my LED lights.
The temperature probe is simple thermistor connected in series with resistor so it's not very accurate, ideally I'd make it more reliable and control heaters and coolers instead of my TC-10. Using digital temp sensor like DS18B20 would be much simpler but I couldn't find a waterproof one.
To do list contains another temp sensor to control temperature of LED heatsinks and RPM of fans, add EEPROM library to save settings and data logging, PH meter and maybe connect pumps i.e. powerheads so they can be controlled by touchscreen.

Breadboard:


Main screen:


LED test screen:

NietGiftig

Nice project, nice touchscreen.
What kind of communication are you using , i2c?

I hope you wil make a wire diagram and links to the necessary libraries when your finished.

vasco

The interface is 16-bit parallel, it's using 20 wires.
That's way I used Mega board.

Actually the screen controller supports serial SPI interface but it's not connected on PCB.

doc_norway

You can find my library for this display here: http://www.henningkarlsen.com/electronics/a_l_itdb02_graph16.php
And the touch-addon here: http://www.henningkarlsen.com/electronics/a_l_itdb02_touch.php

I also have a library for the DS1307 here: http://www.henningkarlsen.com/electronics/a_l_ds1307.php

/Henning

BTW: My name is Henning Karlsen, not Karl Henning :)

vasco

Sorry Henning, stupid mistake to make, corrected now.  :smiley-red:

I think your library contains a bug, printNumF doesn't display numbers correctly if they are less then 1 (0.1, 0.2 etc).
I got around that by simply adding '0.' in front, maybe something you can look at.
Otherwise it works brilliant, maybe a bit slow but I'm not sure what the limiting factor is. I try to keep refreshing things to absolute minimum :)

Go Up