Variabel digunakan untuk menyimpan atau memindahkan angka maupun karakter didalam program. Variabel merupakan sebuah cara untuk menamai dan menyimpan sebuah nilai yang akan digunakan pada program, seperti data dari sensor atau sebuah nilai sementara pada sebuah perhitungan. Sebelum variabel digunakan, variabel harus di deklarasikan terlebih dahulu. Mendeklarasikan sebuah variabel berarti mendefinisikan tipe variabel dan mungkin saja dapat juga memberikan inisialisasi nilai pada variabel tersebut. Variabel tidak harus diberikan nilai ketika dideklarasikan tapi hal tersebut juga sering berguna jika dilakukan.
Contoh :
//ini deklarasi variabel dengan nama Variabel_InputA.
int Variabel_InputA;
//ini deklarasi variabel dengan nama Variabel_InputB dengan nilai awalnya 0.
int Variabel_InputB = 0;
Seorang programmer harus mempertimbangkan rentang nilai tipe variabel sebelum menyimpan sebuah nilai. Pada variabel akan terjadi roll over ketika nilai yang disimpan melebihi rentang nilai yang diberikan untuk menyimpan pada tipe data tersebut. Ketika terjadi roll over maka variabel akan kembali ke kapasitas minimum variabel dari rentang yang ada.
Contoh :
int x
x = 10;
x = x - 1;
// x sekarang berisi 10. Roll over dari negatif.
x = -10;
x = x + 1;
// x sekarang berisi -10. Roll over dari positif.
Catatan penting untuk pemberian nama variabel adalah kita dapat memberikan nama variabel sesuai keinginan kita, namun hindari pemberian nama variabel diawali dengan angka dan hindari keyword (Kata Kunci) yang digunakan oleh Arduino.
Variabel dalam bahasa C yang digunakan Arduino memiliki properti yang disebut dengan scope. Hal ini tentu sangat berbeda dengan bahasa BASIC, karena semua variabelnya adalah variabel global.
Variabel global adalah variabel yang dapat digunakan oleh semua fungsi di dalam program. Variabel lokal adalah variabel yang hanya dapat digunakan di dalam suatu fungsi tempat tersebut di deklarasikan. Dalam ruang lingkup Arduino, semua variabel yang di deklarasikan di luar suatu fungsi (misalnya setup(), loop(), dan fungsi-fungsi lainnya) adalah variabel global. Ketika program semakin besar dan kompleks, maka variabel lokal sangat bermanfaat, karena variabel lokal pasti hanya di akses oleh satu fungsi yang memilikinya. Hal tersebut mencegah kesalahan pada pemrograman yang dikarenakan suatu fungsi mengubah isi atau nilai dari suatu variabel yang digunakan oleh fungsi yang lain. Berikut ini contoh dari scope dari suatu variabel :
int gPWMval; //semua fungsi dapat menggunakan variabel gPWMval ini
void setup()
{
//variabel yang ada di dalam fungsi setup hanya dapat digunakan oleh fungsi setup saja
}
void loop()
{
int i; //variabel "i" hanya dapat diakses didalam fungsi loop
float f; //variabel "f" hanya dapat diakses didalam fungsi loop
for (int j = 0; j < 100; j++)
{
//variabel "j" hanya dapat diakses didalam perulangan for saja
}
}