Hi there, I am new here. I have been lurking for a while and finally registered. I am about 6 months from having my Associates degree in computer and electronics engineering. I hope to continue on to a Bachelors degree in EE next, but for now I am just excited to know this much (not much)! I am still working on how to get the magic white smoke back in IC's, they don't work once you let the magic smoke out.... Anyway, I haven't melted anything in a while so I am feeling lucky and I am wanting to mess around with a few Arduino's and I need to ask a few questions about them. I have three books on them coming but for now I am just reading up on the web (and bugging you guys). First off, I got an A in my C programming class and really liked writing code, do these program in C++ or C orrr? So I would like to get two Arduino's, one that will just check for a few 1's on some inputs, and trigger a relay that will allow 12v DC to pass. The other one I would like to get is the kind of Arduino that will play nice with my Android smartphone (S III). What do you recommend for these? What about that relay? Does it matter what kind or brand it is? For the second one, what kind of programming do I need to learn for the Android side of things? Also, I have Multisim (student version) on my laptop, will that help me at all with Arduinos or are they not on there? How freakin' awesome is it that we have this kind of stuff to tinker with!!? Thanks a lot for any and all tips or advice! See you around, Steve.

If you want to do phone-arduino interaction, this is probably your best bet:http://www.arduino.cc/en/Main/ArduinoBoardADK

There's also this which is essentially a direct competitor but isn't arduino:https://www.sparkfun.com/products/10748?

You can also try to connect via bluetooth. There was (is there still?) an arduino Bluetooth, and I think I've heard of people getting a USB host shield and plugging a USB bluetooth adapter into it. There may be other ways, too.

I haven't tried any of these options since I don't have an android phone. But hopefully those links will get you started.

You'll have fun with Arduino, of the best kind.. where you keep learning new stuff. And doing hands-on development all the time you are in school is really important, in my opinion, to seeing where all those subjects fit in.

A few thoughts:

- Relays and controlling power with Arduino: http://arduino-info.wikispaces.com/ArduinoPower

- Android Phone/Tablet communications: You can talk to a "regular" Arduino if it has a Bluetooth or WiFi interface. See stuff like:https://play.google.com/store/apps/details?id=name.antonsmirnov.android.arduinocommander&feature=search_resultand Google "Arduino Android" for lots more.

- Don't worry about the programming. Do learn about doing cool stuff with limited resources like I/O pins, memory, speed. Look at the Arduino Mega which has lots more pins and memory. See http://arduino-info.wikispaces.com/QuickRef

Lots of info on http://ArduinoInfo.Info Maybe start with http://arduino-info.wikispaces.com/Arduino-What-IS-it

And get some bunch of components and breadboard like a Starter Set from Adafruit, YourDuino, Sparkfun. See the hands-on "LEARN! ARDUINO - A HANDS-ON APPROACH" pages here: http://arduino-info.wikispaces.com/YourDuinoStarter

And you'll find many friendly enthusiasts like Nick and others here. As you become a good Engineer one of your best abilities will be to ask good questions. Often.

Hmmmm.....paragraphs you say? :~Just kidding, thanks for the replies and links, that ought to keep me busy for a few days! XDI look forward to learning enough about this stuff to at least have better questions next time. Thanks again all! Steve

It's a subset of C++. Obviously, there is no keyboard, screen, or file storage in a standard Arduino, so that part of the C/C++ library is not supported. (As far as I know the STL containers are not supported either.) I assume you've found the Arduino Language Referece, and Here is the full AVR library reference.

And, I haven't seen anyone using object oriented programming. One reason might be the limited RAM. (The program code lives in Flash, but objects are created in RAM.)

C started in the very early 1980's. In the 1990's they started thinking about extending C and came up with C++. C++ supports every thing in C. Any program written in C will build and run using the C++ compiler. The name C++ is an in joke but I'll let people here find that out for them selves.

Take a look at netbeans which gives you, for free C/C++, Java and loads of other stuff. There are also other free IDE's.