Understanding Variables: Arduino Course for Absolute BeginnersBy Robolab Technologies In Arduino, Atal Tinkering Labs ATL, More Info
A variable is like a bucket. You choose what types of stuff you want in the bucket and can change the contents as often as you like. When you declare a variable, you are telling the program two things, firstly – what types of things you plan to put in the bucket, and secondly, what the name of the bucket is so you can refer to it later.
If you tell the program you will be putting fluids in the bucket, than you can go all day filling it with beer, water, and iced tea – but the second you try to fill it with rocks, the compiler will call you out on your discrepancy. Only fluids go in a bucket declared for fluids. To declare a variable, you write the type of contents it will hold followed by the name:
Notice in the above declaration statement that the word fluid is a different color – that is because Arduino knows variable data types – and they get a special color to reduce confusion and of course, because they are cool.
There are several types of variable data types you can declare. In this lesson we will discuss the integer data type.
You probably know that an integer is a whole number (no decimals). For Arduino an integer is a number from -32,768 to 32,767. If you try to put a number bigger than that into an integer variable, the value will roll over to the opposite side like a game of Pac Man. If you add 5 to 32,767, you would get -32,764. If you subtracted 5 from -32,768 you would get 32,763.
Integer is abbreviated int. Since an integer is an Arduino data type, it will change color to an orange.
int led; // an integer variable called led.
The name of the variable can be whatever you want with certain restrictions. There are also a couple good conventions to follow…
The variable name should be descriptive of its function, for example the ledPin variable could be the pin number that you put your LED into on your Arduino board.
By convention, most variables start lowercase.
Variable names cannot be the same as keyword names.
Now what if we want to put something in the bucket? Well we assign a value to the variable. When we first assign the value, it is called initialization, and we use the equal sign to do so.