I'm very new to arduino, i had never used it, just saw it in action and really like this thing..
I don't know where to start, which one to buy, there are a lot of arduino models, some friend recommended me Arduino ONE, but i'm not sure if it can support c++ since it is my language of use.
Then, i saw on internet sales places some providers sell only the arduino board, and in other places they sell the whole starter kit... so, i was wondering if i buy the Arduino board here (in arduino.cc) where can i get the rest of the parts?..
Unless you have a specific product in mind, to get your feet wet, I would buy a starter kit. Gives you something to play with.
You can shop around in the country where you live for additional 'parts' or on ebay (but there might be a lot of stuff there that is not what it says it is). Reputable shops seem to be digikey, sparkfun and adafruit (all based in the US if I'm not mistaken).
The language is mostly C++, some of the core libraries are written in C. It's my understanding that not everything of the C++ language is implemented (I'm a C programmer so can't quite point out what would be missing).
digimikeh:
I don't know where to start, which one to buy, there are a lot of arduino models, some friend recommended me Arduino ONE
It's actually called the "Uno". It's the same name in any language. The Uno is a very nice board. The ATmega328P microcontroller used on the Uno has the best official and community support and is the easiest to work with. There are two very popular boards that use the ATmega328P: the Nano and the Uno. The primary advantage of the Uno is that you can use it with Arduino shields, which are circuit boards with various accessories on them (e.g., Ethernet, motor driver, etc.) that can be plugged into the Uno, making all the necessary circuit connections for you. The primary advantages of the Nano are that it is smaller (making it easier to incorporate into a final project) and that it plugs into a solderless breadboard (making it easier to prototype circuits).
digimikeh:
i'm not sure if it can support c++ since it is my language of use.
The "Pre-Processing" section of this page might be useful to a C++ programmer in understanding the minor differences between the Arduino programming language used in the .ino files of sketches and C++:
The language is the same for all Arduino boards. So your C++ knowledge will be very useful for programming the Uno.
digimikeh:
i was wondering if i buy the Arduino board here (in arduino.cc) where can i get the rest of the parts?..
Arduino does sell a Starter Kit if that's what you want:
but the idea of buying a board and then the specific parts you are interested in is fine also.
"Then, i saw on internet sales places some providers sell only the arduino board, and in other places they sell the whole starter kit... so, i was wondering if i buy the Arduino board here (in arduino.cc) where can i get the rest of the parts?.."
A starter kit may may be of value if it is at a reasonable price (ebay is a large source). About the only way to get small electrical components now days is via the mail system, which takes time and often postage cost. Getting an assortment of basic components in one package might be a good and quick way to get started.
boolean (8 bit) - simple logical true/false, Arduino does not use single bits for bool
byte (8 bit) - unsigned number from 0-255
char (8 bit) - signed number from -128 to 127. The compiler will attempt to interpret this data type as a character in some circumstances, which may yield unexpected results
unsigned char (8 bit) - same as 'byte'; if this is what you're after, you should use 'byte' instead, for reasons of clarity
word (16 bit) - unsigned number from 0-65535
unsigned int (16 bit)- the same as 'word'. Use 'word' instead for clarity and brevity
int (16 bit) - signed number from -32768 to 32767. This is most commonly what you see used for general purpose variables in Arduino example code provided with the IDE
unsigned long (32 bit) - unsigned number from 0-4,294,967,295. The most common usage of this is to store the result of the millis() function, which returns the number of milliseconds the current code has been running
long (32 bit) - signed number from -2,147,483,648 to 2,147,483,647
float (32 bit) - signed number from -3.4028235E38 to 3.4028235E38. Floating point on the Arduino is not native; the compiler has to jump through hoops to make it work. If you can avoid it, you should.
You should always select the 'data type' best suited for your variables.
ex:
your variable does not change and it defines a pin on the Arduino. const byte limitSwitchPin = 34;
since an analog variable can be 0 to 1023, a byte will not do, you can select 'int'. ex: int temperature;
if your variable needs to be within -64 to +64 a 'char' will do nicely. ex: char joystick;
if your variable is used for ASCII then you need type 'char', ex: char myText[] = {"Raspberry Pie Smells"};
if your variable enables some code then boolean can be used. ex: boolean enableFlag = false;
millis() returns the time in ms since rebooting, ex: unsigned long currentTime = millis();
etc.