Anyone doing an arduino controller?

What are you using for wifi?

My approach is likely going to be an ethernet shield, and use it for datalogging/alams, etc. At terahz's suggestion, if I need programming or control remotely, I'm probably going to go the IR route. Hardware-wise it's easy, you just need an IR sensor and a generic TV remote.
 
Right now I'm using the xbee shield with the ICSP header cut off from it.

Here's a question... does the ethernet shield hook into the serial port on the arduino? I've had some people ask me if the code would work the same with the ethernet shield. I'm pretty sure it would, but haven't checked into it yet.

I never though of IR control... the only problem would be losing the remote lol.
 
The "official" ethernet shield with the Wiznet W5100 interface uses SPI (digital 10, 11, 12, and 13). It's a pretty different approach to xbee so it would probably require some rework.

Honestly, I don't really think I'm going to need much as far as control/programming/adjustment on a regular basis, so for my efforts, that part of the project is going to be minimal at best. The only real reason I'm interested in some sort of connectivity is to log data for historical purposes, and to give the controller some way to notify me when an alarm condition exists. I haven't developed any of this yet, but I've seen other projects that make it look pretty easy to get an ethernet shield to tweet, so that's what I'll probably do. Then I can check the twitter account, or set up email triggers, etc. I don't want to do something that simply tethers it to a PC, because then I'm relying on that PC being available 24/7. I'd rather just put it on the internet.
 
Humm, I never thought about the pc having to be on 24/7. I wonder if the arduino couldn't communicate with the pc if you could store values in eeprom until it can establish a connection again. Although I haven't mentioned one of the reasons for this project was to reduce electricity usage as well. Since I've switched to led's I think I'm at 35% savings or so.

I've seen @tankedcam and have to agree that might be the way to go for alarms etc.

One thing I really want to see is the code be able to adapt to different configs etc. Ideally it would be awesome to know that you can buy X and Y and by using some config options you could be up and running in 30 min.

Of course with modularity comes bloat and that's what I'm trying to decrease now.
 
The "official" ethernet shield with the Wiznet W5100 interface uses SPI (digital 10, 11, 12, and 13). It's a pretty different approach to xbee so it would probably require some rework.

Honestly, I don't really think I'm going to need much as far as control/programming/adjustment on a regular basis, so for my efforts, that part of the project is going to be minimal at best. The only real reason I'm interested in some sort of connectivity is to log data for historical purposes, and to give the controller some way to notify me when an alarm condition exists. I haven't developed any of this yet, but I've seen other projects that make it look pretty easy to get an ethernet shield to tweet, so that's what I'll probably do. Then I can check the twitter account, or set up email triggers, etc. I don't want to do something that simply tethers it to a PC, because then I'm relying on that PC being available 24/7. I'd rather just put it on the internet.

There is some pretty simple standard C code that you could plug in that would send emails right from the Auduino. You just have to plug in your smtp server, port, username and password. This way you can bypass Twitter too. I also helped a friend on his and had it email to his text message address ("phonenumber"@txt.att.net) that way he had redundancy. Just a thought!

AM
 
I'm right with you on energy savings, etc. Right now, the only PC in my home that's on 24/7 is a mac mini we use for a media server, and it's probably going to be replaced with something with less overhead soon. Plus, I don't want to lose data or lose the ability for the tank to send an alarm if/when the PC is down for updates, power outage, etc. I'm going to put my Arduino and network hardware on a UPS, so it can still tell me about an alarm condition if the home loses power. (That said, I've been living in this home for 8 years and have only lost power once, for a few minutes.)

Of course with modularity comes bloat and that's what I'm trying to decrease now.

Agreed on that, too. I haven't even thought about software yet, but on the hardware side, I tried to break everything into two categories:

1) Core stuff everyone would likely want - pH, an LCD, etc. I put this stuff on the main board.
2) Other stuff that's available or easy to do on shields.

I'm hoping to take the same approach with software. One core library that runs the onboard hardware, and people can tack on libraries if they want other stuff.

