Jump to content
Cultivated Reef

My DIY Reef Controller (arduino)


jener8tionx

Recommended Posts

jener8tionx

I was looking at different controllers, but they all seemed too expensive for what they did and didn't give me the control I was looking for. I bought an Arduino controller, LCD scree, real time clock, American DJ PC100, 8 relays and a couple misc items. It controls the heater, lights, ato, and feed button. It also logs the high and low temp. The whole build and code can be found at:

DIY Reef Controler

 

A Couple Pics:

controller_mock_b.jpg

 

controller_mock_c.jpg

Link to comment
jener8tionx

About $200 for everything so far. I will go though the whole works once I'm "done"

 

I have a pH probe coming tomorrow. I was thinking about ORP, but maybe later.

Link to comment

So you are approaching the cost of a commercial controller but haven't yet included all the features.

 

Even so, I like this project and I'll keep watching.

Link to comment
jener8tionx
So you are approaching the cost of a commercial controller but haven't yet included all the features.

 

Even so, I like this project and I'll keep watching.

 

What feature is missing? If anything, this does more, has a bigger display and expansion is only limited by imagination and coding ability. I will admit the I am a little short in both categories though.

Link to comment
Vancouver Reefer

Those bits look familiar ;)

 

You will find you have now started a huge expansion project!!! I have gone from my Aquatroller to now making about 10 different units for things!!! All will be revealed soon!

 

Keep up the good work and fun!!!

 

VR

Link to comment
  • 3 weeks later...

Hey Jenr, I finally got my sensors!!!!

 

Here's my list:

 

1) 16x2 LCD (using the same I2C module you have) $15

2) Float Switch (extremely small - fits in a film cannister easily)$6

3) Dallas DS18B20 temperature sensor $5

4) The same RTC you got from Futurelec

5) Arduino Duemillanove

 

I really like your overall setup, could you help me with a few things?

 

First, I've tried to hook up this LCD and I'm having crappy luck... I'm learning all this stuff right now and it seems that for serial LCD's all the tutorials have the sparkfun LCD in mind... Could you post a schematic here or on your wiki by chance? I think I hooked it up right... I connected the RX/TX wires, the 5v & the ground. Then I uploaded this code:

// example use of LCDI2C library with the web4robot.com i2C 2x16 lcd display#include#includeLCDI2C lcd = LCDI2C(2,16,0x4C,0); // Number of lines and i2c address of the displayvoid setup() {lcd.init(); // Init the display, clears the displaylcd.print("Hello World!"); // Classic Hello World!}void loop(){}

 

Simple enough, right? And that's from their site Well one way I had it hooked up I just got a bunch of random stuff on the LCD, and now I don't get anything. Any ideas on what I might be doing wrong? I'm really excited to get this thing going soon...

 

Any help anyone could provide would be much appreciated... Here's a link to the instructions for the LCD. Another thing that confused me is that what's on that instruction PDF and what's printed on the I2C itself seems different... Which is correct?

 

Thanks in advance.

Link to comment

After looking over the wiki/blog that was linked by the OP I looked up solid state relays. They are pretty cool, I juts wish they were cheaper. :(

Link to comment

The cheapest I have seen is $4.50 a unit. I know that may not seem like a lot of $$ but that adds up quickly.

Link to comment

Cheaper than LEDs :rolleyes:

 

Think about the reliability though. Mechanical relays aren't much cheaper, and could fail much sooner. It's all about that peace of mind.

Link to comment

Hey, any responses to the question I posted a few responses above?

 

They would be much appreciated! Since then I've found a library written for the web4robot LCD I have and once I found out how to un-zip it (for those of you who aren't aware, windows vista/7 won't let you un-zip libraries using the built-in function if the folder shares the same name as 1 or more of the files... So use a 3rd party compression package.)

 

My sketch still won't upload... I get an error 20 or 21 that there is no file LCDi2c.h (lcdi2c is the name of my library). Ideas?

Link to comment

Well... I suppose I don't really mind which way it goes... which do you think would be easier? Here are some pics of the back. I mainly started out with i2c because it's the only link I found that has a library for my LCD (though even the library isn't helping me because I'm getting an error - see screenshot below).

 

The information I got is from http://www.wentztech.com/radio/arduino/files/LCDI2C.html

 

Thanks again for your help! I haven't really done this sort of thing before and I suppose I just need some time and some help to make things "click" a little and maybe it will make more sense to me. I hooked up the connections using the analog 4 & 5, 5v & gnd just as the instructions say, and I set up the library in the correct place so that I can use the "import library" dropdown menu within the arduino software.

post-39800-1239154245_thumb.jpg

post-39800-1239154257_thumb.jpg

post-39800-1239154264_thumb.jpg

post-39800-1239154268_thumb.jpg

post-39800-1239156255_thumb.jpg

post-39800-1239156267_thumb.jpg

Link to comment

Serial is a little easier. The nice thing about I2C is that you can have multiple devices in the same two wires.

 

You can use basic serial commands to push characters to the LCD without much work.

Link to comment
The nice thing about I2C is that you can have multiple devices in the same two wires.

 

So when I get a keypad I can connect it to the i2c and it will interface with the arduino, correct? That sounds awesome. Okay, but for now I just want something to come up on the screen... I've got this mental block, and to get past it I need to have the arduino say something to me!

 

I'm going to try to hook this thing up to serial.. From what I understand it's just 5v, gnd, and the RX/TX connections, right?

 

I'm going to see if I can find a serial LCD library, and try that...

post-39800-1239157533_thumb.jpg

Link to comment

The jumper sets the i2c mode according to the manual found here. I put it back to on (shorting the 2 terminals).

 

Okay... unfortunately nothing is happening still... I loaded up the Liquid Crystal library and added the "hello world.pde." file and this is the code:

#include <LiquidCrystal.h>// LiquidCrystal display with:// rs on pin 12// rw on pin 11// enable on pin 10// d4, d5, d6, d7 on pins 5, 4, 3, 2LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);void setup(){  // Print a message to the LCD.  lcd.print("hello, world!");}void loop(){}

 

So far though, nothing... The code mentions using pins 11 & 12 so I tried those as well but to no avail! Or is that for RS232 serial... We want to use TTL, right? I have no clue what that actually means so I'm googling that now...

Link to comment

The RS232 for the display and the Arduino is TTL. It's different voltage levels than your PC RS232.

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recommended Discussions

×
×
  • Create New...