Pada tutorial project Arduino kali ini akan diulas mengenai trick bagaimana mengubah suatu data dengan jenis float menjadi String. Hal ini dapat berguna dalam suatu aplikasi yang mengolah jenis data tertentu, namun data yang ada menggunakan jenis yang berbeda. Berikut contoh mengubah data float menjadi String dengan Arduino dan sensor suhu LM35.
Wiring
Berikut ialah gambar wiring Arduino dengan sensor suhu LM35.
Dengan satu pin LM35 ke Vcc, satu lagi ke Ground, dan satu lagi ke pin analog Arduino A0.
Sketch
Berikut ini source code (sketch) Arduino yang digunakan untuk mengubah data float menjadi String.
/*
Program Arduino mengubah data float menjadi String
Loki Lang
*/
void setup()
{
Serial.begin(9600);
}
void loop()
{
float temp;
String stringVal = "";
int lang;
lang = analogRead(A0);
delay(10);
temp = lang * 500;
temp /= 1023;
stringVal += String(int(temp)) + "." + String(getDecimal(temp));
Serial.print("Nilai suhu ");
Serial.println(stringVal);
delay(1000);
}
long getDecimal(float val)
{
int intPart = int(val);
long decPart = 1000*(val-intPart);
if(decPart>0)
{
return(decPart);
}
else if(decPart<0)
{
return((-1)*decPart);
}
else if(decPart=0)
{
return(00);
}
}
Program Arduino mengubah data float menjadi String
Loki Lang
*/
void setup()
{
Serial.begin(9600);
}
void loop()
{
float temp;
String stringVal = "";
int lang;
lang = analogRead(A0);
delay(10);
temp = lang * 500;
temp /= 1023;
stringVal += String(int(temp)) + "." + String(getDecimal(temp));
Serial.print("Nilai suhu ");
Serial.println(stringVal);
delay(1000);
}
long getDecimal(float val)
{
int intPart = int(val);
long decPart = 1000*(val-intPart);
if(decPart>0)
{
return(decPart);
}
else if(decPart<0)
{
return((-1)*decPart);
}
else if(decPart=0)
{
return(00);
}
}
Lihat juga mengenai penggunaan convert float to String dalam tutorial pembacaan suhu dari Arduino dan dikirimkan ke Processing.
Bila ada sesuatu yang belum jelas dan ingin tahu lebih dalam seputar project Arduino, pemrograman, dan elektronika, bisa bertanya pada bagian comment.