I am new to arduino and to programming. ladder logic is as close to a any programming experience that I have. So I have chose to go big for my first project and interface several arduinos with an android device. I would like to change how the arduino reacts to sensors and activate a motor and stop the motors with sensors. I have an Rboard from Itead studio which has an atmega328p and an xbee on board. I ralize that I will have to right a sketch for each mode if you will and change that mode with the android device. I also want to count motor actuations and display them on the android device. My question is what language should I program this in? I want to learn a language ,but would rather not learn several. I have read about the eclipse development software and many other programming aids. I am still a litttle cloudy on the best one to use. processing is the language I would go with if someone does not change my mind .Thanks so much for reading this post!
The Arduinos are programmed using C++. You don't get a choice.
So C++ is the base program and processing is some kind of shell? I have been reading that processing has more capability than just c++ can someone give me more insight to the difference.
weldsmith: I would like to change how the arduino reacts to sensors and activate a motor and stop the motors with sensors. My question is what language should I program this in?
It sounds like you are into some sort of robot. Here is a link about programming Arduino for robotics using JBasic. I'm not sure how good an idea this is and I am getting by with the C++ examples, but JBasic is pretty much the same as other Basics, a hell of a lot easier to learn than C++, and it's free. C++ is more powerful and efficient than Basic, but you may find JBasic is adequate for your purpose and this is worth following up.
weldsmith: So C++ is the base program and processing is some kind of shell? I have been reading that processing has more capability than just c++ can someone give me more insight to the difference.
The Arduino IDE provides a development environment which can be used to create programs that run on the Arduino microcontrollers. The programs are written in C++. C++ is a very widely used programming language.
Processing is a programming language which is designed to create visual applications to run on a PC. It comes with its own development environment. I understand Processing was originally based on Java. Java is a very widely used programming language.
Thanks for the reply I am starting some kind of programing tommorrow. :D I plan to use the arduino IDE and keep it simple, get the motors to stop and move etc. I do not see this being a problem but, will I be able to interface with android app of my design. I will probably farm that part out but I am trying to avoid to many do overs!!! if any one has any suggestions on the android connectivity that would be greatly appriciated.
You have other choices to program Arduino/AVR, but C/C++ is probably your best choice.
What I don’t understand is why new people with little or no experience in programming choose big things to start with instead of, say, something like learning through tutorials and examples and -then- smaller code of your own?
How do you expect to know what directions to take when you don’t know what you can do, what you can make work? You are either asking for a long hard road or expecting others to do it for you.
I can understand where you are coming from. I am new and do have an ambitious project.
I am not some one who wants to light up a few LEDs I have done that, the blinking LED and even used the pwm to brighten and dim an LED. I will continue to tinker. All I want to know is when I am tinkering with the Arduino IDE am I using an environment that will interface with the android platform or should I start with something else that maybe universal for the two platforms.
Be aware that there are some special considerations when using Arduino and Android. Freetronics make an Arduino that is specifically designed to cooperate with Android. I don't know how unique that is. You might also need to know about Handbag. http://www.doctormonk.com/2011/11/handbag-android-and-arduino-without.html This enables the Arduino to properly instruct the Android and absolves you from writing Android code.
Good news then that you have done some of the exercises. I for one like that you have spirit but I did feel it necessary to give you some warning, big projects can be big gumption traps.
You can probably talk to Android from Arduino using wifi. I've seen BT modules for Arduino.
The thing is, how much space and how much speed will your project need? That will partly depend on how you code. Most people buffer everything and then play at string manipulation after. Others do their I/O one character at a time and only store what's necessary which requires different thinking, it's not what's usually taught. So depending how you pare things down and the time you're willing to spend may make the difference between -which- Arduino you will need.
The more you lay on the Android (that has way more resources), the less you have to make the Arduino do.
I have looked at hand bag and may use it to play with but, it seems a quality app creation is not an option. I could be completely wrong, I only skimmed the APP when I looked at it. I found out about the ADK boards after I bought a mega 2560. I believe there are only a few minor differences. I am not opposed to buying one for this project. What the heck it's only Money.
Good Point! I have been aware of the memory limits. I think I will be fine. I will be using the Rboard with Xbee on board each motor unit. The programming on each unit is minimal (see a signal move the motor until a limit is reached and get a signal and move it again, send a signal wirelessly back letting the base unit know it has acuated). There will be an adruino Mega 2560 with a dual bee shield with Xbee and wifi bee on this base unit. This is the unit that will be the coordinator for all of the units and it will talk to the android device via wifi. The 2560 will carry the bulk of the code that it needs for that mode of operation. Now the fuzzy part starts. The serial communication between the 2560 and the android with two different languages. Ultimately I would like the android to download new programs to the 2560 to change the mode of operation. The android would carry all of the unused code and only load to the 2560 as needed. is there some sort of translator? Maybe it is the handbag app or something alike?