I guess the only "issue" that leaves is mixing and matching from different projects. If people like my hardware because it includes the LCD, but they like your keypad functionality, how likely is it that they'll be able to blend the two without issue? As the designers of this stuff, do we care? :) It seems like there are a good strong 4 or 5 arduino based aquarium controller "projects" that people can follow right now, but they've all taken slightly different approaches.
 
There is some pretty simple standard C code that you could plug in that would send emails right from the Auduino. You just have to plug in your smtp server, port, username and password. This way you can bypass Twitter too. I also helped a friend on his and had it email to his text message address ("phonenumber"@txt.att.net) that way he had redundancy. Just a thought!

AM

I've thought about that too, but I guess I like having the twitter system as a middleman. Then, I can check it from any computer without having to log into email, or I can have someone else check it without having to know my email credentials, etc. For instance, if I'm away for a week and totally offline, I can have friends (or a tanksitter) follow the twitter account.

Having the ethernet shield send an email is inherently "private" - if you don't have access to the email account or the Arduino, you don't have access to the alarm condition. Having it twitter an alarm is inherently "public" - it's more easily accessible, and can act as a distribution method that's configurable without having to hack back into your Arduino (i.e. you can log into twitter and associate email accounts without having to change anything on your controller).
 
That's cool! I think that'd work great from the ethernet shield since it can find the gateway, but would require a little more work with an xbee.

What I may end up doing is hooking a router up to an xbee (saw it on adafruit). That way both ethernet and wifi could operate in the same way. I just looked up the ethernet shield and it's got it's own interface that's too different from the xbee one. Have to add both of them in and maybe have the user select which one they're using. Time to spend some more money and get one of those too.

Now that I'm on the forum I've got so many ideas I can't implement them fast enough lol.
 
Well, the lcd may actually be interchangeble soon. John Crouchley (twitter @jcrouchley) has developed an i2c lcd/keypad interface based on an attiny2313. It's being released open source and I'm thinking of switching to it because I don't really like the bv4218. That's the only part of the project that I hate because I'm making people spend $30 on something that's worth maybe 5 simply because there wasn't anything like it out there (web4robots had issues so I recommended not ordering from them).
 
I'm taking a different approach - I put an MCP23008 on the main board. It's basically an I2C port expander, and I'll use that to drive the LCD. It's maybe $3 in parts, and there are libraries out there to use it for LCD control, so I'll just use one of those.

If people wanted buttons, extra digital I/O, etc. then cheap port expanders like this could be dumped on a shield. Or, the approach I'll probably take, use them in "remote" modules (i.e. a relay board with one of these onboard, or a "float switch interface" with one of these that communicates back to the Arduino via I2C, etc.)
 
I`ve got support for the pcf`s in my code already. It`s just 2 functions... of course some bit math is required and that might get a little tricky for people just getting started.
 
FWIW pretty much all LCDs we'd use are HD44780-based, so technically they're ALL parallel - it's just that some vendors slap a chip on them and call them "serial" (and charge you $10 - $15 of profit vs. what the chip and LCD sell for separately!
 
yeah.. i ordered a parallel-to-serial shift register which was like $2 or something.. hopefully i can make it work. next step is getting the DS1307 library working, which for some reason kept giving me error 92 when i try to compile. sigh.. theres never enough time...
 
Which DS1307 library are you using? I know there's one included with the new(er) Time library example sketches, but there are at least a few others out there.

Can you get it working stripped down, with no other hardware or software? Can you verify that you can talk to the RTC "raw" without the library?
 
Which DS1307 library are you using? I know there's one included with the new(er) Time library example sketches, but there are at least a few others out there.

i'm using the one from google code. I think the problem is I didn't install it right because error 92 is a 'file not found' type thing.

Can you get it working stripped down, with no other hardware or software? Can you verify that you can talk to the RTC "raw" without the library?

I have the sparkfun breakout for it and had it hooked up with nothing else. I didn't try that, don't know how. I was more focused on getting the example code to compile.
 
Back
Top