Mengambil data angka dibelakang koma pada data desimal dengan arduino

Mengambil data angka dibelakang koma pada data desimal dengan arduino

Size
Price:

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

  1. maaf izin bertanya, untuk menampilkan data Serial.println (DecimalPart); ke lcd 16*2 menggunakan code yang bagaimana ya?, terima kasih

    ReplyDelete

Silakan dikomentari

Contact form

Name

Email *

Message *