Read more
terkadang kira perlu memecah data dari sebuah bilangan decimal / pecahan
semisal angknya adalah 25.9085
kita perlu pisah kan angka 25 sebagai angka pokok
dan angka 9085 sebagai angka decimal di belakang koma untuk kemudian dilakukan proses / manipulasi semisal untuk ditampilkand i LCD/ display dot matrix dan sebagai nya
code
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
float dataadc=analogRead(A0)/3.2;
Serial.println (dataadc);
ExtractDecimalPart(dataadc);
delay(1000);
}
void ExtractDecimalPart(float Value) {
int IntegerPart = (int)(Value);
int DecimalPart = 10000 * (Value - IntegerPart); //10000 b/c my float values always have exactly 4 decimal places
Serial.println (DecimalPart);
int y1 = DecimalPart % 10;
int y2 = (DecimalPart / 10) % 10;
int y3 = (DecimalPart / 100) % 10;
int y4 = (DecimalPart / 1000) % 10;
Serial.println (y1);
Serial.println (y2);
Serial.println (y3);
Serial.println (y4);
}
sedikit penjelasan
fungsi void ExtractDecimalPart(float Value) {
berguna untuk mendapatkan angka di balakang koma (angka desimal)
sedangkan code
int y1 = DecimalPart % 10;
int y2 = (DecimalPart / 10) % 10;
int y3 = (DecimalPart / 100) % 10;
int y4 = (DecimalPart / 1000) % 10;
berguna untuk memecah angka decimal yang ada
dalam hal ini
y4 akan berisi data ribuan digit ribuan
y3 akan berisi data ribuan digit ratusan
y2 akan berisi data ribuan digit puluhan
y1 akan berisi data ribuan digit satuan
sekian sharing dari kami semoga bermanfaat
salam ngoprek
1 Reviews
maaf izin bertanya, untuk menampilkan data Serial.println (DecimalPart); ke lcd 16*2 menggunakan code yang bagaimana ya?, terima kasih
ReplyDeleteSilakan dikomentari