Controller project, questions for the coders out there

Fredfish

New member
Under normal circumstances I would just go with one of the existing arduino variants and call it a day, but my son fancys himself a coder, so I'm looking for a project to keep him entertained until he heads off to university this fall.

His background is a couple of high school level courses using python.

I noticed a project here using c# and from a bit of reading it sounds like a mashup of .net, java and C++, so I thought it might provide my son some good exposure to the concepts embodied in these various languages.

I had hoped to get him into a C# course locally but the timing does not work, so I'm hoping some of you here can help point him to online resources to get a handle on the language.

So, what say you experienced coders, is this a good approach for someone who wants to get their feet wet?
 
Sure - except if he makes a mistake, your tank's at risk.

Never used python, but there are plenty of online sites with tutorials on C & C++ Have him start out with the example Arduino sketches and build on them.
 
nothing wrong with an arduino..
Its wiring language is basically C with some "easy buttons" thrown in or you can code in all in C if you want.
There is a nothing about an arduino to make a "coder" stick up their nose at it.

nice of you to try to keep him out of trouble till he goes away to a university.. Of course I'm sure he's got girls and beer and freedom on his mind already. :)
 
Look @ netduino for c#, or you can go arduino which is VERY low level c for any libraries that are not already built.

As someone who codes for a living, I would just say, buy a reef angel and go from there. I personally have a project about 1/2 done using the Digix (Arduino Due variant), and a 4d Systems Screen (uses a setup similar to Visual Basic) and even then, it's been a massive project.
 
Thanks for the replies so far.

Sleepydoc. Yup, there is always a risk, however, I'm not working with a tank populated with expensive livestock. In fact, I was not planning to set up a tank until he was off to university (will be moving), so I can set up a tank with existing equipment and populate it with inexpensive frags and fish like mollies to minimize any risk.

I figure that if things do not go well with the programming, I can always just use working code from some other project out there and call it a day.

Meldrath. It was netduino I was thinking of for C#, if there is some additional benefit benefit to my son over standard arduino programming from a learning perspective (such as exposure to technologies like .net). As a start, this is more about giving my son some experience with a real programming language.

I guess the main question I have is whether or not C# offers any additional learning opportunity for my son. The secondary question would be if one would be easier than the other to learn on your own.

nice of you to try to keep him out of trouble till he goes away to a university.. Of course I'm sure he's got girls and beer and freedom on his mind already. :)
Ha! He's a pretty good kid, so I'm not to worried about him getting into trouble. For some strange reason, he doesn't drink. Maybe I did something wrong when I encouraged him to try beer, wine and the like. Did I screw up not sticking to the tried and true "Not 'till you're of age" line? :lolspin:
 
My controller is based on a netduino Plus 2.

As for "industry" pluses, does he want to work in embedded technologies? C# is portable up the supply chain (we employ 50 C# programmers but none in the embedded field) where as Arduino's C-Based language isn't quite as portable, but solid programming concepts work across languages.

I am a pretty big fan of the netduino, the visual debugging is super nice. Remembe, just let him run the whole system on a throw away tank for a while to get all the bugs out :)
 
Hi Chris. I was hoping you would reply here. It was your netduino project that got me thinking about this project.

As for "industry" pluses, does he want to work in embedded technologies?
No idea. It this point, I'm quite happy he is interested in something (at his age, I had no idea what I wanted to do). I'm hoping he will be accepted at a university where he has opportunity to go in whatever direction he eventually finds most interesting.

I am a pretty big fan of the netduino, the visual debugging is super nice.
I would think this is a big plus for someone new to programming.

Remember, just let him run the whole system on a throw away tank for a while to get all the bugs out
That's the plan.
 
Hi Chris. I was hoping you would reply here. It was your netduino project that got me thinking about this project.
cool it's a fun platform.

No idea. It this point, I'm quite happy he is interested in something (at his age, I had no idea what I wanted to do). I'm hoping he will be accepted at a university where he has opportunity to go in whatever direction he eventually finds most interesting.

What I will say is that C# is more industry mobile than arduino code outside of embedded tech, and even possibly just as mobile there (I don't have the experience to know). It's syntax is very similar to Java, and .net programmers tend to demand the higher side of the pay scale due to a lack of talent pool. (Source: I am a product manager at a company that employs Java, .Net, C, C++ programmers). One thing to note is that a step into programming basics and getting solid fundamentals, on any language, is a leg up on computer programming 101.


It's a great project and if I hadn't done the LED lights it would have been pretty affordable too. What I would start with if going down the Netduino road:

N+2
Temp Sensor
LCD Screen
Real Time Clock

Get it outputting the temp reliably - use the thermostat on the heater as a backup but add temp control to the system (Set heater at 80 set your controller to 79 sort of thing)

Add some relays for outlet control - if you have MH or on/off lighting control those otherwise use the button on the board and the outlets to control pumps for feed mode if you don't have Vortechs.

Get a few float switches and a pump- add ATO.

Get a stamp and sensor- add pH.

If he's into it, it's a great way to see if he likes programming and the challenge of creating something.
 
That's interesting feedback on what's in demand, though that could change in 4 years. Not really related to anything, my boss is just getting up to speed on vb.net so we can convert our current apps from Foxpro. He hates it because it is very difficult to do the stuff he wants to and can easily do with the long dead Foxpro.

I'm starting from ground zero with the tank. I have an empty 65 and some random equipment left over from when I kept seahorses. The project can pretty much start wherever is easiest.

For lighting, I'm probably going to go with a Lumia 5.2 setup a la Aqualund.

I have a couple of pumps I can use for circulation for now (hopefully they still fire up), but will probably go with Jebao WP25s for the final tank setup.

What are you using for an IDE? Does Visual Studio support C#? I may have access to a full license. OK, looks like it does.

Hmm, that gives me an entirely different idea of the 'internship' variety...

Anyway, is visual studio a good route to go if I can borrow the full blown version for a while?
 
No need to get a full version the free express versions are full featured and what is suggested for netdunio. I use the expensive version but only because work provides us all msdn subs. Good solid getting started tutorials over at netduinos site.

You can program the netdunio with VB, I encourage you not to- it's a dying language and isn't as much of a help syntax wise with future languages.
 
OK, we have liftoff. I've cleaned up an old laptop (Vista) and loaded Visual c# 2010 express. My son loaded a hello world example and figured out the basic structure of the code and noted the obvious differences from Python.

He's going to find some basic examples to figure out code structure stuff.

I've found a Canadian sourece for the Netduino board and temp probe. I'm guessing that I can find a real time clock and lcd from the same source.

For the display, I havn't a clue what I need/want. I'd like to add wireless capability to this controller to make it easy to connect to and program. The best solution would be a web interface to do programming. So, given that, what do I need for an LCD screen?

Now for the hard part. I've never done anything electronics related, so I have absolutely no idea how to put this all together or what other parts I would need. From pics I've seen, I presume I need some sort of breadboard to do the initial testing and then some other method to permanently assemble and house all this stuff.

I've got access to a basic soldering station at work and to some folks who can teach me how to solder so that's covered for now.

Any and all help so that I can complete my list of things to buy would be greatly appreciated.

On a side note my son got his first university acceptance letter yesterday. Things are coming together nicely.
 
Back
Top