Tipe data Arduino dalam bahasa C/C++ ( karena Program Arduino adalah bahasa C/C++) adalah sebuah sistem yang di gunakan untuk membedakan jenis dan ukuran pada sebuah variable yang akan kita deklarasi. Seperti apakah sebuah variable itu jenis data nya? apakah karakter seperti ‘a’, ‘b’, ‘c’, dan seterusnya, atau kalimat, seperti “ini adalah kalimat” atau sebuah angka asli sperti 123, 4500, atau bahkan pecahan seperti 2.34, 45,900. Semua jenis data ini harus kita beda-bedakan dalam tipe data. yuk mari kita kenal lebih jauh lagi tipe data apa saja yang ada pada Arduino ( C/C++).
boolean
bool tanda1 = false;
bool tanda2 = true;
boolean tanda3;
boolean tanda4;
void setup(){
}
void loop(){
}
Tipe data boolean hanya bisa menyimpan data true atau false aja, atau 1 dan 0 saja, tidak bisa menyimpan data lebih dari itu, misal berikut contoh yang salah
bool data = 100; // contoh salah
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.println(data);
delay(1000);
}
jadi program di atas adalah salah, jadi akan terjadi overlapping data.
byte
byte pin_sensor = 2;
void setup(){
Serial.begin(9600);
pinMode(pin_sensor, OUTPUT);
}
void loop(){
Serial.println(pin_sensor);
delay(1000);
}
Tipe data byte hanya bisa menyimpan data sebanyak 8bit, atau 0-256. Tipe data ini juga sering di gunakan untuk init pin pin pada arduino.
char
tipe data ini adalah tipe data untuk menyimpan karakter, tipe data ini paling banyak di gunakan untuk mengolah data text nanti nya, contoh nya teman-teman bisa jalan kan program di bawah ini, dan tampilkan di serial monitor.
char chr_data1 = 'j';
char chr_data2 = 69; // code ascii E
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.println(chr_data1);
Serial.println(chr_data2);
delay(1000);
}
Table data ascii bisa teman-teman click link ini ( table data ascii ).
int dan unsigned int
Tipe data ini adalah khusus untuk bilangan decimal. Untuk mikrokontroller 8 bit ( Arduino Uno, nano dan Mega), tipe data int ini hanya bisa menampung data sebanyak -32,768 sampai 32,767 ( 2 pangkat 16 di bagi dua , satu untuk negatif, satu lagi untuk positif)sementara tipe data unsigned int hanya mampu menampung data 0 sampai 65,535 ( 2 pangkat 16 ).
Berbeda dengan tipe mikrokontroller 32 bit ( Arduino ESP32, ESP8266, Arduino Due ) tipe data int di simpan sebanyak 2 pangkat 32 ( di bagi dua, satu untuk nilai negatif, satu untuk bilangan postif ) sementara tipe data unsigned int bisa menyimpan 0 – 2^32 ( 0 sampai 4294967295).
unsigned int data = 4294967295; // maks unsigned int
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.println(data);
delay(1000);
}
long dan unsiged long
Tipe data long dan unsigned long hampir sama dengan tipe data pada int dan unsigned int, hanya saja lebar data nya berbeda. Pada mikrokontroller 8 bit. long bisa menyimpan data 32bit ( 2 pangkat 32, di bagi dua, satu untuk simpan data negatif satu untuk simpan data positif ), sementara untuk unsigned long hanya menyimpan data bilangan bulat dengan nilai maks 2 pangkat 32 ( 0 – 4294967295 ).
long data_positif = 2147483647; // maks positif
long data_negatif = -2147483647; // // maks negatif
unsigned long dt_positif = 4294967295; // maks positif unsigned
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.print("data positif: ");
Serial.println(data_positif);
Serial.print("data negatif: ");
Serial.println(data_negatif);
Serial.print("dt unsigned: ");
Serial.println(dt_positif);
delay(1000);
}
float
Tipe data ini khusus untuk menyimpan data pecahan dengan lebar data -3.4028235E+38 sampai dengan 3.4028235E+38. Tipe data ini biasa di gunakan untuk mengolah data sensor dengan nilai lebih presisi dari pada data integer.
float dt1 = 3.4028235; // maks positif
float dt2 = -3.4028235; // // maks negatif
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.print("data positif: ");
Serial.println(dt1,7); // tujuh di belakang koma
Serial.print("data negatif: ");
Serial.println(dt2,3); // tiga di belakang koma
delay(1000);
}
double
Tipe data double hampir sama dengan tipe data float, yaitu untuk nilai pecahan. Namun lebar data pada double ini lebih lebar dari pada float. Tipe data ini mencapati 2 pangkat 64 ( 64bit ).
Tambahan
Semakin canggih suatu teknologi, maka tipe mikrokontroller juga akan semakin luas memori nya, jadi bisa jadi suatu saat tipe data ini berubah dan tidak sesuai dengan tulisan ini. Jadi pastikan membaca literatur terbaru dalam sebuah produk mikrokontroller jenis terbaru.
Semua code di atas bisa teman-teman uji di modul trainner iot kita,
Sekian dulu tulisan kita, semoga bermanfaat
sumber: tipe data arduino